1.nginx の概要
nginx は非常に軽量な http サーバーであり、「エンジン x」と発音される nginx は、高性能 http および
リバース プロキシ サーバーは、imap/pop3/smtp プロキシ サーバーでもあります。
2. PHP サポート
現在、さまざまな Web サーバーによる PHP のサポートには 3 つのタイプがあります:
(1) Web サーバー Apache の mod_php5 などのモジュールが実装されており、同様の Apache の組み込み mod_perl
は Perl をサポートできます。
(2) CGI を介して実装されており、これは Perl の以前の CGI とまったく同じです。この方法の欠点は、サーバーが
これらのスクリプトに遭遇するたびに、スクリプトが必要とするパフォーマンスが低いことです。再起動される パーサーはスクリプトを実行し、結果をサーバーに返します;
一方で、あまり安全ではありません; この側面はほとんど使用されません。
(3) 最新のものは fastcgi と呼ばれます。いわゆる fastcgi は cgi を改良したものです。通常、c/s 構造を採用しています。通常、スクリプト プロセッサ
は 1 つ以上のデーモン プロセスを開始します。Web サーバーがスクリプトに遭遇するたびに、スクリプトは実行のために fastcgi プロセスに直接配信され、その後
結果 (通常は HTML) をブラウザに返します。
2.1 apache mod_php モード
私たちは、長い間、古典的な Apache mod_php を使用してきました。
Apache は、Apache モジュールを通じて PHP をサポートします。ソース コードから php をコンパイルしてインストールする場合、Apache で
php をサポートしたい場合は、./configure ステップで --with-apxs2=/usr/local/apache2/bin/apxs を指定する必要があります。
apache の mod_php5/apxs が php5 の解析を提供するようにコンパイラーに指示し、make install の最後のステップで、ダイナミック リンク ライブラリ
libphp5.so がコピーされることがわかります。また、Apache の php サポートを実現するために、libphp5.so モジュールを動的にロードするために httpd.conf 設定ファイルにloadmodule
ステートメントを追加する必要もあります。
2.2 nginx fastcgi モード
nginx は完全に軽量であり、php を解析するためにサードパーティの fastcgi プロセッサを使用する必要があるため、実際にはこの nginx は
非常に柔軟で、サードパーティの解析プロセッサに接続して PHP の解析を実現できます (nginx.conf での設定は簡単です)。
nginx は spwan-fcgi を使用できます。以前のバージョンでは、lighttpd をインストールする必要がありましたが、バージョン 9.10 以降は、spawn-fcgi を直接インストールできるようになりました。
php-fpm と呼ばれる新しいサードパーティの PHP fastcgi プロセッサが登場しました。これについて学ぶことができます。この記事は、spawn-fcgi に基づいて
php モジュールのサポートを実装しています。
2.3 fastcgi のインストール
ファイル /usr/bin/spawn-fcgi は、fastcgi の管理に使用されます。元々は lighttpd パッケージに属していましたが、9.10 以降では、spawn -fcgi
は個別のパッケージに分割されています。
(1) apt-get オンラインインストールコマンドを次のように使用します。
$sudo apt-get install spawn-fcgi
(2) ソースコードのインストールは次のようになります。ダウンロード アドレスは :
解凍後、ディレクトリに移動し、次のインストール コマンドを実行します:
$./configure
$make
$make install
インストール後は、spawn-fcgi コマンドを直接使用でき、その実行ファイルは /usr/local/bin/spawn-fcgi にあります。
3.nginxのインストール
3.1 nginxのインストール
(1) オンラインインストール
$sudo apt-get install nginx
nginx のバージョンは 1.2.1
nginx を ubuntu にインストールした後のファイル構造はおおよそ次のとおりです:
すべての設定ファイルは /etc/ にあります。 nginx に配置されており、各仮想ホストは /etc/nginx/sites-available
に配置されています。起動プログラム ファイルは /usr/sbin/nginx
にあります。ログは /var/ に配置されます。 log /nginx、それらは access.log と error.log
であり、起動スクリプト nginx
が /etc/init.d/ の下に作成されています。デフォルトの仮想ホスト ディレクトリは次の場所に設定されています。 /usr/share/nginx/www
(2) ソースコードのインストール
ダウンロードアドレス:
ここでダウンロードしたのは nginx-1.3.9.tar.gz です。インストールプロセスは次のように非常に簡単です:
$./configure
$make
$make install
インストールが成功すると、nginx は /usr/local/nginx ディレクトリに配置されます。メインの設定ファイルは、conf ディレクトリ内の nginx.conf です。
nginx 起動ファイルは、sbin ディレクトリ内の nginx ファイルです。
3.2 nginxの起動
(1) オンラインインストールの起動手順
$sudo /etc/init.d/nginx start
(2) ソースコードインストールの起動手順
$cd /usr/local/nginx
$sbin/nginx
すると、 http:// / にアクセスできるようになります。 localhost/ 、すべてが機能します。アクセスできない場合は、まだ続行せず、理由を調べて
#解決してから続行してください。
マシンに同時に Apache がインストールされている場合、すべてポート 80 を使用するため、上記のアクセス方法は使用できず、nginx が起動できない可能性があります。ここでは、nginx のポートを 8080 に変更します。
ここでは主に nginx 設定ファイル nginx.conf を変更します。この行を
listen 80;
を
に変更します。Listen 8080;
これで、http://localhost:8080/ にアクセスできるようになります。
3.3 php と mysql のインストール
$sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql
3.4 nginx の php サポートのテスト
(1) nginx の再起動:
$/etc/init.d/nginx restart
(2) fastcgi の開始 ; , php-cgi がインストールされているかどうかを確認し、インストールされている場合は php5-cgi をインストールします。
$sudo apt-get install php5-cgi
(3) テスト
http://localhost/phpinfo.php
を開きます。 4.nginx の設定nginx の設定ファイルは /etc/nginx/nginx.conf で、必要なパラメータを設定します。次のようなステートメントが見つかりました: include /etc/ nginx/sites-enabled/*
/etc/nginx/sites-enabled/default ファイルもコア構成ファイルであり、主要な構成情報
が含まれていることがわかります。サーバーとディレクトリ、サーバー名、位置情報、サーバー情報など。
ソース コードからインストールされた nginx の場合、構成ファイルは /usr/local/nginx/conf/nginx.conf です。
以下では主に場所の一致ルールについて説明します。
(1) = プレフィックス コマンドはこのクエリに厳密に一致します。見つかった場合は、検索を停止します。
(2) 残りの通常の文字列については、最長一致が最初に使用されます。一致に ^~ 接頭辞が使用されている場合、検索は停止します。
(3) 正規表現。設定ファイル内の順序に従って、最初に一致したものが使用されます。
(4) 3 番目のステップで一致が発生した場合は、この結果を使用します。それ以外の場合は、2 番目のステップでの一致結果が使用されます。
location では正規文字列と正規表現を使用できます。
正規表現を使用する場合は、次のルールを使用する必要があります。
(1)~* プレフィックスは大文字と小文字を区別しない一致を選択します
(2)~ サイズを区別するを選択します一致する
を記述します。 例:
location = / {
# / クエリのみに一致します。
[configuration a ]
} location / {
# すべてのリクエストは / で始まるため、任意のクエリに一致します。
# ただし、正規表現ルールと長いブロック ルールがクエリとの一致に優先されます。
[ 構成 b ]
}
場所 ^~ /images/ {
# /images/ で始まる任意のクエリに一致し、検索を停止します。
# 正規表現はテストされません。
[configuration c]
}
location ~* \.(gif|jpg|jpeg)$ {
# gif で始まる任意の項目と一致します、jpg、または jpeg で終わるリクエスト。
# ただし、/images/ ディレクトリへのすべてのリクエストには構成 c が使用されます。
[構成d]
}
以上がUbuntu で Nginx をインストールして構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。