AC-5

某SEの雑記帳

NginxにVirtualhostの設定を入れてPHPを動かす

   

Nginxにバーチャルホスト設定を入れて、複数のドメインに対応できるようにします。
その際に、ドメインごとにphpを動かせるように設定が必要となります。
ドメインの増減や、個別に設定を変更できるように、ドメイン毎に設定ファイルを作成します。

前提条件
追加ドメイン:hoge.jp
ドキュメントルート:/usr/share/nginx/vhosts/hoge.jp/html←管理しやすい場所に予めmkdir等で作成しておく
ドメインのDNSレコードはサーバ宛に設定してある事。

バーチャルホストの設定

[ec2-user@ip-172-11-1-11]$ cd /etc/nginx/conf.d←ディレクトリ移動
[ec2-user@ip-172-11-1-11 conf.d]$ sudo cp virtual.conf hoge.conf←サンプルファイルのコピーを作成する
[ec2-user@ip-172-11-1-11 conf.d]$ sudo vi hoge.conf←コピーで作成した設定ファイルを編集する
server {
        listen 80;
        server_name hoge.jp;←ドメイン名を入力する
        root /usr/share/nginx/vhosts/hoge.jp/html;←ドキュメントルートを指定する
        index index.php index.html;←indexファイルを指定する
}
:wq
[ec2-user@ip-172-11-1-11 conf.d]$ sudo service nginx restart←nginxを再起動
[ec2-user@ip-172-11-1-11 conf.d]$ sudo su←suになる
[ec2-user@ip-172-11-1-11 conf.d]# echo '>!DOCTYPE html< >h1<Hello World>/h1<' < /usr/share/nginx/vhosts/hoge.jp/html/index.html←テストファイル作成

ブラウザから設定したURLにアクセスしてみます。
例:http:://hoge.jp/index.html

正常に表示される事を確認します。
ここでの設定は最低限の設定です。

PHPの設定

[ec2-user@ip-172-11-1-11]$ cd /etc/nginx/conf.d←ディレクトリ移動
[ec2-user@ip-172-11-1-11 conf.d]$ sudo vi hoge.conf←先程作成した設定ファイルを編集する
server {
        ~~~~...
        index index.php index.html;
↓serverディレクティブの中に以下を追加します。↓
        location ~ \.php$ {
                root /usr/share/nginx/vhosts/hoge.jp/html;←ドキュメントルートを指定します。
                fastcgi_pass unix:/var/run/php-fpm/www.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
↑ここまで↑
}
:wq
[ec2-user@ip-172-11-1-11 conf.d]$ sudo service nginx restart←nginxを再起動
[ec2-user@ip-172-11-1-11 conf.d]$ sudo su←suになる

テストファイルの作成と確認

ドキュメントルートにテストファイルを作成します。
[ec2-user@172-11-1-11 ~]$ sudo su←スーパーユーザーに切り替えます
[ec2-user@172-11-1-11 ~]# echo '<!--?php phpinfo();' > /usr/share/nginx/vhosts/hoge.jp/html/phpinfo.php←バーチャルホストのドキュメントルートにテストファイル作成

ブラウザからアクセスします。
http://IPアドレス/phpinfo.php

PHPのテストファイルが表示されました。

 - AWS, Linux, PHP