利用docker运行nginx加上本机的php-fpm。访问html文件正常,但是访问php文件就报错404

新手上路,请多包涵

最近在虚拟机弄了一个deepin系统。打算使用docker加载nginx/1.17.6加在官方下载的PHP7.4.1(这个是本地编译的)。

出现了以下的问题:
1)访问html文件正常,但是访问php文件报404。

根据网上的文章尝试:
1)php运行不成功。在PHP的cli模式下是正常的。
2)php进程用户没有权限访问目录,修改成777权限还是404

目前怀疑是配置文件的问题,但无法定位问题所在,下面贴上配置文件信息,请问问题出在哪里?

server {

listen       80;
server_name  localhost;

#charset koi8-r;
access_log  /var/log/nginx/host.access.log  main;
error_log   /var/log/nginx/error.log;
location / {
    root   /usr/share/nginx/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   /usr/share/nginx/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  /home/vincenzo/application/php/$fastcgi_script_name;
    fastcgi_param   SCRIPT_FILENAME $document_root$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;
#}

}

阅读 4.3k
1 个回答

如果php和nginx不是运行在同一个docker里, 那用ip 127.0.0.1是无法互相访问的,试试本机的局域网ip, 如 192.168.1.123

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题