Ubuntuでnginx+php+fastcgiを構成するプロセス


この2,3日Ubuntu 14で04にnginxとphpの環境を構築し、配置の過程でfastcgiの問題に多くの時間を費やし、ネット上の資料の多くは長年修理されていないので、全体の過程を記録し、みんなに共有することにした.
準備:
apt-get update

1.nginxをインストールして起動する
apt-get install nginx
sudo /etc/init.d/nginx start

2.phpのインストールと関連
sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql

3. FastCGI
phpサイトを実行する前にFastCGIを理解する必要があります.FastCGIは、HTTPサーバと動的スクリプト言語との間で伸縮可能かつ高速に通信できるインタフェースです.C/S構造を採用し、HTTPサーバとスクリプト解析サーバを分離することができます.HTTPサーバが動的要求に遭遇すると、FastCGIプロセスにリクエストが転送されます.FastCGIプロセスは、動的スクリプトを実行した後に結果をHTTPサーバに返し、HTTPサーバは最終的に結果をブラウザに返します.これにより、リクエストの応答速度が大幅に向上します.
FastCGIを実現するにはいくつかの方法があり、PHP-CGI、PHP-FPM、Spawn-FCCI
PHP-CGIはPHPに付属のFastCGIマネージャで、PHP-CGIを起動するには以下のコマンドを使用できます.
php-cgi -b 127.0.0.1:9000
PHP-CGIには2つの問題があり、1つはphpを変更することである.ini後にphp-cgiを再起動する必要があります.2つ目はphp-cgiプロセスがクラッシュしたり、殺されたりした後にphpが実行できなくなります.
PHP-FPMはPHP 5.3.から3以降に新しく加入したCGIマネージャは、PHP構成を変更した後に再起動する必要がなく、デーモンプロセスが加わったため、殺されても速やかに再起動できる.
Spawn-FCGIは、PHPのスクリプト言語だけでなく、一般的なFastCGIマネージャです.しかし、効率、CPU占有などの面ではPHP-FPMに及ばない.
4. PHP-FPM
PHP-FPMの方式が一番いい以上、今から構成してみましょう.PHP−FPMは独立したプロセスであるため、Nginxと通信する必要がある.現在、tcpとsocketの2つの通信方式があります.2つの方法の違いと構成方法については、次の2つの記事を参照してください.
nginxとphp-fpm通信はunix socketを使用するかTCPを使用するか、その構成
Php-fpm TcpSocket vs UnixSocket
ここでプロファイルを簡単に説明すると、どちらもnginxのプロファイル(/etc/nginx/sites-available/default)とfpmのプロファイル(/etc/php 5/fpm/pool.d/www.conf)を主に変更します.
TCPプロファイルには、nginxプロファイル内の対応するリバースエージェントのfastcgi_が必要です.passパラメータを127.0に変更する.0.1:9000、fpmプロファイルのlistenパラメータを127.0に変更する.0.1:9000.
Socketプロファイルには、nginxプロファイル内の対応するリバースエージェントのfastcgi_が必要です.passパラメータをunix:/dev/shm/fpm-cgiに変更した.sock,fpmプロファイルのlistenパラメータを/dev/shm/fpm-cgiに変更する.sock、高同時性を考慮するとlisten.backlogパラメータを-1に変更し、メモリの蓄積が無限に大きい.また、カーネルレベルの同時接続数を上げる、/etc/sysctlを変更することもできる.conf:
sudo echo 'net.core.somaxconn = 2048' >> /etc/sysctl.conf
sudo sysctl -p

両方の構成方法の変更が完了したらphp-fpmとnginxを再起動する必要があります.
sudo service php5-fpm restart
sudo /etc/init.d/nginx reload

5.phpサイトの実行
以上の構成が完了すると、簡単なphpページを書いてテストすることができます.
Webサイトのディレクトリを作成するには、次の手順に従います.
sudo mkdir /var/www/

nginxプロファイルでrootディレクトリをroot/var/wwwに変更します.
テストページを追加します.
sudo vi /var/www/test.php

次のコードを追加します.
<?php phpinfo();?>

ブラウザにアドレスを入力http://localhost/test.phpああ、phpの情報が見えます.
一般的なコマンド:
1.nginx起動エラーの確認
sudo nginx -c /etc/nginx/nginx.conf -t

もし皆さんが自分に役に立つと思ったら、助けてほしいです.ありがとうございます.
個人ブログ:http://blog.csdn.net/zhaoxy2850
本住所:http://blog.csdn.net/zhaoxy_thu/article/details/41851389
転載は出典を明記してください.ありがとうございます.