アリ雲の実験
10.0.0.132 LB
10.0.0.133 WEB01
10.0.0.134 WEB02
手順:
1.インストールnginx1.14
公式サイトのレポファイルを入手 yumを インストール -y nginxのを
2.設定ファイル、Webサーバは同じです
[ルート@ WEB01 conf.d]#の猫のwww.confの サーバー{ 聞く80 。 SERVER_NAME ali.xiao.com; 位置 / { ルート /コード/ アリ。 インデックスindex.htmlを。 } } ます。mkdir -p /コード/ アリ エコー " WEB01 10.0.0.133 " > /code/ali/index.html
3.文法の検出、およびサービスを開始
nginxのは- トン
systemctl nginxの起動します
均衡4.設定7つの負荷
1)proxy_params作成
2)コンフィギュレーションをロードバランシングを作成します
[ルートプロキシconf.d @]#の猫proxy.conf 上流アリ{ サーバー10.0。0.133:80 ; サーバー10.0。0.134:80 ; } サーバー{ 聞く80 。 SERVER_NAME ali.xiao.com; 位置 / { proxy_passのhttp:// アリ。 proxy_paramsが含まれます。 } }
5.設定均衡4つのロード
マスター設定ファイル/etc/nginx/nginx.confを修正1)は、HTTP上で、以下の情報を追加します
#4のエージェントを追加 含ま /etc/nginx/conf.c / * .confの
2)4つの負荷の設定ファイル
MKDIR -pの/ etc / nginxの/ conf.c VIM /etc/nginx/conf.c/ proxy.conf ストリーム{ 上流ssh_web01 { サーバー10.0。0.133:22 ; } 上流ssh_web02 { サーバー10.0。0.134:22 ; } サーバー{ 聞く5555 。 proxy_pass ssh_web01; } サーバー{ 聞く6666を。 proxy_pass ssh_web02; } }
TCPの練習のバランスをとるnginxの負荷
要件次の層に配置されnginx4負荷分散
ポート22が実際WEB01の後端に提供している1バランスアクセスロードポート5555は、
2バランスアクセスロードポート6666を、ポート3306は、サービスMySQLで実際に
MySQLのに基づいて、4つのロードバランシング
1)実験環境
LB01 172.16。1.5 10.0。0.5 WEB01 172.16を。1.7 DB01 172.16。1.71
2)4層のロードバランシングの設定ディレクトリを作成します。
MKDIR /etc/nginx/conf.c -p
3)変更LB01マスタープロファイル
VIM /etc/nginx/nginx.conf、HTTPの上に以下の情報を追加
#4のエージェントを追加 含ま /etc/nginx/conf.c / * .confの
4)4ロードバランシングコンフィギュレーションファイルを作成します。
#vimのstream.conf [1B01 conf.c @ルート] ストリーム{ #は、仮想リソースプールを定義 上流SSH { サーバー172.16。1.7:22 ; } {MySQLの上流 サーバー172.16。1.71:3306 ; } リソースの仮想プール呼び出す# サーバー{ 聞くには5555 ; proxy_connect_timeoutのLS; proxy_timeout 300S; proxy_passのSSH ; } サーバー{ 聞く6666 。 proxy_connect_timeout 1S; proxy_timeout 300S; proxy_pass mysqlの。 } }
5)。構文チェック、およびサービスを再起動します
nginxの- トン
systemctlリロードnginxの
nginxの静的及び動的分離
ミドルウェア要求分離を通じて静的および動的な要求を分離運動、分離リソースが、要求の無駄な消費、遅延を低減する要求を減らします。
おいしい:動的なサービスが利用できませんが、静的リソースが影響を受けていない場合でも、静的および動的な分離、
1.環境の準備します
システムサービスアドレス centso7。7 ロードバランシングのプロキシnginxの 10.0。1.5 centso7。7つの 静的リソース静的nginxの 10.0。1.7 centso7。7 動的なリソースサーバNginxは 10.0。1.8
2.サーバーの設定の静的リソース10.0.1.7
[root@web01 conf.d]# cat df.conf server { listen 80; server_name ds.xiao.com; root /soft/code; index index.html; location ~* .*\.(jpg|png|gif)$ { root /soft/code/images; } } # 准备,目录已经静态相关图片 mkdir -p /soft/code/images wget -O /soft/code/images/nginx.png http://nginx.org/nginx.png systemctl reload nginx
3.在10.0.1.8服务器上配置动态资源
yum install -y tomcat systemctl start tomcat mkdir /usr/share/tomcat/webapps/ROOT cd /usr/share/tomcat/webapps/ROOT/ [root@web02 ROOT]# cat java_test.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <HTML> <HEAD> <TITLE> jsp </TITLE> </HEAD> <BODY> <% Random rand = new Random(); out.println("<h1>Random number:</h1>"); out.println(rand.nextInt(99)+100); %> </BODY> </HTML>
4.在负载均衡10.0.1.5上配置调度,实现访问jsp和png
[root@1b01 conf.d]# cat ds.conf upstream static { server 172.16.1.7:80; } upstream java { server 172.16.1.8:8080; } server { listen 80; server_name ds.xiao.com; location / { root /code/soft; index index.html; } location ~ .*\.(jpg|png|gif)$ { proxy_pass http://static; include proxy_params; } location ~ .*\.jsp$ { proxy_pass http://java; include proxy_params; } }
5.通过负载测试访问静态资源
6.通过负载测试访问动态资源
7.在负载均衡10.0.1.5整合动态和静态资源的html文件
mkdir -p /code/soft [root@1b01 conf.d]# cat /code/soft/index.html <html lang="en"> <head> <meta charset="UTF-8" /> <title>测试ajax和跨域访问</title> <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script> </head> <script type="text/javascript"> $(document).ready(function(){ $.ajax({ type:"GET", url:"http://ds.xiao.com/java_test.jsp", success: function(data) { $("#get_data").html(data) }, error: function() { alert("fail!!,请刷新重试"); } }); }); </script> <body> <h1>测试动静分离</> <img src="http://ds.xiao.com/nginx.png"> <div id="get_data"></data> </body> </html>
8.测试动态和静态资源是否能正常加载在一个html文件中
9.当使用systemctl stop nginx停止Nginx后,会发现静态内容无法访问,动态内容依旧运行正常
10.当使用systemctl stop tomcat停止tomcat后,静态内容依旧能正常访问,动态内容将不会被请求到