在服务器上布置了两套代码,奇葩的是,一套使用的Nginx,一套使用的Apache。。。;最终,决定80端口给Nginx使用,Apache使用8080端口;
当时访问Apache的时候,域名后面加上端口号很不爽,,,突然想到了反向代理~~使用Nginx做一个反向代理!完美解决~
Nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理。
配置前的准备工作,后端跑Apache服务的ip和端口,也就是说可以通过http://ip:port能访问到网站
然后就可以新建一个vhost.conf,加入如下内容,记得修改ip和域名为你的ip和域名。
修改nginx.conf,添加 include you.domain.conf 到http{}段, reload nginx就可以了
## Basic reverse proxy server ##
## Apache backend for you.domain.com ##
upstream apachephp {
server ip:8080; #Apache
}
## Start you.domain.com ##
server {
listen 80;
server_name you.domain.com;
access_log logs/quancha.access.log main;
error_log logs/quancha.error.log;
root html;
index index.html index.htm index.php;
## send request back to apache ##
location / {
proxy_pass http://apachephp;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
## End you.domain.com ##