1. 程式人生 > >Apache+Tomcat叢集實現反向代理負載均衡

Apache+Tomcat叢集實現反向代理負載均衡

一. Apache+Tomcat叢集實現反向代理的負載均衡的原理:
Apache作為排程器,轉發HTTP請求。然後等待實際伺服器的HTTP響應,並轉發給使用者。
Tomcat叢集作為實際的伺服器,處理HTTP請求。

二. 需要安裝的程式:
1. Apache2.2.4
2. 4個Tomcat7(注意修改server.xml)

三. 修改配置檔案:
我這裡的埠設定如下,請先確保這些埠沒有被使用,也可以自己修改:

Apache:8090
Tomcat1:伺服器埠:8004
	 HTTP埠:8080
	 AJP埠:8009
Tomcat2:伺服器埠:8005
	 HTTP埠:8081
	 AJP埠:8010

1. Apache24\conf\httpd.conf

① Apache2以後已經集成了很多Module,因此只要把註釋去掉就可以了。
我這裡主要放開了下面這些Module:
#LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_core_module modules/mod_authn_core.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_socache_module modules/mod_authn_socache.so
#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule authz_core_module modules/mod_authz_core.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule cache_socache_module modules/mod_cache_socache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule data_module modules/mod_data.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule heartbeat_module modules/mod_heartbeat.so
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
#LoadModule http2_module modules/mod_http2.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule lua_module modules/mod_lua.so
#LoadModule macro_module modules/mod_macro.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_http2_module modules/mod_proxy_http2.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
#LoadModule reflector_module modules/mod_reflector.so
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule request_module modules/mod_request.so
#LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_crypto_module modules/mod_session_crypto.so
#LoadModule session_dbd_module modules/mod_session_dbd.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so

② 要進行虛擬主機的設定,需要放開下面的註釋:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

2. Apache24\conf\extra\httpd-vhosts.conf
在最下面加入虛擬機器配置(我Apache的埠設為8090):
#虛擬機器配置,負載均衡配置
<VirtualHost *:8090>
    ServerAdmin [email protected]
    ServerName localhost
    ServerAlias localhost
    ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=On
    ProxyPassReverse / balancer://cluster/
</VirtualHost> 

在最下面加入代理伺服器的配置:
#The ProxyRequests directive should usually be set off when using ProxyPass.
ProxyRequests Off
<proxy balancer://cluster>
    BalancerMember ajp://localhost:8009 loadfactor=1 route=jvm1  smax=5 max=20 ttl=120 retry=300 timeout=15
    BalancerMember ajp://localhost:8010 loadfactor=1 route=jvm2  smax=5 max=20 ttl=120 retry=300 timeout=15
    BalancerMember ajp://192.168.3.100:9009 loadfactor=1 route=jvm3  smax=5 max=20 ttl=120 retry=300 timeout=15
    ProxySet lbmethod=byrequests
#lbmethod=byrequests 按照請求次數均衡(預設) 
#lbmethod=bytraffic 按照流量均衡 
#lbmethod=bybusyness 按照繁忙程度均衡(總是分配給活躍請求數最少的伺服器)
</proxy>

這裡有幾點需要注意:
① 代理伺服器分發請求給各伺服器的方法設定lbmethod有3種,需要去掉httpd.conf中對應Module的註釋:
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so

② 下面這兩個就是對應的Tomcat伺服器

    BalancerMember ajp://localhost:8009 loadfactor=1 route=jvm1  smax=5 max=20 ttl=120 retry=300 timeout=15
    BalancerMember ajp://localhost:8010 loadfactor=1 route=jvm2  smax=5 max=20 ttl=120 retry=300 timeout=15
可以看出,他們Apache用了AJP協議與Tomcat進行通訊,因此localhost後面8009和8010也必須是Tomcat中AJP協議的埠號,而不是HTTP協議的埠號8080和8081。
另外,route=jvm1和route=jvm2在Tomcat中也有設定對應,後面會說明。

③ 下面這個就有點特殊了
BalancerMember ajp://192.168.3.100:9009 loadfactor=1 route=jvm3  smax=5 max=20 ttl=120 retry=300 timeout=15
我這裡試了一下非本機的伺服器192.168.3.100
設定沒問題,直接開啟該伺服器上的測試頁面也沒問題,可是從Apache就是跳不到。
後來想了一下,可能是由於這個伺服器的閘道器與本機不一樣,也就是說不是在一個局域網裡面。
本機:


192.168.3.100:


3. Apache的啟動

3.1. httpd.conf中,修改Apache的路徑:

Define SRVROOT "D:\Apache24"
ServerRoot "${SRVROOT}"
我的Apache的安裝路徑為:D:\Apache24

埠設定:
Listen 8090

伺服器名設定:
ServerName localhost:8090

3.2. 在cmd裡面,啟動Apache服務:
① 移動到D:\Apache24\bin目錄下,執行 httpd -k install

Apache2.4服務被新增到windows服務裡面了。

② 執行 net start Apache2.4  ,啟動Apache2.4服務


③ 刪除服務用 sc delete Apache2.4
 

④ 如果有其他錯誤,可以去 Apache/logs/error.log 裡面找

4. TomcatX\conf\server.xml
下面以Tomcat1為例:
① 伺服器埠設定為8004:
<Server port="8004" shutdown="SHUTDOWN">

② HTTP埠設定為8080:

<Connector port="8080" protocol="HTTP/1.1"

③ AJP埠設定為8009:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

④ AJP協議的jvmRoute設定:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
這裡的jvm1與Apache的jvmRoute對應。

⑤ 在④的後面插入下面這段:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"  channelSendOptions="6"> 
<Manager className="org.apache.catalina.ha.session.BackupManager" 
expireSessionsOnShutdown="false" 
notifyListenersOnReplication="true" 
mapSendOptions="6"/> 
<!-- 
<Manager className="org.apache.catalina.ha.session.DeltaManager" 
expireSessionsOnShutdown="false" 
notifyListenersOnReplication="true"/> 
--> 

                  <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"/>

<Channel className="org.apache.catalina.tribes.group.GroupChannel"> 
<Membership className="org.apache.catalina.tribes.membership.McastService" 
address="228.0.0.4" 
port="45564" 
frequency="500" 
dropTime="3000"/> 
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
address="auto" 
port="5001" 
selectorTimeout="100" 
maxThreads="6"/> 
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> 
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> 
</Sender> 
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> 
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> 
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/> 
</Channel> 
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" 
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> 
          <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" 
tempDir="/tmp/war-temp/" 
deployDir="/tmp/war-deploy/" 
watchDir="/tmp/war-listen/" 
watchEnabled="false"/> 
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> 
</Cluster>

另外,有人說AJP協議埠的redirectPort和Receiver的port也要設為各Tomcat唯一,但是我沒有設成唯一也沒問題。

四. 測試用JSP和配置:
1. 測試用JSP

建兩個同名的testCluster.jsp,分別放在Tomcat1和Tomcat2的Tomcat/webapps/ROOT下,內容稍有不同。
第一個:

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster Test</title></head>
<body>
<%
  //HttpSession session = request.getSession(true);
  System.out.println(session.getId());
  out.println("<br> SESSION ID:" + session.getId()+"<br>");  
  // 如果有新的請求,則新增session屬性
  String name = request.getParameter("name");
  if (name != null && name.length() > 0) {
     String value = request.getParameter("value");
     session.setAttribute(name, value);
  }  
    out.print("<b>Session List:</b>");  
    Enumeration<String> names = session.getAttributeNames();
    while (names.hasMoreElements()) {
        String sname = names.nextElement(); 
        String value = session.getAttribute(sname).toString();
        out.println( sname + " = " + value+"<br>");
        System.out.println( sname + " = " + value);
   }
%>
  <form action="testCluster.jsp" method="post">
    名稱:<input type=text size=20 name="name">
     <br>
    值:<input type=text size=20 name="value">
     <br>
    <input type=submit value="提交">
   </form>

   <b>負載均衡測試:此為:Tomcat1上的檔案,<font color=red>111111</font><b>
</body>
</html>

第二個:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster Test</title></head>
<body>
<%
  //HttpSession session = request.getSession(true);
  System.out.println(session.getId());
  out.println("<br> SESSION ID:" + session.getId()+"<br>");  
  // 如果有新的請求,則新增session屬性
  String name = request.getParameter("name");
  if (name != null && name.length() > 0) {
     String value = request.getParameter("value");
     session.setAttribute(name, value);
  }  
    out.print("<b>Session List:</b>");  
    Enumeration<String> names = session.getAttributeNames();
    while (names.hasMoreElements()) {
        String sname = names.nextElement(); 
        String value = session.getAttribute(sname).toString();
        out.println( sname + " = " + value+"<br>");
        System.out.println( sname + " = " + value);
   }
%>
  <form action="testCluster.jsp" method="post">
    名稱:<input type=text size=20 name="name">
     <br>
    值:<input type=text size=20 name="value">
     <br>
    <input type=submit value="提交">
   </form>

   <b>負載均衡測試:此為:Tomcat2上的檔案,<font color=red>222222</font><b>
</body>
</html>

接下來就可以測試了:
用第一個瀏覽器開啟http://localhost:8090/testCluster.jsp
(8090是Apache,它下面沒有testCluster.jsp)
顯示結果:

說明Apache把請求轉給了Tomcat1。

用第二個瀏覽器開啟http://localhost:8090/testCluster.jsp
顯示結果:

說明Apache把請求轉給了Tomcat2。

2. 實現Session共享,需要修改的配置檔案:

在1裡面按提交以後,Session會改變,jvm也會變,說明跳轉到其他Tomcat以後,Session並沒有儲存下來。
要實現Session共享,需要在每個Tomcat/webapps/ROOT/WEB-INF/web.xml的最後插入<distributable /> :

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
<distributable /> 
</web-app>

測試:
在上面第二個瀏覽器中輸入值後繼續提交,可以看到jvm1和jvm2雖然在切換,但是SessionID一直是8AC1E2DAA730CB20384FB337D1762244


------------------------------------------------------------------------------

所有修改完的配置檔案和測試頁面在這裡下載:
http://download.csdn.net/detail/sunroyi666/9605862

相關推薦

Apache+Tomcat叢集實現反向代理負載均衡

一. Apache+Tomcat叢集實現反向代理的負載均衡的原理: Apache作為排程器,轉發HTTP請求。然後等待實際伺服器的HTTP響應,並轉發給使用者。 Tomcat叢集作為實際的伺服器,處理HTTP請求。二. 需要安裝的程式: 1. Apache2.2.4 2.

nginx實現反向代理負載均衡

反向代理負載均衡 Nginx實現反向代理 nginx代理基於是ngx_http_proxy_module模塊的功能,該模塊有很多屬性配置選項,如: proxy_pass:指定將請求代理至server的URL路徑; proxy_set_header:將發送至 server的報文的某首部進行重寫

Nginx實現反向代理負載均衡功能

運維 出現 正常 技術分享 remote eas ups 單個 搭建 反向代理軟件Nginx:本身支持反向代理、負載均衡功能,屬於L7層負載均衡。Nginx反向代理簡單易用,受到大部分中小企業的青睞。LVS:支持L4層負載均衡,haproxy:支持L4、L7層負載均衡L4、

nginx2-nginx實現反向代理-負載均衡|宕機處理

叢集會產生哪些問題 分散式job冪等性問題(重複),例如任務排程 會話session共享問題 分散式生成全域性id(提前生成好,存在redis) 反向代理 不暴露真實ip地址 先配置反向代理,再配置負載均衡(叢集) www.fangwen.com已

編譯安裝nginx並實現反向代理負載均衡和快取功能

一、編譯安裝nginx 1、下載 [[email protected] ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2、解壓 [[email protected] ~]#&

apache+tomcat叢集搭建,包括負載均衡

傳統的Java Web專案是通過tomcat來執行和釋出的。但在實際的企業應用環境中,採用單一的tomcat來維持專案的執行是不現實的。tomcat 處理能力低,效率低,承受併發小(1000左右)。當用戶請求較少時,單一的tomcat能夠快速響應使用者請求,但如果訪問量一大,tomcat處理能力跟不上,

Windows下Apache+Tomcat反向代理負載均衡(HTTP)

0、資料準備       下載:httpd-2.2.25-win32-x86-openssl-0.9.8y        準備:tomcat 6 1、配置2個tomcat例項 tomcat1 <

Nginx + Tomcat 反向代理 負載均衡 叢集 部署指南

Nginx是一種伺服器軟體,也是一種高效能的http和反向代理伺服器,同時還是一個代理郵件伺服器。也就是說,我們在Nginx上可以釋出網站,可以實現負載均衡(提高應答效率,避免伺服器崩潰),還可以作為郵件伺服器實現收發郵件等功能。而最常見的就是使用Nginx實現負載均衡。

項目實戰2.2—nginx 反向代理負載均衡、動靜分離和緩存的實現

需求分析 配置 反向代理 cells color 一個數 cal 數據庫 data 實驗一:實現反向代理負載均衡且動靜分離 1、環境準備: 機器名稱 IP配置 服務角色 備註 nginx

項目實戰02:nginx 反向代理負載均衡、動靜分離和緩存的實現

pro 9.png 二次 數據 服務器 默認 html 數據庫 空間 目錄 實驗一:實現反向代理負載均衡且動靜分離 1、環境準備: 2、下載編譯安裝tengine 3、設置代理服務器的配置文件 4、啟動tengine服務 5、開啟後端的web服務

Nginx+Tomcat反向代理+負載均衡

案例 一臺Nginx做反向代理,tomcat 負載均衡 實際中 兩臺tomcat的網站應該是一樣的,不過為了實驗效果我們做不一樣的。 1、關閉防火牆,安裝JDK,配置JAVA環境。 2、安裝配置Tomcat #主要目錄說明 #配置檔案說明 3、建立java的web站

程式架構探討—005 應用伺服器叢集的伸縮性之反向代理負載均衡

利用反向代理也可以做負載均衡。如下圖所示, 反向代理伺服器處於WEB伺服器的前面,既可以提供反向代理,也可以管理一組web伺服器,將請求根據負載均衡演算法轉發到不同的web伺服器上。web伺服器處理完

centos7下配置nginx反向代理負載均衡叢集

一,實驗介紹利用三臺centos7虛擬機器搭建簡單的nginx反向代理負載叢集,三臺虛擬機器地址及功能介紹192.168.1.188    nginx負載均衡器192.168.1.189    web01伺服器192.168.1.190    web02伺服器軟體準備:   

Centos 7配置nginx反向代理負載均衡叢集

一,實驗介紹 利用三臺centos7虛擬機器搭建簡單的nginx反向代理負載叢集, 三臺虛擬機器地址及功能介紹 192.168.2.76    nginx負載均衡器 192.168.2.82    web01伺服器 192.168.2.78  &nb

Apache反向代理負載均衡和會話保持配置

Apache從1.2版本起,代理模組就已經加入到Apache原始碼中,可惜當時的代理模組有很多問題,比如:與較新的http規範不相容等等,從Apache2.0起mod_proxy模組不但被重新改寫,還分

反向代理負載均衡APACHE

1、開啟模組 LoadModule proxy_module modules/mod_proxy.so #proxy模組 LoadModule proxy_connect_module modul

nginx反向代理+負載均衡

-- lib 安裝環境 vim dev usr 代理服務 png 安裝nginx 關閉防火墻 檢查zlib-devel pcre-devel是否安裝 源碼編譯安裝Nginx ./configure --prefix=/usr/local/nginx make &&a

nginx反向代理負載均衡

nginx 負載均衡1.反向代理概述反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。環境準備:主機名IP地址角色系統

nginx正向代理反向代理負載均衡

索引 三方 send nec nginx 服務端 nbsp 公網 服務器配置 1.1 Nginx簡介 Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor S

nginx反向代理負載均衡(輪詢權重IPHash)

-s 圖片服務器 後臺管理 session AI 需要 new 守護進程 weight 1 Nginx反向代理 1.1 實現圖片回顯 1.1.1 反向代理 說明:當用戶發出image.jt.com/2018/1.jpg時,首先將請求發往Nginx.經過Nginx內部