gpt4 book ai didi

php - Nginx + php5-fpm = 404 别名位置错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:44 24 4
gpt4 key购买 nike

我是一名业余前端 Web 开发人员,我最近购买了一台 Ubuntu 服务器以尝试进行一些后端开发。我想弄清楚如何使用 php5-fpm 从别名位置 block 提供 php 文件。我收到 404 - 页面未找到错误。我已经尝试了所有我能在这里找到的建议解决方案,但没有成功。因为我还是个初学者,所以我也喜欢快速的 ELI5 以及我的 conf 文件其余部分的任何指针,这样我也可以学到一些东西。我应该提到主根文件夹正在运行一个 flask 应用程序,这就是我使用别名位置的原因。

我的虚拟主机:

Nginx 配置文件

server {
listen 80;
listen [::]:80;
server_name www.example.com example.com;

root /var/www/example;
large_client_header_buffers 8 32k;
access_log /var/www/example/logs/access.log;
error_log /var/www/example/logs/error.log;


location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr; #$proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://app_test;
proxy_redirect off;
}


location /test_site {
alias /var/www/test_site;
index index.php index.html index.htm;
location ~ .php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+?\.php)(/.*)?$;
fastcgi_pass unix:127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}

php5 www.conf 文件

[www]
...
user = www-data
group = www-data


listen = 127.0.0.1:9000
#listen = /tmp/php5-fpm.sock

listen.owner = www-data
listen.group = www-data
listen.mode = 0660
...

我的 fastcgi_params 文件是默认的。我检查了 php 和 nginx 日志,没有错误。任何帮助将非常感激!

最佳答案

使用 fastcgi 获取 alias 以处理嵌套位置是很复杂的。

假设您没有过度简化配置,test_site 位置不需要使用alias:

location /test_site {
root /var/www;
index index.php index.html index.htm;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:127.0.0.1:9000;
include fastcgi_params;
}
}

这删除了 ​​alias 指令,并解决了 PHP block 中的别名问题。

另请注意:location ~\.php$ block 中的正则表达式是错误的。 fastcgi_split_path_infofastcgi_index 指令是不必要的。

nginx 指令是 documented here .

关于php - Nginx + php5-fpm = 404 别名位置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37582119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com