メモ > サーバ > 構築: Webサーバ設定 > nginx+PHP7
■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の設定ファイルを編集
これでnginxでPHPを使うことができる
必要に応じて php-mbstring や gd もインストールし、/etc/php.ini も設定する
/etc/php.ini を編集した場合、以下で 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を再起動
# service php-fpm restart
nginxの設定方法は Docker.txt も参照