服务器迁移,多域名绑定本地80端口,nginx实践

近期租用服务器到期,本来租用的两台本地网服务器,变更为一台云服务器,涉及到网站的迁移问题。先来吐槽云服务器,网络高峰期,上传文件太慢了,1M的包传了30分钟都没搞定,不知道各位有没有遇到这样的问题。

不讲废话了,开始正题,公司本来有四个域名,对应到两台服务器上,现在集中布设到一台服务器上,按我的理解,直接在域名绑定中,将域名指定到服务器的某个端口上,当然这也是查看了相关文档才做出的结论,可能我对文档的理解有问题,文档万网云解析设置二级域名解析到同IP不同端口。把方案给领导后,领导说,你不是会用nginx吗,再去深入了解一下,域名只能指定到80端口,不可能按你的说的,每个网站指定到不同的端口上。

话说,我是程序员,不是运维,这个确实了解的不深。不过通过查阅文档终于搞出来:
其中涉及了了从A服务器跳转到B服务器,还有不同域名访问,指向不同的本地端口,前后端分离项目配置。
1,从A服务器跳转到B服务器配置:
A服务器配置:

	server{
	listen 80;
	server_name www.aaa.cn   aaa.cn;
	
	location 	/{
        proxy_redirect off;			
		proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";		
		proxy_set_header Host $host;
		proxy_pass_header User-Agent; 
        proxy_pass http://www.abc.cn:9000/;
		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;
    }	
	} 

B服务器配置:

server {
    listen 9000; 
	   server_name  www.abc.cn abc.cn;
        location / {		
        proxy_pass http://127.0.0.1:8888; 
		}
}

2、不同域名的80端口访问不同本地项目配置:


#域名1
server {
    listen 80;
        server_name  www.abc.com abc.com;
		index index.html index.htm index.php;
        location / {
           proxy_pass http://127.0.0.1:8080;
        }
}
#域名2
server {
    listen 80;	    	
        server_name  www.efg.cn efg.cn;
		index index.html index.htm index.php;
        location / {
		proxy_redirect off;	
		proxy_set_header Host $host;
		proxy_pass_header User-Agent; 
        proxy_pass http://127.0.0.1:9090; 		 
		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;   
		}
}

3、前后端分离项目

server {
    #前端访问接口
    listen 80;
	server_name  www.jdcrm.cn jdcrm.cn;
    index index.html index.htm index.php;
    # gzip config
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";    
    root /usr/share/nginx/html;    
    location / {
        # 用于配合 browserHistory使用
        root html/dist;
        index index.html index.htm;
        try_files $uri $uri/ /index.html;     
    }
    #公网页面访问的项目
	location /api/{
        proxy_redirect off;			
		proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";		
		proxy_set_header Host $host;
		proxy_pass_header User-Agent; 
        proxy_pass http://127.0.0.1:9090/;
		proxy_read_timeout 86400s;
        proxy_send_timeout 86400s;
		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;
    }
    #局域网内访问的项目
    location /serverIp/{       
		proxy_redirect off;	
		proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";		
		proxy_set_header Host $host;
		proxy_pass_header User-Agent; 
        proxy_pass http://192.168.0.80:80/;
		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;
    }
 }

到此,域名均能正常访问,域名与服务器端口绑定工作完成,nginx减少了服务器对外暴露过多端口的问题,提高了服务器的安全性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值