CentOS 6.9安装了WDCP的的集成环境(nginx+apache+php+mysql+xend+pureftpd+phpmyadmin),为了使访问Node项目的域名后不显示端口号,那么需要使用Nginx的反向代理,但是还要保持集成环境中的apache对前端的动态内容处理。
配置文件是建站时默认生成的,那么一些默认内容我没有删除,只是给注释掉了。
1、打开WDCP管理后台,默认是http://你的ip:8080/,点击步骤如下图:
2、修改nginx配置文件,配置文件名称默认形式一般为www_mrdede_com.conf,修改方法如下:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# 以下4行是增加的 upstream nodejs { # 位置1 server 127.0.0.1:3000; #你所在服务器中nodejs程序监听的端口 keepalive 64; } server { listen 80; root /www/web/www_mrdede_com/public_html; server_name www.mrdede.com; #这里换成自己的域名 #正这12行注释掉是因为我的项目是NodeJS项目,所以如果是php项目的话就不用注释掉以下12行 #index index.html index.php index.htm; #error_page 400 /errpage/400.html; #error_page 403 /errpage/403.html; #error_page 404 /errpage/404.html; #error_page 503 /errpage/503.html; #location ~ \.php$ { # proxy_pass http://127.0.0.1:88; # include naproxy.conf; #} #location ~ /\.ht { # deny all; #} location / { try_files $uri @apache; include naproxy.conf; } location @apache { internal; proxy_pass http://127.0.0.1:88; # 如果项目中不能获取到客户端真实IP,则打开下面几项 # 下面这一行,在我的一个PHP项目中不能使用,不明所以。 # proxy_set_header Host $host; proxy_set_header REMOTE-HOST $remote_addr; # 客户端真实的IP proxy_set_header X-Real-IP $remote_addr; # 表示客户端真实的协议(http还是https) proxy_set_header X-Forwarded-Proto $scheme; # 这个Header和X-Real-IP类似,但它在多层代理时会包含真实客户端及中间每个代理服务器的IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; include naproxy.conf; } } |
3、打开apache配置文件,如下:
4、WDCP的nginx+apache环境中,apache默认是侦听88端口的,要把文件中的88改为自己node网站的侦听端口,修改如下:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 |
<VirtualHost *:3000> # 修改成自己的node网站侦听的端口号 DocumentRoot /www/web/www_mrdede_com/public_html ServerName www.mrdede.com # 这里改成自己的域名 # 注释掉下面的错误页 #ErrorDocument 400 /errpage/400.html #ErrorDocument 403 /errpage/403.html #ErrorDocument 404 /errpage/404.html #ErrorDocument 503 /errpage/503.html </VirtualHost> <Directory /www/web/www_mrdede_com> Options FollowSymLinks AllowOverride All Require all granted </Directory> |
5、保存配置文件后,WDCP会默认生成一个保存前的以“.wdcp”为后缀的原始文件备份,重启WEB服务器。
6、命令行启动node网站,即可使用不带端口号的域名访问网站了。