Nginxは、無料のオープンソースの高性能HTTPサーバーであり、彼の「友達」とは異なり、リクエストのスレッド処理に依存せず、代わりに、はるかにスケーラブルなイベント駆動型(非同期)アーキテクチャを使用します。これは、高負荷の下で非常に少量で予測可能な量のメモリを使用します。 Nginxをシンプルで非常に堅牢なFastCGIProcessManager for PHP(PHP-FPM)および世界で最も人気のあるデータベースサーバーMySQLと組み合わせることで、小さなメモリフットプリントを使用しながら、多くのパワーとパフォーマンスを実現できます。
次の記事では、DebianベースのVPSの1つにこのスタックをインストールして設定する方法について説明します。
1。まず、以下を実行して、DebianVPSが完全に最新であることを確認します。
# apt-get update && apt-get -y upgrade --show-upgraded
2。次に、Debianシステムに最新の安定したNginx、PHP、MySQLを含めるには、DotDebリポジトリをソースに含める必要があります。
# echo -e "deb http://packages.dotdeb.org squeeze all" >> /etc/apt/sources.list
3。ソースにリポジトリを追加したので、GPGキーをインポートする必要があります 。 これを行うには、次のステートメントを実行します:
# gpg --keyserver keys.gnupg.net --recv-key 89DF5277 && gpg -a --export 89DF5277 | apt-key add -
–次のような出力が得られるはずです。
gpg:hkpサーバーkeys.gnupg.netからキー89DF5277を要求しています
gpg:キー89DF5277:公開キー「GuillaumePlessis」がインポートされました
gpg:最終的に信頼できるキーが見つかりません
gpg:処理された総数:1
gpg:インポートされた:1(RSA:1)
OK
4。これで、DotDebリポジトリが完全にセットアップされたため、次を実行してソースを更新する必要があります。
# apt-get update
–システムでApache Webサーバーを実行している場合は、後でNginxを起動できるように、ApacheWebサーバーを停止して無効にする必要があります。これを行うには、次のコマンドを実行します。
# [[ $(pgrep apache2) ]] && service apache2 stop && update-rc.d -f apache2 disable
5。次のコマンドを実行して、LEMP(Linux Nginx MySQLおよびPHP)スタックをインストールします。
# apt-get -y install nginx # apt-get -y install php5-fpm php5-gd php5-curl php5-mysql # apt-get -y install mysql-server
6。次に、単純なnginx仮想ホストディレクティブを構成します。これを行うには、お気に入りのエディターを使用して、「/ etc / nginx / sites-available/example」に新しい構成ファイルを作成します。
server { server_name example.com www.example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log error; root /var/www/; index index.php index.html index.htm; location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; ## prevent php version info fastcgi_hide_header X-Powered-By; } }
「example.com」を目的のドメイン名に置き換えてください。また、ドキュメントのルートとログのパスを好みに合わせて自由に設定してください。
7。 vhost構成ファイルを作成したら、実際に有効にする必要があります。これは、新しく作成されたvhostディレクティブのシンボリックリンクを「/ etc / nginx /sites-enabled/」に追加することで実行できます。したがって、実行します:
# ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/
8。これらすべてが整ったので、サービスを開始する準備が整いました。 Nginx、PHP、およびMySQLサーバーをリロードするには、次のコマンドを実行します。
# for s in nginx php5-fpm mysql; do service $s restart; done
9。次に、テストPHP情報ページを作成して、すべてが正常かどうかをテストできるようにします。
# echo -e "<?php\n\tphpinfo();\n?>" > /var/www/info.php # chown -R www-data: /var/www/
次に、「http://example.com/info.php」に移動します。 PHPの組み込み情報ページが表示されます。
最適化して処理を高速化するために、キャッシュエンジンをインストールすることをお勧めします。 PHP-APCキャッシュはパフォーマンスを大幅に向上させることができるため、次の方法でインストールしてください。
# apt-get -y install php5-apc && service php5-fpm restart
デフォルトのAPC設定は問題ありませんが、もちろんオプションをカスタマイズすると大幅にスピードアップできるので、次の記事のいくつかでLEMPスタックの高度な最適化について詳しく説明し、仮想プライベートで使用できるようにします。サーバー。
PS。 この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。