如何使用Nginx设置phpMyAdmin?

我在phpMyAdmin的virtuals.conf中创build了一个条目,并重新启动了Nginx,但是我实际上无法获得它到服务器phpMyAdmin。 PHP是安装和Nginx的fast-cgiconfiguration,virtuals.conf条目语法检查正常,和MySQL服务器正在运行。

另外FWIW,centos是我正在运行的CentOS VM的主机名。

这是我的项目看起来像:

server { listen 80; server_name mysql.centos; location / { root /usr/share/phpMyAdmin; index index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$fastcgi_script_name; include fastcgi_params; } } 

从我的设置中看到一个例子:

 server { listen 80; server_name domain.com; # Server root root /home/user/domain.com/public_html; index index.html index.php; location /MySQLAdmin { auth_basic "Restricted Access"; auth_basic_user_file htpasswd_file; alias /usr/share/phpMyAdmin/; try_files $uri $uri/ @fastcgi; } location ~ .+\.php$ { # Return '400 Bad Request' for malformed URLs location ~ \..*/.*\.php$ { return 400; } # Map 418 error code (no bady uses) to fastcgi error_page 418 = @fastcgi; return 418; } location @fastcgi { fastcgi_pass 127.0.0.1:9000; ... } location / { try_files $uri $uri/ @fastcgi; } } 

对“MySQLAdmin”的请求将由该位置处理,该位置是别名到phpMyAdmin文件夹。 Nginx将直接返回静态文件并将PHP发送到@fastcgi。 请求“.php”将被发送到@fastcgi。

Nginx尝试提供其他所有内容,并将未find的内容发送到@fastcgi。 基本上,Nginx会提供静态文件。 Index.php请求没有被显式写出,将不会被发现并传递给@fastcgi。