我安装了 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;
}
}
一切正常(如果我访问该域,我可以登录到 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;
}
}
听起来很奇怪,“标准”配置对我这边的 phpMyAdmin 不起作用。
这是我最终所做的,现在在“/phpmyadmin”上取得了成功:
我在任何地方都不是经验丰富的管理员,这部分配置需要清理,但我希望它是一个很好的开始。
phpmyadmin 没有什么特别之处;一个标准的 PHP 位置块就足够了: