nginx 的 phpmyadmin 位置

Mul*_*gno 5 nginx php-fpm

我安装了 nginx 和 phpmyadmin。我用这些参数设置了一个域来测试 phpmyadmin:

server {
listen 80;
server_name example.com;

root /usr/share/phpmyadmin;
index index.php;
fastcgi_index index.php;

location ~ \.php$ {
include /etc/nginx/fastcgi.conf;
fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}


}
Run Code Online (Sandbox Code Playgroud)

一切正常(如果我访问域,我可以登录到 phpmyadmin)。问题是它只是为了测试 phpmyadmin,现在我想把它移到我的“默认”站点。但我不知道如何在 /phpmyadmin 上使用它。这是“默认” nginx 站点的配置(我想在其中放置 /phpmyadmin 位置):

server {

server_name blabla;

access_log  /var/log/nginx/$host.access.log;
error_log   /var/log/nginx/error.log;

root    /var/www/default;
index   index.php index.html;

location / {
try_files $uri $uri/ index.php;
}  

location ~ \.php$ {
include /etc/nginx/fastcgi.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}

### NginX Status
location /nginx_status {
stub_status on;
access_log   off; 
}

### FPM Status
location ~ ^/(status|ping)$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
access_log      off;
}

}
Run Code Online (Sandbox Code Playgroud)

小智 13

听起来很奇怪,“标准”配置对我这边的 phpMyAdmin 不起作用。

这是我最终做的事情,现在在“/ phpmyadmin”上取得了成功:

    location /phpmyadmin {
           root /usr/share/;
           index index.php index.html index.htm;
           location ~ ^/phpmyadmin/(.+\.php)$ {
                   try_files $uri =404;
                   root /usr/share/;
                   fastcgi_pass 127.0.0.1:9000;
                   fastcgi_index index.php;
                   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                   include /etc/nginx/fastcgi_params;
           }
           location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                   root /usr/share/;
           }
    }
Run Code Online (Sandbox Code Playgroud)

我不是一个经验丰富的管理员,这个配置需要清理,但我希望它是一个很好的入门者。

  • 我只需要改变这一行:`fastcgi_pass 127.0.0.1:9000;` 到 `fastcgi_pass unix:/var/run/php5-fpm.sock;` 来克服 **Bad Gateway** 问题 (2认同)