在 NGINX、Ubuntu 11.04、EC2 远程 MySQL 实例上设置访问 PhpMyAdmin 的指南

在 NGINX、Ubuntu 11.04、EC2 远程 MySQL 实例上设置访问 PhpMyAdmin 的指南

我已经设置了一个域名,在运行 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 文件夹之间的一个简单的符号链接。

相关内容