通过nginx实现多个域名访问同一个服务器

Posted 溶洞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过nginx实现多个域名访问同一个服务器相关的知识,希望对你有一定的参考价值。

一台服务器通过nginx配置多个域名(80端口)

1. 问题描述

多个域名对应一个服务器,为了避免域名后增加端口号,两个域名都需要占用80端口号,使用nginx来进行配置。

2. 解决方案

目前项目中,线上正在使用(100%可用)多域名对应一个服务器情况(线上ip及域名替换了下)

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;


    server {
        listen       80;
                server_name  test1.hbusy.com; 

        location / {
            root   html;
            index  index_test1.html index_test1.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
     
     upstream visitip{
        server 192.168.0.11:3107;
     }    
    server {
        listen       80;
        server_name  test2.hbusy.com www.test2.hbusy.com;

        location / {
            proxy_pass   http://visitip;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size    2000m;

            proxy_connect_timeout 3600;
            proxy_send_timeout 3600;
            proxy_read_timeout 3600;
        }
    }
}

3. 方案说明

其实主要分两步:

第一步就是配置域名对应ip地址;第二就是在nginx中配置两个server(端口都为:80)。

以上是关于通过nginx实现多个域名访问同一个服务器的主要内容,如果未能解决你的问题,请参考以下文章

通过Nginx为网站配置二级域名并访问指定项目

Nginx如何配置多个服务域名解析共用80端口详解

nginx实现反向代理 配置多域名以及多端口号

一个域名通过nginx映射多个网站

nginx根据域名转发

nginx代理简单配置实现修改网站域名