この記事では詳しい解説を中心に紹介していますLinuxinstallphp環境下に、php-fpmモジュールをサポートするようにNginxを設定します、興味のある友人はそれを参照できます
以下では、PHP 実行環境をインストールする例として、PHP の公式 Web サイトを開き、ナビゲーション バーの [ダウンロード] をクリックしてダウンロードに入ります。ページにアクセスして、最新バージョンの php 7.0.5 ソース コード パッケージをダウンロードします:
ダウンロード後サーバーにアップロード
PHP のインストールにはコンパイルが必要なため、サーバーは gcc および g++ 環境のインストールを確認する必要がありますインストールパッケージをリリースします:tar -xvzf php-7.0.5.tar.gz cd php-7.0.5
yum -y install libxml2 yum -y install libxml2-devel
yum -y install openssl yum -y install openssl-devel yum -y install curl yum -y install curl-devel yum -y install libjpeg yum -y install libjpeg-devel yum -y install libpng yum -y install libpng-devel yum -y install freetype yum -y install freetype-devel yum -y install pcre yum -y install pcre-devel yum -y install libxslt yum -y install libxslt-devel yum -y install bzip2 yum -y install bzip2-devel
./configure --prefix=/usr/local/php --with-curl --with-freetype- dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with- mysql i --with-openssl --with-pcre-regex --with- pdo -mysql --with-pdo- sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-m hash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mb string --enable- opcache --enable-pcntl --enable-shmop --enable- soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
make
make install
cp php.ini-development /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp sapi/fpm/php-fpm /usr/local/bin
設定ファイルを開いてcgiを見つけます。 fix_pathinfo設定項目はデフォルトでコメント化しており、値は1です。公式ドキュメントによると、これはNginxがバックエンドPHP-FPMにリクエストを送信するのを防ぐためです。ファイルが存在しない場合はモジュールを追加し、悪意のあるスクリプトインジェクション攻撃を回避するため、この項目のコメントを解除して 0 に設定する必要があります
設定後、保存して終了します
もう一つ注意すべきことは、 php.ini 設定ファイルはプリコンパイル設定パラメータに設定でき、コンパイル パラメータは次のように記述できます。 --with-config-file-path=/usr/local/php この場合、PHP は元に戻ります。このパラメータが追加されていない場合、デフォルトの場所は PHP インストール ディレクトリの下の lib ディレクトリになり、phpinfo() 出力インターフェイスでも詳細を確認できます。 php.ini が他の場所に配置され、PHP がそれを読み取ることができない場合、すべての設定変更は有効になりませんので注意してくださいこの時点では、まず Web ユーザーを作成する必要があります:groupadd www-data useradd -g www-data www-data
この時点で任意の場所に追加すると、php-fpm起動時にディレクトリが見つからないエラーが報告されるため、この時点ではphp-fpm.conf
にユーザーを追加しないでください。 php-fpm.conf の最後の行に移動すると、次の内容が見つかります (コンパイル時に --prefix オプションを追加すると、以下の位置が自動的に補完されます。デフォルトでは、以下は空です。注意):
php-fpm.d ディレクトリ内のすべての conf 設定ファイルがここで紹介されていますが、実際のディレクトリに変更する必要があるものはありません: /usr/local
デフォルトでは、 etc/php-fpm.d/ の下の名前 www.conf.defalut のユーザー ファイルを構成するには、次のコマンドを実行して新しいファイルをコピーし、それを開きます:
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf vim /usr/local/etc/php-fpm.d/www.conf
デフォルトのユーザーとグループの設定は、nobody です。変更してください。 to www-data
変更が完了したら、保存して終了し、次のコマンドを実行して php-fpm サービスを開始します:
/usr/local/bin/php-fpm
開始後、php-fpm サービスはデフォルトでポート 9000 を使用します。 netstat -tln | grep 9000 でポートの使用状況を確認します:
9000端口正常使用,说明php-fpm服务启动成功
然后执行 vim /usr/local/nginx/nginx.conf
编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:
然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:
这里面很多都是默认的,root是配置php程序放置的根目录,主要修改的就是fastcgi_param中的/scripts为$document_root
修改完上面的,回到nginx.conf第一行,默认是#user nobody; 这里要去掉注释改为user www-data;或者user www-data www-data;表示nginx服务器的权限为www-data
修改完这些保存并退出,然后重启nginx:
/usr/local/nginx/nginx -s stop /usr/local/nginx/nginx
接下来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:
<?php phpinfo(); ?>
然后打开浏览器输入对应的地址进行访问,看到输出页面,说明nginx和php都配置成功了:
相关文章:
以上がLinux での php 環境のインストールと、php-fpm モジュールをサポートするように Nginx を構成する方法の詳細な紹介 (画像とテキスト)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。