ホームページ >バックエンド開発 >PHPチュートリアル >nginx の構成とインストールのチュートリアル
nginx の構成とインストールのチュートリアル
Nginx (「エンジン」 Nginx は Igor によって提供されています Sysoev は、ロシアで 2 番目にアクセス数の多い Rambler.ru サイト用に開発されました。最初の公開バージョン 0.1.0 は、 2004 年 10 月 4 日にリリースされました。 BSD のようなライセンスの下でソース コードをリリースしており、その安定性、豊富な機能セット、サンプル構成ファイル、およびシステム リソースの消費量の少なさで知られています。 2011年6月1日、nginx 1.0.4をリリースしました。 一般に、最初にpcreとzlibをインストールする必要があります。前者は書き換えrewrite
用であり、後者はgzip圧縮用です。
1.
ソースコードディレクトリを選択します
選択したディレクトリ /usr/local/
cd /usr/local/
2.
PCREライブラリをインストールする
cd /usr/local/wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
tar -zxvf pcre-8.21.tar.gz
cd pcre-8.21
./configure
作る
メイクインストール
3.zlib
ライブラリをインストールするcd /usr/local/
wget
http://zlib.net/zlib-1.2.8.tar.gztar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8
./configure
作る
メイクインストール
4.SSLをインストールする
cd /usr/local/
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
./config
作る
メイクインストール
5.
nginxをインストールする
Nginx には通常、安定版と開発版の2つのバージョンがあり、目的に応じてどちらかを選択できます。 以下は、 /usr/local/nginx
ディレクトリにインストールします。以下の手順:
cd /usr/local/
wgethttp://nginx.org/download/nginx-1.2.8.tar.gz tar -zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8
./configure
--prefix=/usr/local/nginx 作る
メイクインストール
--with-pcre=/usr/src/pcre-8.21 は、pcre-8.21
のソースコードパスを指します。--with-zlib=/usr/src/zlib-1.2.7
は、zlib-1.2.7 のソースコードパスを指します。
6.スタート システムの 80
ポートが他のプログラムによって占有されていないことを確認してください。/usr/local/nginx/sbin/nginx
起動が成功したかどうかを確認します。
netstat -ano|grep 80
結果が入力されていれば起動成功です
ブラウザを開いて、このマシンの IP
にアクセスします。ブラウザにWelcome to nginx!
が表示されている場合は、Nginx がインストールされ、正常に実行されていることを意味します。
7.再起動
/usr/local/nginx/sbin/nginx –s reload
8.設定ファイルを変更する
cd /usr/local/nginx/conf
vi nginx.conf
9.一般的なnginx設定
#nginxユーザーとグループを実行する
ユーザー www www
#プロセス開始
、は通常、
cpu
の数に設定されますworker_processes 4;
#グローバルエラーログとPIDファイル
pid /var/run/nginx.pid;
error_log /var/log/nginx/error.log;
イベント{
O p#EPOLLは、Io (I/O Multiplexing) 、を複数の方法で再利用する方法ですが、linux2.6以降のカーネル、 、のみを対象としています。 、 パフォーマンスを大幅に向上させることができますnginx
epoll を使用する;️ #
単一のバックグラウンドワーカープロセスプロセスの同時接続の最大数 worker_connections 10240;
}
#
httpサーバーをセットアップし、そのリバースプロキシ機能を使用して負荷分散サポートを提供します http{
含む
T Default_Type アプリケーション/OCTET ストリーム
エラーページ 400 403 500 502 503 504 /50x.html;
インデックスindex.htmlindex.shtml
自動インデックスがオフ;
fastcgi_intercept_errors オン;
ファイルを送信します;
# これらは適切なデフォルト値です。
tcp_nopush on;
tcp_nolay オフ;
# 出力圧縮により帯域幅が節約されます
gzip オフ;
#gzip_static on;
#gzip_min_length 1k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_buffers 4 16k;
gzip_proxied any;
gzip_disable "MSIE [1-6]。";
gzip_types テキスト/プレーンテキスト/html テキスト/css アプリケーション/x-javascript アプリケーション/xml アプリケーション/xml+rss テキスト/javascript;
#gzip_vary on;
サーバー名_in_redirect オフ;
#負荷分散サーバーリストを設定する
上流ポータル {
️サーバー 172.16.68.134:8082 max_fails=2 failed_timeout=30s;️サーバー 172.16.68.135:8082 max_fails=2fail_timeout=30s;
サーバー172.16.68.136:8082 MAX_FAILS = 2 FAIL_TIMEOUT = 30S;
️サーバー 172.16.68.137:8082 max_fails=2fail_timeout=30s;
}
#アップストリーム オーバーフロー {
~#
#}
サーバー {
8080 を聞いてください;
サーバー名 127.0.0.1; #403、
404ページ リダイレクト アドレス
error_page 403 = http://www.e100.cn/ebiz/other/217/403.html;error_page 404 = http://www.e100.cn/ebiz/other/218/404.html;
proxy_connect_timeout 90;
proxy_send_timeout proxy_send proxy_send 180;
proxy_read_timeout 180 について
proxy_buffer_size 64k;
proxy_buffers 4 128k;
proxy_busy_buffers_size 128k;
large_client_header_buffers 4 64k;
#proxy_read_timeout
#proxy_buffer_size
#proxy_buffers
proxy_set_header ホスト $http_host;
proxy_max_temp_file_size 0;
#proxy_hide_header Set-Cookie;
# if ($host != 'www.e100.cn' ) {
# 書き換え ^/(.*)$ http://www.e100.cn/$1 永久;
# }
場所 / {
すべて拒否する;
}
場所 ~ ^/resource/res/img/blue/space.gif {
proxy_pass http://teopera;
}
場所 = / {
^(.*)$ /ebiz/event/517.html last;を書き換えます
}
location = /ebiz/event/517.html {
add_header Vary Accept-Encoding;
root /data/web/html;
有効期限は 10 分です。
}
location = /check.html {
root /usr/local/nginx/html/;
access_log off;
}
location = /50x.html {
root /usr/local/nginx/html/;
有効期限は 1 分です。
access_log off;
}
場所 = /index.html {
add_header Vary Accept-Encoding;
#サーバーのデフォルトのWebサイトルートの場所を定義します
root /data/web/html/ebiz;
10m;
}
#リバース プロキシ アクセス名を定義する
場所 ~ ^/ecps-portal/* {
# 有効期限は 10 分です;
#リダイレクトクラスター名
proxy_pass http://portals;
#proxy_pass http://172.16.68.134:8082;
}
場所 ~ ^/fetionLogin/* {
# 有効期限は 10 分です;
proxy_pass http://portals;
#proxy_pass http://172.16.68.134:8082;
}
suxed期限切れになった
️
️#}
場所 ~ ^/rsmanager/* {
10m;
root /data/web/;
#proxy_pass http://rsm;
}
# nginxによって処理されるページサフィックスの定義
場所 ~* (.*).(jpg|gif|htm|html|png|js|css)$ {
#ページのキャッシュ時間は10分です
️有効期限は 10 分です。}
#
Nginxのステータスを表示するアドレスを設定します 場所 ~* ^/NginxStatus/ {
stub_status on;
access_log off;
️ 10.1.252.126 を許可します。
️ 10.248.6.49;を許可します
️ 127.0.0.1 を許可します;
}
# error_page 405 =200 @405;
#
️
# proxy_pass#
access_log /data/logs/nginx/access.log の組み合わせ;
error_log /data/logs/nginx/error.log;
}
サーバー {
8082 を聞いてください;
location = /check.html {
root /usr/local/nginx/html/;
access_log off;
}
}
サーバー {
聞いてください 8088;
サーバー名 _;
場所 ~ ^/* {
root /data/web/b2bhtml/;
access_log off;
}
}
サーバー {
聞いてください 9082;
サーバー名 _;
# location ~ ^/resource/* {
# 有効期限は 10 分です;
# root /data/web/html/;
# }
場所 / {
root /data/web/html/sysMaintain/;
if (!-f $request_filename) {
^/(.*)$ /sysMaintain.html last;を書き換えます
}
}
}
}
以上は、nginx 構成に関する内容を含む nginx 構成インストールの教程を紹介しましたが、PHP 教程に関心のある友人の助けになることを望みます。