Raspberry Piでnginxを動かしているが、PHPが必要になったのでPHP5をインストールした。そのときの手順をまとめておく。
1.php5、php5-fpmをインストール
php5とともにphp5-fpmもインストールするのがよく行われているphp5の導入方法らしい。php5-fpmについてはThe PHP Groupのサイトを参照。PHP の FastCGI 実装のひとつで、 主に高負荷のサイトで有用な追加機能を追加するためのもの。
インストールは以下のコマンド。
$ sudo apt-get install php5 php5-fpm
インストールしたら以下のコマンドで確認。
$ php -v
$ php5-fpm -v
2.nginxの設定
nginxの設定ファイルを編集する。
$ sudo vi /etc/nginx/sites-enabled/default
①以下の赤字箇所を追加
index index.php index.html index.htm;
②以下の赤字箇所のコメントアウトをはずす
3.nginx再起動
$ sudo /etc/init.d/nginx restart
4.動作確認
以下の内容のphpファイルを作成してnginx配下のディレクトリに配置し、ブラウザでアクセスしてPHPの設定情報が表示されるか確認する。
<?php phpinfo();?>
これでPHPが動くようになったが、Raspberry Piを再起動したらWEBページが開かない。nginxを起動しようとすると以下のメッセージが表示される。
以下のコマンドで確認してみると、Apache2が動いている。
$ ps aux | grep apache
とりあえずApache2を停止し、nginxを起動すると、目的のWEBページが表示されるようになった。
$ sudo /etc/init.d/apache2 stop
$ sudo /etc/init.d/nginx start
Apache2が自動起動になっているか以下のコマンドで確認すると、やはり自動起動する設定がある。自動起動するように設定した覚えはないのだが。php5-fpmをインストールした影響だろうか。
$ ls /etc/rc2.d/
Apache2の自動起動設定を削除。
$ sudo update-rc.d -f apache2 remove
Apache2の自動起動設定が消えたことを確認。
$ ls /etc/rc2.d/
Raspbery Piを再起動してApache2が起動していないことを確認。
$ sudo reboot
1.php5、php5-fpmをインストール
php5とともにphp5-fpmもインストールするのがよく行われているphp5の導入方法らしい。php5-fpmについてはThe PHP Groupのサイトを参照。PHP の FastCGI 実装のひとつで、 主に高負荷のサイトで有用な追加機能を追加するためのもの。
インストールは以下のコマンド。
$ sudo apt-get install php5 php5-fpm
インストールしたら以下のコマンドで確認。
$ php -v
$ php5-fpm -v
2.nginxの設定
nginxの設定ファイルを編集する。
$ sudo vi /etc/nginx/sites-enabled/default
①以下の赤字箇所を追加
index index.php index.html index.htm;
②以下の赤字箇所のコメントアウトをはずす
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
3.nginx再起動
$ sudo /etc/init.d/nginx restart
4.動作確認
以下の内容のphpファイルを作成してnginx配下のディレクトリに配置し、ブラウザでアクセスしてPHPの設定情報が表示されるか確認する。
<?php phpinfo();?>
これでPHPが動くようになったが、Raspberry Piを再起動したらWEBページが開かない。nginxを起動しようとすると以下のメッセージが表示される。
Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] still could not bind() nginx.
以下のコマンドで確認してみると、Apache2が動いている。
$ ps aux | grep apache
とりあえずApache2を停止し、nginxを起動すると、目的のWEBページが表示されるようになった。
$ sudo /etc/init.d/apache2 stop
$ sudo /etc/init.d/nginx start
Apache2が自動起動になっているか以下のコマンドで確認すると、やはり自動起動する設定がある。自動起動するように設定した覚えはないのだが。php5-fpmをインストールした影響だろうか。
$ ls /etc/rc2.d/
Apache2の自動起動設定を削除。
$ sudo update-rc.d -f apache2 remove
Apache2の自動起動設定が消えたことを確認。
$ ls /etc/rc2.d/
Raspbery Piを再起動してApache2が起動していないことを確認。
$ sudo reboot
0 件のコメント:
コメントを投稿