ホームページ > バックエンド開発 > PHPチュートリアル > Nginx環境でPhpのインストールが停止する

Nginx環境でPhpのインストールが停止する

WBOY
リリース: 2016-06-13 13:24:38
オリジナル
901 人が閲覧しました

Nginx 環境への PHP のインストール

実はとても簡単なことですが、インストールするたびに寄り道してしまいそうなので、書き留めておこうと思います。

?

CentOS 5.5 
Nginx 1.0.5
Php 5.5.8
ログイン後にコピー

?

1. まず Nginx をインストールします

#tar -zxvf nginx-1.0.5.tar.gz
#cd nginx-1.0.5
#./configure
#make
#make install
ログイン後にコピー

?

2. PHP をインストールし、fastcgi のインストール方法を使用して、fastcgi の長所と短所を確認します (インターネットから抜粋)

[注: Mysql はすでにインストールされており、特別なことはないので説明は省略します]

メリット

  1. PHP スクリプトの実行速度が速くなります (3 ~ 30 倍)。 PHP インタープリターは、必要になるたびにメモリーから読み取られるのではなく、メモリーにロードされるため、スクリプトに依存するサイトのパフォーマンスが大幅に向上します。
  2. 必要なシステム リソースの使用量が少なくなります。サーバーは必要になるたびに PHP インタープリターをロードする必要がないため、CPU の負荷を増やすことなくサイトの送信速度を大幅に向上させることができます。
  3. 既存のコードを変更する必要はありません。そこにあるものはすべて FastCGI for PHP で動作します

潜在的な問題

  1. すべてのサブディレクトリで使用できる php.ini ファイルは 1 つだけです (/home/USERNAME/public_html/php.ini)。 これは、Web サイトのコードを最適化するために必要です。さまざまなスクリプト作成のニーズに対応するために複数の php.ini ファイルが必要な場合は、任意のサブディレクトリで PHP の高速 CGI を無効にし、他の場所ではアクティブなままにしておくことができます。これを行う必要がある場合は、サポートにお問い合わせください。
  2. PHP 環境にアップグレードを行う場合 (php.ini ファイルへの変更など)、数分の遅延が発生します。これは、php.ini ファイルが、必要になるたびにメモリから再読み取られるのではなく、高速化のためにメモリにロードされるためです。

インストール時に php.ini の問題を考慮しませんでした。php-fpm.conf だけを考慮する必要がありました

PHP のインストールは確かに少し異なります。簡単に言えば、別のサービスとして開始されます。

#tar -zxvf php-5.3.8.tar.gz
#cd php-5.3.8

// 编译的时候一定要加入参数--enable-fpm
#./configure --prefix=/usr/local/php --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-mysql=/usr/local/mysql/  --with-pdo-mysql=/usr/local/mysql --enable-soap --enable-sockets --enable-zip --enable-xml --with-curl --enable-mbregex --enable-sysvsem --enable-mbstring --with-mcrypt --enable-fpm
#make
#make install
ログイン後にコピー

?

3. php と nginx を設定します

1. php-fpm を使用して php を起動します

#cd /usr/local/php/etc/
#cp php-fpm.conf.default php-fpm.conf
#vi php-fpm.conf
// 找到如下几行,确保如下几行前没有";"
pid = run/php-fpm.pid
error_log = log/php-fpm.log
listen = 127.0.0.1:9000
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
ログイン後にコピー

?php5.5.8 バージョンでは、簡単に開始、停止、再起動できる php-fpm 管理ツールが提供されています

// 只是我个人习惯把php相关命令丢在这
#cd /usr/local/php/sbin/

// 在安装文件中复制该文件
#cp /downloads/php-5.3.8/sapi/fpm/init.d.php-fpm ./
#chmod 755 init.d.php-fpm

// start | stop | restart
#./init.d.php-fpm start
ログイン後にコピー

?

2.nginx の設定?

#vi /usr/local/nginx/conf/nginx.conf

// 去掉之前的"#"
// SCRIPT_FILENAME如果填错,则显示空白页面
location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

#vi /usr/local/nginx/conf/fastcgi_params

// 注释掉该行,暂时还不知道为啥
#fastcgi_param  REDIRECT_STATUS    200;
ログイン後にコピー

?nginx を開始します

#cd /usr/local/nginx/sbin/

// 测试配置文件是否正确
#./nginx -t

// 启动
#./nginx 

// 重新载入
#./nginx -s reload

// 重启
#./nginx -s reopen
ログイン後にコピー
?

?

?

?

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート