■nginx+PHP7
※FPM(FastCGI Process Manager)は、PHPのFastCGI実装のひとつ。nginxがphp-fpmと通信してPHPを実行する
HHVM(HipHop Virtual Machine)というものもあり、動作が軽量らしい
CentOSにてnginxでPHPを動かす
http://qiita.com/utano320/items/36b6eac2bbd5bb5657f6
EC2にnginx+php(php-fpm socket)環境を最速で構築
http://qiita.com/koni/items/05158e33b4c8aac07b59
nginx と PHP-FPM の仕組みをちゃんと理解しながら PHP の実行環境を構築する
http://qiita.com/kotarella1110/items/634f6fafeb33ae0f51dc
HHVM を導入して、PHP実行環境を高速化する | しょぼんブログ
https://syobon.jp/2017/01/30/hhvm-install/
さくらVPS(CentOS7)で、Nginx+PHP7.1+MariaDBのWordPressを構築(HTTPS対応) - Qiita
https://qiita.com/ktkiyoshi/items/bf920b4df02d98b570e3
■古いPHPを削除する場合の例
# yum remove php-*
# yum remove php56*
… 必要に応じて
# yum remove php70w*
… 必要に応じて
# rm -rf /etc/php-fpm.d/
… 必要に応じて
■CentOS7にPHP7をインストールする場合
# yum -y install epel-release
… EPELのリポジトリを追加
# rpm -Uvh
http://rpms.famillecollet.com/enterprise/remi-release-7.rpm … Remiのリポジトリを追加
# yum -y install --enablerepo=remi-php70 php php-cli php-common php-devel php-fpm php-gd php-mbstring php-mysqlnd php-pdo php-xml
… RemiのリポジトリからPHP7をインストール
# chkconfig php-fpm on
# php -v
… PHP7のインストールを確認
■AmazonLinux2にPHP7をインストールする場合
# amazon-linux-extras install php7.3 -y
… ExtrasリポジトリからPHP7を追加
# yum -y install php-cli php-common php-devel php-fpm php-gd php-mbstring php-mysqlnd php-pdo php-xml
# php -v
… PHP7のインストールを確認
■CentOS6やAmazonLinuxにPHP7をインストールする場合
# rpm -Uvh
https://mirror.webtatic.com/yum/el6/latest.rpm … PHP7のリポジトリを追加
# yum -y install --enablerepo=webtatic-testing php70w php70w-devel php70w-fpm php70w-mysql php70w-mbstring php70w-pdo php70w-xml
# chkconfig php-fpm on
# php -v
… PHP7のインストールを確認
PHP7.1をインストールする場合、「yum -y install」の内容を以下のようにする(「php70」を「php71w」に変更)
# yum -y install --enablerepo=webtatic-testing php71w php71w-devel php71w-fpm php71w-mysql php71w-mbstring php71w-pdo php71w-xml
■セッションの設定
そのままだとセッションが使えないので調整する
# chgrp nginx /var/lib/php/session
… セッション置き場のグループが「apache」になっているので、「nginx」に変更
■php-fpmの設定
# vi /etc/php-fpm.d/www.conf
… php-fpmの設定ファイルを編集
;user = apache
user = nginx
;group = apache
group = nginx
# vi /etc/nginx/nginx.conf
… nginxの設定ファイルを編集
#index index.html index.htm;
index index.php index.html index.htm; … インデックスページに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$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; … 公開ディレクトリのパスを設定
include fastcgi_params;
}
# service php-fpm start
… php-fpmを起動
# chkconfig php-fpm on
… php-fpmの自動起動を設定
# service nginx configtest
… 設定ファイルの構文をチェック
# service nginx restart
… nginxを再起動
これでnginxでPHPを使うことができる
必要に応じて php-mbstring や gd もインストールし、/etc/php.ini も設定する
/etc/php.ini を編集した場合、以下で php-fpm を再起動する
# service php-fpm restart
nginxの設定方法は Docker.txt も参照