nginx 找不到该目录,但 apache 找到了

nginx 找不到该目录,但 apache 找到了

我使用 apache 作为后端服务器,使用 nginx 作为前端服务器。Apache 监听端口 8080,nginx 监听端口 80。我的做法是让根目录指向每个虚拟主机的公共文件夹:

<VirtualHost *:8080>
        ServerAdmin webmaster@localhost
        ServerName site.com
        ServerAlias site.com *.site.com
        DocumentRoot /var/www/site.com/public
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/site.com/public/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>

这是 nginx 配置:

server {
        listen 80;
        access_log /var/log/nginx.access.log;
        error_log /var/log/nginx.error.log;
        root /var/www/site.com/public;
        index index.php index.html;
        server_name site.com *.site.com;
        location / {
    location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_pass http://127.0.0.1:8080;
            proxy_cache one;
            proxy_cache_use_stale error timeout invalid_header updating;
            proxy_cache_key $scheme$host$request_uri;
            proxy_cache_valid       200 301 302 20m;
            proxy_cache_valid       404 1m;
            proxy_cache_valid       any 15m;
    }
        }
        location ~ /\.(ht|git) {
                deny all;
        }
}

问题是 Apache 可以很好地解析域名(site.com:8080),但 nginx 却显示502错误的网关 (site.com:80)。我尝试查看 error_log 和 access_log,但找不到任何提示为什么 nginx 不能工作

编辑:问题是我无法包含 nginx 的独立配置。

答案1

nginx 以什么用户身份运行? 运行 nginx 的用户可能无法访问相关文件夹。

相关内容