ホームページ  >  記事  >  運用・保守  >  UbuntuにNginxをインストールして構成する方法

UbuntuにNginxをインストールして構成する方法

PHPz
PHPz転載
2023-05-15 18:07:251933ブラウズ

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 php

に対する nginx のサポートをテストする (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 サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。