我有一台运行 Ubuntu 16.10 (Mate) 的笔记本电脑,我将其用作本地服务器,仅用于测试我开发的网站。我最近从 Apache2 切换到了 NginX。我已成功设置 NginX,以便我所有基于 PHP 的网站都在运行,并且我得到了 的输出phpinfo()
,因此我的 PHP 可以正常工作。
我发现让 phpMyAdmin 与 NginX 协同工作的说明看起来非常简单:
sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html/
sudo service nginx restart
- 清除浏览器缓存
- 在浏览器中打开 phpMyAdmin
localhost/phpmyadmin
我完成了所有这些步骤,但还是收到 404 未找到错误。我尝试将指向 phpMyAdmin 的符号链接移到不同的地方,例如/var/www
,这是我的其他网站所在的位置,但这没有帮助。似乎无论我将 phpMyAdmin 放在哪里,它都无法打开。
设置 phpMyAdmin 的正确方法是什么,以便我可以在本地 NginX 服务器上打开它?
答案1
- 在安装时
phpmyadmin
,选择apache2
并安装它,它会复制必要的文件。 - Nginx 将其用作
/var/www/html/
默认 Web 服务器根目录。因此使用ln -s /usr/share/phpmyadmin /var/www/html
。 - 如果您更改了 Web 服务器根目录,请使用 而不是
/var/www/html
,your path
并确保设置了正确的权限。 - 打开你的浏览器并打开
localhost/phpmyadmin
,你应该打开phpMyAdmin
。
答案2
在 Apache2 中,由于 Apache2 别名模块,符号链接可以正常工作。在 Nginx 中,情况有所不同。解决此问题的一种方法可能是为 Nginx 创建一个新虚拟主机。以下是相关部分,更改根目录并添加 index.php :
root /usr/share/phpmyadmin;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
另一个解决方案是阅读有关 Nginx 别名的更多信息。以下是快速搜索结果:
http://nginx.org/en/docs/http/ngx_http_core_module.html#alias