详细介绍了多端口多网站Nginx域名访问的实现。根据示例代码在原文中非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。
几个网站部署在一个网络服务器上,必须对外开放几个端口才能访问不同的网站。步骤很简单,调整需要2个小时。记录:
多端口访问主网站域名
在DNS名称服务器中设置记录
Www.xxx.com偏向于服务器ip。
向外界开放所需的端口,并更改nginx环境变量
例如,您有两个服务项目,分别在端口80和端口8080对公众开放。
如果iptable可用,首先向外界开放端口:
iptables-AINPUT-ptcp--dport80-jACCEPT iptables-AINPUT-ptcp--dport8080-jACCEPT更改环境变量:
#path:/usr/local/nginx/conf/nginx.conf server{ listen80; server_namewww.xxx.com; access_log/data/www/log/33.33.33.33_nginx.logcombined; indexindex.htmlindex.htmindex.php; include/usr/local/nginx/conf/rewrite/none.conf; root/data/www/website/33.33.33.33:80; location~[^/]\.php(/|$){ fastcgi_passunix:/dev/shm/php-cgi.sock; fastcgi_indexindex.php; includefastcgi.conf; } location~.*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)${ expires30d; access_logoff; } location~.*\.(js|css)?${ expires7d; access_logoff; } } server{ listen8080; server_nameA.xxx.com; access_log/data/www/log/33.33.33.33:8080_nginx.logcombined; indexindex.htmlindex.htmindex.php; include/usr/local/nginx/conf/rewrite/none.conf; root/data/www/website/33.33.33.33:8080; location~[^/]\.php(/|$){ fastcgi_passunix:/dev/shm/php-cgi.sock; fastcgi_indexindex.php; includefastcgi.conf; } location~.*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)${ expires30d; access_logoff; } location~.*\.(js|css)?${ expires7d; access_logoff; } }重要的是,配备了两个服务器段,您还可以将这些服务器段分解成两个环境变量,并将它们放入
/etc/nginx/conf.d/文件目录下;
二级域名多端口访问
这种访问很傻,因为你对8080端口的访问必须是http://xxx.com:8080的文件格式;
而如果有两个不同的cgi,比如端口80匹配一个phpweb服务,端口8080匹配一个nodejsweb服务;而且everyone的nodejs内置web服务已经在端口8080上被监听了。我该怎么办?
这时候就要有Nginx的反向代理功能,在DNS服务器上提升一个A记录,最后完成。
提高一个A记录
A.xxx.com偏向于服务器ip。
Nginx配备了以下模板:
#path:/usr/local/nginx/conf/nginx.conf server{ listen80; server_namewww.xxx.com; access_log/data/www/log/33.33.33.33_nginx.logcombined; indexindex.htmlindex.htmindex.php; include/usr/local/nginx/conf/rewrite/none.conf; root/data/www/website/33.33.33.33:80; location~[^/]\.php(/|$){ fastcgi_passunix:/dev/shm/php-cgi.sock; fastcgi_indexindex.php; includefastcgi.conf; } location~.*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)${ expires30d; access_logoff; } location~.*\.(js|css)?${ expires7d; access_logoff; } } server{ listen80; listen[::]:80; server_nameA.XXX.com; proxy_connect_timeout300s; proxy_send_timeout300s; proxy_read_timeout300s; fastcgi_send_timeout300s; fastcgi_read_timeout300s; location/{ proxy_passhttp://127.0.0.1:3000; proxy_http_version1.1; proxy_set_headerUpgrade$http_upgrade; proxy_set_headerConnection'upgrade'; proxy_set_headerHost$host; proxy_cache_bypass$http_upgrade; try_files$uri$uri/=404; } }Nginx再次加载环境变量。
nginx-sreload文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)