Ubuntu

在 NGINX、Ubuntu 11.04、EC2 遠端 MySQL 實例上設置訪問 PhpMyAdmin 的指南

  • June 25, 2011

我已經設置了一個域名以在執行 ubuntu 11.04、nginx 和 php5-fpm 的亞馬遜 ec2 上執行。

域名很好用,我已經設置了它自己的站點可用配置文件並將其符號連結到啟用站點。

我通過sudo apt-get install phpmyadmin 安裝了 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 數據庫。

我還需要做什麼?

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;
   }

所需要的只是 /usr/share/phpmyadmin 和我的預設 web 文件夾之間的簡單符號連結。

引用自:https://serverfault.com/questions/283737