概要
みなさんこんにちはcandleです。今回はnginxを使用して、phpを動かしたいと思います。
前提
nginxがインストールされている。
公開ディレクトリの確認
まずは、nginxがどのディレクトリを公開しているかを確認します。
確認にはnginxのdefault.confを見れば分かります。
default.confがある場所はubuntuでは下のパスになります。
/etc/nginx/conf.d/default.conf
エディタでdefault.confを開きます。エディタは何でもよいのですが、私はemacsを使用します。
emacs default.conf
するとrootという項目があります。そこに書いてあるパスが公開ディレクトリのパスです。
私の場合は
/usr/share/nginx/html
ディレクトリが公開ディレクトリになっています。
公開ディレクトリが確認できました。
php5-fpmをインストールする
ubuntuにphp5-fpmをインストールする必要があります。
もしかするとデフォルトのphpがインストールされているかもしれませんが、
それとは別に、php5-fpmをapt-getを使ってインストールします。
まずはインストールするレポジトリを最新にします。
sudo add-apt-repository ppa:ondrej/php5
apt-getの情報をupdateします。
sudo apt-get update
そしたら、下のコマンドでphp-fpmをインストールします。
sudo apt-get install php5-fpm
インストールが完了しました。
php-fpmのsocketを変更する
php-fpmのソケットがvar以下の任意場所に作成されるように変更します。
デフォルトではローカルホストの9000番とかになっているのですがこれを変更します。
php-fpmのソケットの設定がかかれているファイルのところに移動します。
cd /etc/php5/fpm/pool.d
そこにwww.confというのがあります。
www.confをエディタで開きます。私はemacsを使います。
emacs www.conf
上の方にlisten=127.0.0.1:9000と書かれている場所があると思うのでそれを変更します。
listen=127.0.0.1:9000
↓
listen=/var/run/php5-fpm.sock
保存しましょう。
php-fpmを起動させる
既にphp-fpmを起動している場合は下のコマンド
sudo /etc/init.d/php5-fpm restart
まだ実行していない場合は下のコマンドで起動します。
sudo /etc/init.d/php5-fpm start
/var/run/
にちゃんとphp5-fpm.sockができているか確認しましょう。
cd var/run/ ls
nginxのdefault.confを変更する
nginxの設定を変更します。default.confがある場所に移動しましょう。
cd /etc/nginx/conf.d
default.confを編集します。エディタで開いてください。私はemacsを使います。
sudo emacs -nw default.conf
そしたら、phpが書かれている辺りを編集します。
はじめ location phpに関する記述は下のようになっています。
#location ~ \php${ #root html; #fastcgi_pass 127.0.0.1:9000; #fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #include fastcgi_params; #}
これを下のように書き換えます。
location ~ \.php$ { root /usr/share/nginx/html; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
これを保存しましょう。
nginxを再起動します。
下のコマンドを打ち込みましょう。
sudo nginx -s reload
これで準備は整いました。
phpファイルを作成する
今確認した公開ディレクトリにphpファイルを設置します。
/usr/share/nginx/html
私の場合はhtmlディレクトリにphpファイルを設置します。
htmlディレクトリに移動して
cd /usr/share/nginx/html
phpファイルを作成します。
touch hello.php
エディタでhello.phpを開いて下のコードを書き込みます。
<?php phpinfo(); ?>
保存したら準備完了です。
ブラウザで確認する
ブラウザを開いてください。
urlは
http://localhost/hello.php
でphpinfoが実行されて見れるようになるでしょう。
これでphpが使えるようになりました。めでたしめでたし。
まとめ
かつて、vm上でやった時はもっとすんなりできたイメージがあったのですが、今回は自分も調べ調べの上でやっとできました。
以外に大変ですよね。