Memo

メモ > サーバ > 構築: 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の設定ファイルを編集
;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 も参照

Advertisement