Debian 8 上的 nginx 1.6 别名 + php5-fpm = 404
Posted
技术标签:
【中文标题】Debian 8 上的 nginx 1.6 别名 + php5-fpm = 404【英文标题】:nginx 1.6 alias + php5-fpm = 404 on Debian 8 【发布时间】:2015-09-14 03:04:31 【问题描述】:我对 Debian 8 jessie(1.6 版)和 php5-fpm 附带的 nginx 有疑问。这是我在 Debian 7 wheezy 附带的 nginx 1.2 上的工作配置示例,但是,它不适用于 1.6。
server
listen 80;
server_name localhost;
location /
try_files $uri $uri/ /error.html;
include php.fast.conf;
location /phpmyadmin
alias /usr/share/phpmyadmin;
include php.fast.conf;
这是我的 php.fast.conf
location ~ \.php$
fastcgi_split_path_info ^(.+?\.php)(/.*)?$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
Debian 8 发生了很大的变化,我修改了 stock 配置以运行 PHP,如果 phpinfo 位于 /var/www/html 中,则显示 phpinfo 的 php 脚本可以正常工作。
server
listen 80;
root /var/www/html;
index index.html index.htm index.php index.nginx-debian.html;
server_name localhost;
location /
try_files $uri $uri/ =404;
location ~ \.php$
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
location /phpmyadmin
alias /usr/share/phpmyadmin;
location ~ \.php$
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
但是http://localhost/phpmyadmin 不起作用(404),尝试了很多选项只得到 404/空白页/输入文件未指定。我认为这是一个fastcgi_param问题,但不知道如何解决。
另外,一个工作配置在升级后将无法工作,对所有这些进行更改的原因是什么?
【问题讨论】:
【参考方案1】:我工作过代码
location /phpmyadmin
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$
include snippets/fastcgi-php.conf;
root /usr/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_intercept_errors on;
location ~* ^/phpmyadmin/(.+\.(jpeg|jpg|png|css|gif|ico|js|html|xml|txt))$
root /usr/share/;
location /phpMyAdmin
rewrite ^/* /phpmyadmin last;
【讨论】:
以上是关于Debian 8 上的 nginx 1.6 别名 + php5-fpm = 404的主要内容,如果未能解决你的问题,请参考以下文章
Installing Nginx with PHP (as PHP-FPM) and MariaDB (LEMP) on Debian 8
历史上的今天8 月 16 日:Debian 诞生;小米手机及 MIUI 系统发布!