私はubuntu16.04サーバーにnginx、php7.0-fpmとmysqlをインストールしました。すべて正常に動作しますが、phpmyadminのセットアップページは読み込まれません。以下は私のphpmyadminnginxブロックです。
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
include fastcgi_params;
}
}
以下は私のnginxアクセスログです
/usr/share# tail -f /var/log/nginx/access.log
127.0.0.1 - - [15/Oct/2016:17:13:06 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
127.0.0.1 - - [15/Oct/2016:17:13:06 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
127.0.0.1 - - [15/Oct/2016:17:13:41 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
127.0.0.1 - - [15/Oct/2016:17:13:44 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
127.0.0.1 - - [15/Oct/2016:17:13:46 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
127.0.0.1 - - [15/Oct/2016:17:13:46 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
127.0.0.1 - - [15/Oct/2016:17:13:47 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
127.0.0.1 - - [15/Oct/2016:17:13:47 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
127.0.0.1 - - [15/Oct/2016:17:21:26 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
127.0.0.1 - - [15/Oct/2016:17:21:28 +0530] "GET /phpmyadmin/setup/index.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
Nginxエラーログに何もありません。 php7.0-fpmも正常に実行されています。以下は同じログ抽出です。
tail -f /var/log/php7.0-fpm.log
[15-Oct-2016 17:09:48] NOTICE: fpm is running, pid 17062
[15-Oct-2016 17:09:48] NOTICE: ready to handle connections
[15-Oct-2016 17:09:48] NOTICE: systemd monitor interval set to 10000ms
[15-Oct-2016 17:21:10] NOTICE: Terminating ...
[15-Oct-2016 17:21:10] NOTICE: exiting, bye-bye!
[15-Oct-2016 17:21:11] NOTICE: configuration file /etc/php/7.0/fpm/php-fpm.conf test is successful
[15-Oct-2016 17:21:11] NOTICE: fpm is running, pid 17297
[15-Oct-2016 17:21:11] NOTICE: ready to handle connections
[15-Oct-2016 17:21:11] NOTICE: systemd monitor interval set to 10000ms
Php-fpmリッスンモードをローカルホストポート9000からphp.sockに変更しようとしたので、これに関する専門家のアドバイスが必要です。同じことがphpmyadminnginxブロック設定でも見られます。
Phpmyadminの追加を除いて、通常、/etc/nginx/sites-available/default
ファイルはPHPを処理するために、次のようになります。
# Add index.php to the list if you are using PHP
index 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;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
したがって、ブラウザで.php
ファイルを開くと、このlocationディレクティブはファイル.php
を含むfastcgi-php.conf
ファイルを処理し、phpスクリプトをphp7.0-fpmに渡します。
Nginx構成ファイルに変更を加えた直後に、Sudo nginx -t
のように構成ファイルをテストします。問題がなければ、次の出力が表示されます。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
次に、Sudo service nginx reload
と入力します
このスニペットを含むghi.php
ファイルを追加することで、テストできます。
<?php
phpinfo();
?>
cd /var/www/html
に行きたいのですが、そこからSudo vim ghi.php
を実行できます。
次に、<server-ip-address>/ghi.php
に移動します。何も表示されない場合、サーバーはまだphpを処理していません。