#環境
CentOS: 7.4
PHP: 7.2
Nginx: 1.14
#やりたいこと
Nginx サーバーの環境下で PHP を実行できるように設定を行います。
ルートディレクトリは /home/user_name/projects
として設定します。
(ここは自分の好きなディレクトリを設定して問題ありません。)
#前提条件
以下のインストールが完了していることを前提に設定を行います。
- PHP
- Nginx
- PHP-FPM(NginxでPHPを実行するために必要)
インストール方法については【CentOS】PHP、PHP-FPM、NginX のインストールをご確認ください。
#Nginx の設定
##ポートの設定
/etc/nginx/conf.d/default.conf
の設定ファイルを編集します。
Apache と同時起動したいので、Apach で指定しているポートは使用できません。
今回は Apache で 80 番を指定しているため、Nginx では 8080 番を利用します。
server {
listen 8080;
server_name localhost;
...
##PHP関連の設定
次に、Nginx で PHP が実行できるようにするための設定を行います。
設定するファイルは同じく /etc/nginx/conf.d/default.conf
です。
初期設定では location ~ \.php$ {...}
の全体がコメントアウトされているため外します。
また、root
と fastcgi_param
の部分にルートディレクトリを設定します。
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root /home/user_name/projects;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/user_name/projects$fastcgi_script_name;
include fastcgi_params;
}
##設定を反映させる
Nginx を起動(再起動)します。
ターミナルから以下のコマンドを入力して実行します。
$ sudo systemctl restart nginx
#PHP-FPM の設定
user と group を nginx に変更します。
初期設定では apache となっているので、コメントアウト(もしくは削除)します。
;user = apache
user = nginx
;group = apache
group = nginx
##設定を反映させる
PHP-FPM を再起動します。
ターミナルから以下のコマンドを入力して実行します。
$ sudo systemctl restart nginx
#Nginx で PHP を実行させる
##実行用ファイルの作成
ルートディレクトリに index.php
を作成します。
正しく設定できていれば、ルートディレクトリにアクセスしたとき Nginx が index.php
を実行します。
<?php phpinfo(); ?>
##PHP の実行
ブラウザのURLに localhost:8080
と入力して、以下の画面が表示されれば成功です(8080 は自分が設定した Nginx のポート番号)。
これはルートディレクトリ(/home/user_name/projects
)の index.php
が実行された結果です。