我买了VPS,我想配置它。我在某处读到: 你可以将它们混合在一起。使用Apache服务PHP并将nginx用于静态页面
我的操作系统是linux-ubuntu。现在我想知道我该怎么做?
怎么说我的动态代码使用Apache Web服务器和静态代码使用Nginx Web服务器。有人可以帮帮我吗?此致
答案 0 :(得分:1)
你需要做的是让其中一个成为侦听端口80的前端,另一个是监听其他端口(例如8080),因为不可能有多个进程听同一个端口。然后必须设置侦听端口80的那个以将流量转发到侦听备用端口的流量。
在这种情况下,让服务静态页面(nginx)的人进行端口转发是最自然的。为此,请在nginx.conf的html部分中输入这样的服务器定义:
server{
listen 80;
server_name example.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location /php {
proxy_pass http://0.0.0.0:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这会将以/ php /开头的所有URL转发到在端口8080上运行的apache服务器的根目录(如果您想要另一次更改proxy_pass设置)。
那就是说,为了简单起见,我宁愿只运行一台服务器,坚持使用apache或nginx。两台服务器都可以同时担任这两种角色。
您可能要么禁用默认配置,要么修改它以包含上面的配置,否则会收到端口冲突。