はじめに
前の記事では、Tiny Core Linux で nginx が動作するよう設定しましたが、今度はPHP7を追加して動作するようにしてみたいと思います。
どうやら、FastCGI という方法になるようです。PHP-FPMというものを使用する手法のようですね。
では、前の環境に手を加えていきましょう。
PHP7のインストール
お約束の Apps より、PHPの以下のパッケージをインストールします。
- php7-cgi.tcz
- php7-cli.tcz
- php7-ext.tcz
- php7-fpm.tcz
nginx の設定
PHPのインストールが終了したら、nginx.conf の設定を変更します。
nginx.conf の編集は以下のように行います。
$ cd /usr/local/etc/nginx $ sudo vi nginx.config
変更後の nginx.config は以下のようになります。基本的に FastCGI の設定を追加しただけです。
user nginx staff; pid /var/run/nginx.pid; http { include mime.types; default_type application/octet-stream; log_format main #コメントを外す。以下省略。 access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; locatioin / { root /var/www/html; index index.html index.htm, index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # FastCGI location ~\.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; include /usr/local/etc/nginx/fastcgi_params; } } }
FastCGIの設定
FastCGIの設定は、以下のように行います。
まず、nginx 関連の設定を行います。
$ cd /usr/local/etc/nginx/original $ sudo cp fastcgi.conf.default ../fastcgi.conf $ sudo cp fastcgi_params.default ../fastcgi_params
次に、PHP-FPMの設定を行います。
$ cd /usr/local/etc $ sudo cp php-fpm.conf.default php-fpm.conf $ cd php-fpm.d $ sudo cp www.conf.default www.conf $ sudo vi www.conf
www.conf の以下の2行を編集します。
user = nginx group = staff
設定が済んだら、PHP-FPMを起動します。合わせて nginx も再起動します。
$ sudo /usr/local/etc/init.d/php-fpm stop $ sudo /usr/local/etc/init.d/php-fpm start $ sudo /usr/local/etc/init.d/nginx stop $ sudo /usr/local/etc/init.d/nginx start
PHPの動作確認
以下のように PHP の動作確認を行います。
まず、参照用のPHPファイルを作ります。
$ cd /var/www/html $ echo "<?php phpinfo(); ?>" > info.php
参照用PHPをローカルから参照します。
$ cd
$ wget localhost/info.php
$ cat info.php
ダウンロードできて内容が出力されているのを確認できればOKです。
次にパソコンのブラウザから参照できるか確認します。その前に、以下のコマンドでIPアドレスを確認します。
$ ifconfig
IPアドレスが確認できたら、パソコンのブラウザから http:// <IPアドレス>/info.php にアクセスします。(例) http://192.168.11.14/info.php
以下のように表示されればOKです。
OS起動時にnginxと PHP-FPMが動作するための設定
OS 起動時に nginx と PHP-FPM が動作するように、/opt/bootlocal.sh を以下のように修正します。
sudo rm /var/run/nginx.pid
sudo /usr/local/etc/init.d/nginx stop
sudo /usr/local/etc/init.d/nginx start
sudo /usr/local/etc/init.d/php-fpm start
修正が済んだら、OSを再起動して動作を確認します。なお、再起動は[Exit]の Reboot から行うことを忘れないでください。
おわりに
これもものすごく苦労したのですが、記事にしてみると意外と簡単に見えますね。不思議。
あとはデータベースとの連携ですが、それはまた別の機会にでも。