Nginx 运行 PHP 时出现 403 禁止访问错误

4
注意:我在其他地方没有得到答案,这就是我要提出这个问题的原因 我的nginx.conf文件:
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index index.html index.htm index.php;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
           root           html;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME  C:/nginx/html/$fastcgi_script_name;
           include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

我也运行了

php-cgi.exe -b 127.0.0.1:9000

在我的命令提示符中,路径是C:\PHP。

我收到的错误消息是:

403 Forbidden nginx/1.19.7

出现在本地服务器上。

我没有使用代理,真的不知道这个错误是什么意思。 我注意到有一个错误文件 下面是那个文件的内容:

2021/03/08 07:13:46 [emerg] 17544#7752: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
2021/03/08 07:14:04 [emerg] 1160#19796: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
2021/03/08 07:14:15 [emerg] 15840#20192: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
2021/03/08 07:17:55 [error] 17248#19796: *9 CreateFile() "C:\nginx/html/robots.txt" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /robots.txt?448659 HTTP/1.1", host: "localhost"
2021/03/08 07:25:13 [error] 17248#19796: *41 CreateFile() "C:\nginx/html/phpmyadmin" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /phpmyadmin HTTP/1.1", host: "localhost"
2021/03/08 07:26:02 [error] 17248#19796: *41 directory index of "C:\nginx/html/Facebook/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET /Facebook/ HTTP/1.1", host: "localhost"
2021/03/08 07:26:07 [error] 17248#19796: *48 CreateFile() "C:\nginx/html/robots.txt" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /robots.txt?448659 HTTP/1.1", host: "localhost"
2021/03/08 07:26:48 [error] 17248#19796: *49 CreateFile() "C:\nginx/html/favicon.ico" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "127.0.0.1", referrer: "http://127.0.0.1/"
2021/03/08 07:26:53 [error] 17248#19796: *49 directory index of "C:\nginx/html/Facebook/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET /Facebook/ HTTP/1.1", host: "127.0.0.1"
2021/03/08 07:31:00 [error] 17248#19796: *70 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:31:00 [error] 17248#19796: *70 CreateFile() "C:\nginx/html/favicon.ico" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost", referrer: "http://localhost/"
2021/03/08 07:31:42 [error] 17248#19796: *70 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:31:43 [error] 17248#19796: *70 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:31:43 [error] 17248#19796: *70 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:32:24 [error] 17248#19796: *70 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:32:27 [error] 17248#19796: *70 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:32:28 [error] 17248#19796: *70 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:32:28 [error] 17248#19796: *70 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:32:29 [error] 17248#19796: *70 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:34:07 [error] 17248#19796: *89 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:35:52 [error] 17248#19796: *94 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:35:52 [error] 17248#19796: *94 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:35:53 [error] 17248#19796: *94 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:35:53 [error] 17248#19796: *94 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:35:53 [error] 17248#19796: *94 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:35:54 [error] 17248#19796: *94 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:37:29 [error] 17248#19796: *111 directory index of "C:\nginx/html/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2021/03/08 07:37:29 [error] 17248#19796: *111 CreateFile() "C:\nginx/html/favicon.ico" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost", referrer: "http://localhost/"

C:\nginx/html/ 目录中有哪些文件? - Richard Smith
@RichardSmith 我有一个名为index.html的文件,它可以正常工作,还有一个名为Script的文件夹,其中包含我的PHP代码。 - Ryan The Ghost
你尝试打开过 http://localhost/index.php 吗? 你的 index.php 脚本在 c:\nginx\html 目录下吗? - IVO GELOV
是的,我甚至尝试了127.0.0.1:900/index.php。对于第二个问题,是的。 - Ryan The Ghost
首先,看起来你甚至无法绑定到80端口。你能在localhost上的浏览器中看到你的index.html文件吗?你的403错误的原因就像这篇文章中所说的那样:https://stackoverflow.com/questions/66941065/after-setting-up-server-blocks-nginx-is-not-serving-my-domain-name/66943827?noredirect=1#comment118333330_66943827。你的根目录或index.html文件可能有问题。请分享`C:\nginx\html`的截图。 - Timo Stark
@TimoStark 我重新安装了Nginx并进行了一些新的配置,现在问题已经解决了!我的问题是:1.我没有重新加载nginx 2.我观看的设置nginx的视频以错误的方式配置了nginx。 - Ryan The Ghost
1个回答

0

netsh http add iplisten ipaddress=:: 遇到类似的问题。在命令提示符中运行上述命令。 这应该会释放端口80,然后您就可以运行nginx。

描述: netsh http命令用于查询和配置HTTP.sys设置和参数。

add iplisten:向IP侦听列表中添加新的IP地址,但不包括端口号。 "::"表示任何IPv6地址。

有关更多netsh http命令,请参阅netsh http命令文档。

在进行设置后重启NGiNx

并在不同的浏览器中刷新页面。

service nginx restart

或者

service nginx stop

service nginx start

检查NGINX的状态

service nginx status

如果问题仍然存在,请对项目进行完全备份。 卸载NGINX服务器。
  apt remove nginx

   apt autoremove

   apt install nginx

在移除服务器时,请确保只卸载服务器,以避免与其他服务器附加组件发生问题。

学习关于

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/


1
很遗憾,这并没有帮助!问题出在我的nginx.conf文件上! - Ryan The Ghost

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接