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のテストファイルが表示されました。