Nginx作为Apache无法正常工作的反向代理 - 提供静态文件

时间:2015-12-09 11:10:29

标签: apache nginx reverse-proxy

我配置了一个带有nginx,php-fpm和apache的vps服务器。

扩展名为的常用网站 服务器作为静态网页,如正常,但当我尝试使用.php页面时动态生成内容我只看到纯粹的HTML代码,如Nginx正在提供.txt文件。

Nginx在8080上监听80,Apache。

Mods已停用:    mod_proxy, mod_actions

Nginx服务器块配置:

server {
    server_name example.com www.example.com;
    listen 80;
    root /var/www/example.com;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php;
    }
    location ~ \.php$ {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://IP:8080;
    }
}

Apache虚拟主机配置:

<VirtualHost *:8080>
    DocumentRoot /var/www/example.com
    ServerName example.com
    <Directory />
        AllowOverride All
    </Directory>
</VirtualHost>

Nginx&amp; Apache都在%username%下工作,使用%username%作为组。

代码似乎是正确的,但问题是当我加载网页example.com/index.php时,它被加载为带有纯HTML代码的.txt文件,而不是普通的.php页面。

与通常"<?php phpinfo(); ?>"

的info.php相同

我看到了代码但不是真实的信息页面

1 个答案:

答案 0 :(得分:0)

您需要配置nginx或Apache以将文件发送到php解释器。

this document使用nginxphp-fpm使用fastcgi_pass指令。

请参阅this document以使用Apache和mod_php