如何使用 apache 提供服务 PHP 并使用 nginx 提供静态页面

how to use apache for serving PHP and use nginx for static pages

我买了一个VPS,我想配置它。我在某处读到: 您可以将它们混合使用。使用 Apache 提供服务 PHP,使用 nginx 提供静态页面

我的 OS 是 linux-ubuntu。现在我想知道我该怎么做?

如何对我使用 Apache Web 服务器的动态代码和使用 Nginx Web 服务器的静态代码进行说明。有人可以帮助我吗?

此致

你需要做的是让其中一个作为前端监听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 转发到您的 apache 服务器 运行ning 的根端口 8080(如果您想要另一个更改 proxy_pass 设置) .

就是说,为了让事情更简单,我宁愿只 运行 一台服务器,坚持使用 apache 或 nginx。两台服务器都可以担任这两种角色。

您可能想要禁用默认配置或修改它以包含上述配置,否则会发生端口冲突。