0

我还在学习 nginx,所以如果答案很明显,请多多包涵:)。

我已经使用这些说明在 apache 前面设置了 nginx

nginx 似乎正在正确处理 html 文件,但是每当我尝试访问 php 文件时,我都会收到 404 错误。

这是 nginx example.com conf 文件

server {
    listen 80;
    access_log /var/www/example.com/logs/nginx.access.log;
    error_log /var/www/example.com/logs/nginx.error.log;
    root /var/www/example.com/prod;
    index index.php index.html index.htm;
    server_name www.example.com example.com;
    location \ {
            try_files $uri $uri/ index.php/$uri;
    }
    location ~* ^.*\.php$ {
            if (!-f $request_filename) {
                    return 404;
            }
            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;
    }
    location ~ /\.(ht|git) {
            deny all;
    }
}

这是我的 apache example.com conf 文件

<VirtualHost 123.45.67.89:8080>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin webmaster@example.com

    #Indexes + Directory Root
    DirectoryIndex index.html index.htm index.php
    DocumentRoot /var/www/example.com/prod/

    #CGI Directory
    ScriptAlias /cgi-bin/ /var/www/example.com/prod/cgi-bin/
    <location /cgi-bin>
            Options +ExecCGI
    </location>

    #Log Files
    ErrorLog /var/www/example.com/logs/error.log
    CustomLog /var/www/example.com/logs/access.log combined

</VirtualHost>

在 4 小时的大部分时间里,我一直在试图找出我的错误在哪里。我希望你能提供帮助:(

4

1 回答 1

0

proxy_pass http://127.0.0.1:8080;并且<VirtualHost 123.45.67.89:8080> 看起来不一样。

并且 nginx 配置看起来不对。如果您阅读官方文档,也许您会获得更好的运气。

于 2012-07-18T11:54:47.373 回答