nginx常用命令 | 同一台云服务器开两个nginx 不同端口 二级域名映射

需求如下

主站:www.abc.cn

二级站1:one.abc.cn(服务位于云服务器http://ip:8001)

二级站2:two.abc.cn(服务位于云服务器http://ip:8002)

目前域名解析时,one和two都定向了同一个云服务器ip的80端口,现在要访问one.abc.cn时调8001端口,访问two.abc.cn时调8002端口。

方案:开两份nginx(虽然这样不太主流),其中红色是主站www.abc.cn,蓝色是二级站one.abc.cn

红色主站的配置文件如下(主站资源放在红色html中):

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


    server {
        listen       80;
        server_name  *.abc.cn;
		
		if ($http_host ~* "^(.*?)\.abc\.cn$") {    #正则表达式
            set $domain $1;                     #设置变量
        }
		
        location / {

			if ($domain ~* "one") {
               proxy_pass http://abc.cn:8001;      #域名中有one,转发到8001端口
            }
			if ($domain ~* "two") {
               proxy_pass http://abc.cn:8002;      #域名中有two,转发到8002端口
            }

			tcp_nodelay     on;
            proxy_set_header Host            $host;
            proxy_set_header X-Real-IP       $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            #以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上
			
			#默认情况80时进入主站nginx的html文件(放着主站的资源)
            # root   C:/vae;
			root   html;
            index  index.html;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
	    add_header 'Access-Control-Allow-Origin' '*';
    }
}

蓝色one站配置如下(one站资源放在one的nginx的html文件夹里,这里只改了个端口号8001,默认是80):

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

    server {
        listen       8001;
        server_name  one.abc.cn;

        location / {
            root   html;
            index  regtime.html;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

完成后,分别进入两个nginx启动服务。

如果启动了没正常执行,在任务管理器中停掉多余的nginx.exe

如果还不行,就在防火墙运行通过的名单中加上这些.exe。


1、启动:

C:\server\nginx-1.0.2>start nginx

C:\server\nginx-1.0.2>nginx.exe

注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。

2、停止:

C:\server\nginx-1.0.2>nginx.exe -s stop

C:\server\nginx-1.0.2>nginx.exe -s quit

注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

3、重新载入Nginx:

C:\server\nginx-1.0.2>nginx.exe -s reload

当配置信息修改,需要重新载入这些配置时使用此命令。

4、重新打开日志文件:

C:\server\nginx-1.0.2>nginx.exe -s reopen

5、查看Nginx版本:

C:\server\nginx-1.0.2>nginx -v

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值