我已经设置了一个域名,在运行 ubuntu 11.04、nginx 和 php5-fpm 的 amazon ec2 上运行。
该域名运行良好,我已经设置了它自己的 sites-available 配置文件,并将其符号链接到 sites-enabled。
我通过以下方式安装了 phpmyadminsudo apt-get 安装 phpmyadmin并遵循指示。
然后,我将其添加到我的 /etc/nginx/nginx.conf 文件上方并重新启动 nginx。
server {
listen 80;
server_name phpmyadmin.domain.com;
location / {
root /usr/share/phpmyadmin;
index index.php;
}
#make sure all php files are processed by fast_cgi
location ~ \.php {
# try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
我还为 phpmyadmin.domain.com 添加了适当的 DNS A 记录
phpmyadmin.domain.com 只显示 404 错误代码。所有其他子域均未响应,因此至少此处有些功能正常。
仅供参考,我已经编辑了 /etc/phpmyadmin/config.inc.php 文件,以便我可以连接到远程 MySQL 数据库。
我还需要做什么?
答案1
root
你在 .phplocation
块中缺少 nginx指令
像这样:
location ~ \.php$ {
root /path/to/public_html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME /path/to/html$fastcgi_script_name;
include fastcgi_params;
}
答案2
所需要的只是 /usr/share/phpmyadmin 和我的默认 Web 文件夹之间的一个简单的符号链接。