ホームページ バックエンド開発 PHPチュートリアル Nginx リバースプロキシとロードバランシングの実践

Nginx リバースプロキシとロードバランシングの実践

Nov 16, 2017 pm 01:43 PM
nginx 負荷

Nginx (「エンジン x」) は、高性能 HTTP およびリバース プロキシ サーバー、および IMAP/POP3/SMTP サーバーです。 Nginx はリバース プロキシ サーバーとして Web サーバーを高速化し、負荷分散機能を備えています。 nginx は、Web サービスへの通常のアクセスを保証するために、サービスを停止したサーバーを自動的に排除できます。

この例では、ユーザーは 192.168.1.4 にアクセスし、それを 2 つのサーバー 192.168.1.2:80 と 192.168.1.3:80 にプロキシして負荷を実現します。

以下は設定ファイル nginx.conf です:

user www www;
worker_processes 10;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#最大文件描述符
worker_rlimit_nofile 51200;
events {
worker_connections 51200;
}
http {
include conf/mime.types;
default_type application/octet-stream;
keepalive_timeout 120;
tcp_nodelay on;
#nginx的upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,
#如果后端服务器down掉,能自动剔除。另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,
#这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream webserver  {
server 192.168.1.2:80 weight=1;
server 192.168.1.3:80 weight=1;
}
server{
listen 80;
server_name localhost;
location / {
#设置反向代理的地址
proxy_pass http://webserver;
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
log_format localhost '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /data1/logs/www.log localhost ;
}
}
ログイン後にコピー

上記は Nginx リバース プロキシとロード バランシングの実践に関する関連チュートリアルです。皆さんのお役に立てれば幸いです。

関連する推奨事項:

LNMP 環境で Nginx サーバーを Tengine に置き換えるサンプル コード

php Nginx を使用してリバース プロキシを実装する方法

nginx の高同時実行構成パラメーターの詳細な説明

以上がNginx リバースプロキシとロードバランシングの実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Tomcat サーバーへの外部ネットワーク アクセスを許可する方法 Tomcat サーバーへの外部ネットワーク アクセスを許可する方法 Apr 21, 2024 am 07:22 AM

Tomcat サーバーへの外部ネットワーク アクセスを許可する方法

nginxの起動コマンドと停止コマンドとは何ですか? nginxの起動コマンドと停止コマンドとは何ですか? Apr 02, 2024 pm 08:45 PM

nginxの起動コマンドと停止コマンドとは何ですか?

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

thinkphpの実行方法

HAProxy で SSL パススルーを実装する方法 HAProxy で SSL パススルーを実装する方法 Mar 20, 2024 am 09:30 AM

HAProxy で SSL パススルーを実装する方法

nginx へようこそ!それを解決するにはどうすればよいですか? nginx へようこそ!それを解決するにはどうすればよいですか? Apr 17, 2024 am 05:12 AM

nginx へようこそ!それを解決するにはどうすればよいですか?

phpmyadminの登録方法 phpmyadminの登録方法 Apr 07, 2024 pm 02:45 PM

phpmyadminの登録方法

Nodejsプロジェクトをサーバーにデプロイする方法 Nodejsプロジェクトをサーバーにデプロイする方法 Apr 21, 2024 am 04:40 AM

Nodejsプロジェクトをサーバーにデプロイする方法

ウェブサイトにアクセスする際のnginxの問題を解決する方法 ウェブサイトにアクセスする際のnginxの問題を解決する方法 Apr 02, 2024 pm 08:39 PM

ウェブサイトにアクセスする際のnginxの問題を解決する方法

See all articles