ホームページ > バックエンド開発 > PHPチュートリアル > Ubuntu で nginx+php+fastcgi を構成するプロセス

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

WBOY
リリース: 2016-06-23 13:43:47
オリジナル
1024 人が閲覧しました

過去 2 日間、Ubuntu14.04 で nginx と php 環境をセットアップする必要があり、fastcgi の問題に多くの時間を費やしました。 , そこで、プロセス全体を記録してみんなに共有することにしました。


準備:

apt-get update
ログイン後にコピー


1. nginx をインストールして起動します

apt-get install nginxsudo /etc/init.d/nginx start
ログイン後にコピー

2. php と関連する

sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql
ログイン後にコピー
をインストールします。

3. FastCGI

を実行する前にこれを行う必要があります。 FastCGI については、C/S 構造を採用しており、HTTP サーバーが動的リクエストを受信したときに、HTTP サーバーとスクリプト解析サーバーを分離することができます。リクエストは FastCGI プロセスに転送され、FastCGI プロセスは動的スクリプトを実行し、結果を HTTP サーバーに返します。これにより、HTTP サーバーは最終的に結果をブラウザに返します。これにより、リクエストの応答速度が大幅に向上します。


FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI を実装するにはいくつかの方法があります

PHP-CGI は、PHP に付属する FastCGI マネージャーです。次のコマンドを使用して PHP-CGI を開始できます。

php- cgi -b 127.0.0.1:9000

PHP-CGI には 2 つの問題があります。1 つは、php.ini を変更した後、有効にするために php-cgi を再起動する必要があることです。もう 1 つは、php.ini を変更した後に php を実行できないことです。 php-cgi プロセスがクラッシュするか強制終了されます。


PHP-FPM は、PHP 5.3.3 以降に追加された新しい CGI マネージャーです。PHP の設定変更後の再起動の必要がなく、デーモンの追加により強制終了してもすぐに再起動できます。


Spawn-FCGI は、単なる PHP 用のスクリプト言語ではなく、汎用の FastCGI マネージャーです。ただし、効率と CPU 使用率の点では PHP-FPM より劣ります。


4. PHP-FPM

PHP-FPM が最良の方法なので、今すぐ設定しましょう。 PHP-FPM は独立したプロセスであるため、Nginx と通信する必要があります。現在、通信方式には tcp とソケットの 2 つがあります。 2 つの方法の違いと設定方法については、次の 2 つの記事を参照してください:

nginx と php-fpm の通信は Unix ソケットまたは TCP を使用し、その設定

Php-fpm TcpSocket と UnixSocket


ここで設定方法を見てみましょう。どちらの方法も主に nginx 設定ファイル (/etc/nginx/sites-available/default) と fpm 設定ファイル (/etc/php5/fpm/pool.d/www.conf) を変更します。 )。


TCP 構成方法では、nginx 構成ファイル内の対応するリバース プロキシの fastcgi_pass パラメーターを 127.0.0.1:9000 に変更し、fpm 構成ファイル内の listen パラメーターを 127.0.0.1:9000 に変更する必要があります。


ソケット構成方法では、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.confsudo sysctl -p
ログイン後にコピー

両方の設定方法を変更した後、php-fpm と nginx を再起動する必要があります。

sudo service php5-fpm restartsudo /etc/init.d/nginx reload
ログイン後にコピー


5. PHP サイトを実行します

上記の設定が完了したら、テストするための簡単な PHP ページを作成できます。

Web サイトのディレクトリを作成します:

sudo mkdir /var/www/
ログイン後にコピー

nginx 構成ファイルのルート ディレクトリを root /var/www に変更します。

テスト ページを追加します:

sudo vi /var/www/test.php
ログイン後にコピー

次のコードを追加します。リーリー


この時、ブラウザにアドレス http://localhost/test.php を入力すると、phpの情報が表示されます。


一般的に使用されるコマンド:

1. nginx の起動エラーを確認します

<?php phpinfo();?>
ログイン後にコピー



役に立ったと思われる場合は、助けていただければ幸いです、ありがとう:)

個人ブログ: http://blog.csdn.net/zhaoxy2850

この記事のアドレス:
転載の際は出典を明記してください、よろしくお願いします!


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