1. 程式人生 > >【整理】Nginx+Tomcat+Memcached實現伺服器叢集負載均衡

【整理】Nginx+Tomcat+Memcached實現伺服器叢集負載均衡

一. 準備工作
1.1 建立使用者及工作目
root使用者登入後執行

useradd csdn    -------建立使用者csdn
passwd  csdn    -------給已建立的使用者csdn設定密碼
說明:新建立的使用者會在/home下建立一個使用者目錄csdn
1.2.1 系統
centOS 64位
1.2.2 軟體
Nginx:1.12.1 stable version及相關庫
JDK:8u141/1.8
Memcached及相關jar包

tomcat1/2/3:7.0.79    
二. JDK的安裝
2.1 準備
從Java官方網站下載相應的JDK版本,如jdk-8u141-linux-x64.tar.gz,並放在/usr/java目錄下。
2.2 安裝步驟
進入放有jdk安裝包的目錄

cd /usr/java
直接解壓,配置環境變數
# tar –xvf jdk-8u141-linux-x64.tar.gz 
1、 修改環境變數
# vi /etc/profile
2、 在最後加入以下幾行:
export JAVA_HOME=/usr/java/jdk-8u141-linux-x64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
3、 執行以下命令讓配置檔案生效
source /etc/profile
三. Tomcat的安裝
3.1 準備tomcat安裝包
apache-tomcat-7.0.79.zip
3.2 安裝步驟
將tomcat上傳到相應使用者目錄
使用Xftp工具把tomcat安裝包apache-tomcat-7.0.79.zip包在windows環境下解壓後,資料夾apache-tomcat-7.0.79直接傳輸到/home/csdn/目錄下即可。
3.3 配置tomcat
/home/csdn/apache-tomcat-7.0.79/conf/server.xml中以下程式碼處新增utf-8編碼,如下圖所示:

3.4 啟動tomcat
#使用命令進入到tomcat的bin目錄下
#./startup.sh 啟動tomcat
#./shutdown.sh 關閉tomcat
以上,一個tomcat就配置好了。
3.5 配置多臺tomcat
如果要同時配置多個及以上tomcat(以兩個為例,多個依此類推)
則需修改環境變數如下:
vi /etc/profile
加入以下程式碼
CATALINA_1_BASE=/home/csdn/tomcat1
CATALINA_1_HOME=/home/csdn/tomcat1
export CATALINA_1_BASE CATALINA_1_HOME
CATALINA_2_BASE=/home/csdn/tomcat2
CATALINA_2_HOME=/home/csdn/tomcat2
export CATALINA_2_BASE CATALINA_2_HOME
TOMCAT_1_HOME=/home/csdn/tomcat1
export TOMCAT_1_HOME
TOMCAT_2_HOME=/home/csdn/tomcat2
export TOMCAT_2_HOME
並分別修改tomcat的startup.sh和shutdown.sh(兩個檔案都需要)
第一個tomcat:
export CATALINA_HOME=$CATALINA_1_HOME
export CATALINA_BASE=$CATALINA_1_BASE

第二個tomcat:

export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME

然後配置tomcat/conf/server.xml檔案

Tomcat1埠分配表(tomcat全部採用默配置)

埠號

指令埠

8005

http

8080

https

8443

Ajp

8009

Tomcat2埠分配表

埠號

指令埠

9005

http

9080

https

9443

Ajp

9009

四.Nginx安裝及配置

4.1 先決條件
4.1.1 GCC 安裝
yum -y install gcc gcc-++ autoconf automake

yum install gcc
4.1.2 PCRE庫
yum -y install pcre-devel

yum install pcre pcre-devel
4.1.3 zlib庫
yum install zlib zlib-devel
下載zlib-1.2.11.tar.gz包
上傳zlib原始碼到伺服器的/usr/local/src
tar - zxvf  zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make install
4.1.4 OpenSSL庫
yum install openssl openssl-devel
4.2 Nginx安裝
4.2.1 安裝
上傳nginx-1.12.1.tar.gz原始碼到伺服器的/usr/local/src
tar – zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --prefix=/usr/local/nginx
make & make install
4.2.2 啟動&關閉
首先介紹如何檢視Nginx的程序號:
用命令:ps -ef|grep nginx 檢視

① 啟動方式:
【Nginx啟動檔案地址】 -c 【Nginx配置檔案地址】
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
② 三種關閉方式:
從容停止 : 
Kill -QUIT 13421
快速停止 : 
kill -TERM 13421 或 kill -INT 13421
強制停止 :
pkill -9 nginx
③ 重啟
第一種reload命令:
[[email protected] local]# cd /usr/local/nginx/sbin/
[[email protected] sbin]# ./nginx -s reload
第二種傳送訊號方式:
kill -HUP 13421
4.2.3 配置
修改Nginx核心配置檔案nginx.conf
下面配置檔案中的幾個關鍵點:
(1) 程序數與每個程序的最大連線數
#是否啟用nobody使用者
#user nobody;
#工作程序個數,一般跟伺服器cpu核數相等,或者核數的兩倍
worker_processes 2;
#單個程序最大連線數
events{
worker_connections 1024;
}
① nginx程序數,建議設定為和伺服器cup核數相等,或者是核數的兩倍
② 單個程序最大連線數,該伺服器的最大連線數=連線數*程序數;
伺服器支援最大併發數=(連線數*程序數) /2 ,因為反向代理是雙向的。
(2)Nginx的基本配置
#nginx基本配置
server{
listen 8088; #埠號
server_name localhost; #服務名
}
① 監聽埠一般都為http埠:80;可以修改為其他,這裡修改為8088。
② server_name :預設為localhost ,這裡修改為伺服器ip地址。
(3)負載均衡列表基本配置
#伺服器叢集
upstream mycluster{
#這裡新增的是上面啟動好的兩臺Tomcat伺服器
server 10.22.50.129:8080 weight=1;
server 10.22.50.129:9080 weight=1;
}
location /{
#將訪問請求轉向至伺服器叢集,mycluster和上面upstream mycluster 對應
proxy_pass http://mycluster;
# 真實的客戶端IP
proxy_set_header X-Real-IP $remote_addr;
# 請求頭中Host資訊
proxy_set_header Host $host;
# 代理路由資訊,此處取IP有安全隱患
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 真實的使用者訪問協議
proxy_set_header X-Forwarded-Proto $scheme;
}
① location / {}:負載均衡訪問的請求,可以新增篩選,假如我們要對所有的jsp字尾的檔案進行負載均衡時,可以這樣寫:location ~ .*.jsp$ {}
② proxy_pass:請求轉向自定義的伺服器列表,這裡我們將請求都轉向標識為http://mycluster 的負載均衡伺服器列表;
③ 在負載均衡伺服器列表的配置中,Server指令:指定伺服器的ip地址,weight是權重,可以根據機器配置定義權重(如果某臺伺服器的硬體配置十分好,可以處理更多的請求,那麼可以為其設定一個比較高的weight;而有一臺的伺服器的硬體配置比較差,那麼可以將前一臺的weight配置為weight=2,後一臺差的配置為weight=1)。weigth引數表示權值,權值越高被訪問到的機率越大;

(4)配置定向轉發 

#定向轉發至某臺伺服器
location ~ ^/csdnupdate/.*\.tml$ {
        #將訪問請求轉向至特定伺服器
        proxy_pass http://10.22.50.129:9080;
        # 真實的客戶端IP
        proxy_set_header   X-Real-IP        $remote_addr; 
        # 請求頭中Host資訊
        proxy_set_header   Host             $host; 
        # 代理路由資訊,此處取IP有安全隱患
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        # 真實的使用者訪問協議
        proxy_set_header   X-Forwarded-Proto $scheme;
    }

#配置定向轉發遠端可訪問檔案,資原始檔下載使用
location ^~ /csdnupdate/update/ {
        #將訪問請求轉向至特定伺服器
        proxy_pass http://10.22.50.129:9080;
        # 真實的客戶端IP
        proxy_set_header   X-Real-IP        $remote_addr; 
        # 請求頭中Host資訊
        proxy_set_header   Host             $host; 
        # 代理路由資訊,此處取IP有安全隱患
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        # 真實的使用者訪問協議
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
#配置定向轉發遠端可訪問檔案
location ^~ /upload/ {
        #將訪問請求轉向至特定伺服器
        proxy_pass http://10.22.50.129:9080;
        # 真實的客戶端IP
        proxy_set_header   X-Real-IP        $remote_addr; 
        # 請求頭中Host資訊
        proxy_set_header   Host             $host; 
        # 代理路由資訊,此處取IP有安全隱患
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        # 真實的使用者訪問協議
        proxy_set_header   X-Forwarded-Proto $scheme;
    }


(5)完整的配置檔案示例

#設定使用者組
user nobody;
#工作程序個數,一般跟伺服器cpu核數相等,或者核數的兩倍
worker_processes 2;
#單個程序最大連線數
events{
    worker_connections 1024; 
}
http{
    keepalive_timeout 65;
    gzip on;
    #伺服器叢集
    upstream mycluster{
         #叢集有幾臺伺服器即可配置幾臺,weight表示權重,權重越大被訪問到的機率越大
        #這裡新增的是上面啟動好的兩臺Tomcat伺服器
         server 10.22.50.129:8080 weight=1;
         server 10.22.50.129:9080 weight=1;
    }
    #nginx基本配置
    server{
        listen 8088;    #埠號
        server_name localhost; #服務名
        #通用匹配至叢集
        location /{
            #將訪問請求轉向至伺服器叢集,mycluster和上面upstream mycluster 對應
            proxy_pass http://mycluster;
            # 真實的客戶端IP
            proxy_set_header   X-Real-IP        $remote_addr; 
            # 請求頭中Host資訊
            proxy_set_header   Host             $host; 
            # 代理路由資訊,此處取IP有安全隱患
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            # 真實的使用者訪問協議
            proxy_set_header   X-Forwarded-Proto $scheme;
        }     
       #定向轉發至某臺伺服器
  location ~ ^/csdnupdate/.*\.tml$ {
        #將訪問請求轉向至特定伺服器
        proxy_pass http://10.22.50.129:9080;
        # 真實的客戶端IP
        proxy_set_header   X-Real-IP        $remote_addr; 
        # 請求頭中Host資訊
        proxy_set_header   Host             $host; 
        # 代理路由資訊,此處取IP有安全隱患
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        # 真實的使用者訪問協議
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
#配置定向轉發遠端可訪問檔案,資原始檔下載使用
location^~ /csdnupdate/update/ {
        #將訪問請求轉向至特定伺服器
        proxy_pass http://10.22.50.129:9080;
        # 真實的客戶端IP
        proxy_set_header   X-Real-IP        $remote_addr; 
        # 請求頭中Host資訊
        proxy_set_header   Host             $host; 
        # 代理路由資訊,此處取IP有安全隱患
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        # 真實的使用者訪問協議
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
#配置定向轉發遠端可訪問檔案
location^~ /upload/ {
        #將訪問請求轉向至特定伺服器
        proxy_pass http://10.22.50.129:9080;
        #真實的客戶端IP
        proxy_set_header   X-Real-IP        $remote_addr; 
        # 請求頭中Host資訊
        proxy_set_header   Host             $host; 
        # 代理路由資訊,此處取IP有安全隱患
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        #真實的使用者訪問協議
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
        error_page   500 502 503 504  /50x.html; 
        location = /50x.html {  
            root   html; 
        } 
    }
} 


轉發條件可以按需修改。以上,最基本的Nginx配置差不多就是上面這些內容,當然僅僅是最基礎的配置。    


五.配置session共享    

http://blog.csdn.net/big1980/article/details/8454333    

5.1 Memcached安裝及配置
a) 安裝包準備
i. http://libevent.org/ 下載安裝memcached前必需要的包libevent-2.0.15 我安裝的是這個版本
ii. http://memcached.org/下載linux下的memcached的安裝包
b) 安裝libevent-2.0.15
首先檢查系統中是否安裝了libevent

rpm -qa|grep libevent
如果安裝了則檢視libevent的安裝路徑,後續安裝時需要用到
rpm -ql libevent
如果沒有安裝,則先安裝libevent
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz   
tar -zxvf libevent-1.4.12-stable.tar.gz -C /usr/local/  
cd libevent-1.4.12-stable/  
./configure -prefix=/usr/libevent  
make
make install  

c) 安裝memcached
1.首先是下載memcached的安裝包

wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz  
2.修改安裝包的執行操作許可權
chmod 777 memcached-1.4.15.tar.gz
3.解壓安裝包到指定目錄
tar -zxvf memcached-1.4.15.tar.gz -C /usr/local
4.進入解壓後的目錄
cd /usr/local/memcached-1.4.15/  
5.配置、編譯、安裝
注:configure時需要指定libevent的安裝路徑
./configure -with-libevent=/usr/libevent -prefix=/usr/local/memcached  
make  
make install
6.安裝成功後啟動一下看安裝是否成功
/usr/local/memcached/bin/memcached -d -m 64 -p 11211 -u root 
/usr/local/memcached/bin/memcached -d -m 64 -p 11211 -u nobody
d) 給出memcached啟動命令引數詳解
-p <num> TCP埠,預設為11211,可以不設定
-U <num> UDP埠,預設為11211,0為關閉
-s <file> UNIX socket
-a <mask> access mask for UNIX socket, in octal (default: 0700)
-l <addr> 監聽的 IP 地址,本機可以不設定此引數
-d 以守護程式(daemon)方式執行
-u 指定使用者,如果當前為 root ,需要使用此引數指定使用者
-m <num> 最大記憶體使用,單位MB。預設64MB
-M 禁止LRU策略,記憶體耗盡時返回錯誤,而不是刪除項
-c <num> 最大同時連線數,預設是1024
-v verbose (print errors/warnings while in event loop)
-vv very verbose (also print client commands/reponses)
-vvv extremely verbose (also print internal state transitions)
-h 幫助資訊
-i print memcached and libevent license
-P <file> 儲存PID到指定檔案
-f <factor> 增長因子,預設1.25
-n <bytes> 初始chunk=key+suffix+value+32結構體,預設48位元組
-L 啟用大記憶體頁,可以降低記憶體浪費,改進效能
-t <num> 執行緒數,預設4。由於memcached採用NIO,所以更多執行緒沒有太多作用
-R 每個event連線最大併發數,預設20
-C 禁用CAS命令(可以禁止版本計數,減少開銷)
-b Set the backlog queue limit (default: 1024)
-B Binding protocol-one of ascii, binary or auto (default)
-I 調整分配slab頁的大小,預設1M,最小1k到128M
上面加粗的引數,需要重點關注,正常啟動的例子
啟動:
/usr/bin/memcached -m 64 -p 11212 -u nobody -c 2048 -f 1.1 -I 1024 -d -l 10.211.55.9
連線:
telnet 10.211.55.9 11212
Trying 10.211.55.9...
Connected to 10.211.55.9.
Escape character is '^]'.
e) 結束Memcache程序
# kill `cat /tmp/memcached.pid`
或是 通過ps -ef | grep memcached 找到pid ,然後kill
也可以啟動多個守護程序,不過埠不能重複。
# ps -ef | grep memcached
root 28914 1 0 07:27 ? 00:00:00 memcached -d -m 128 -l localhost -p 11211 -u root (啟動ok)
f) 測試memcached
#telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
5.2 配置所需jar包
http://code.google.com/p/memcached-session-manager/downloads/list可以下載所需要的包。
不管你選擇哪種序列化策略,你都需要 memcached-session-manager-${version}.jar,如果你使用的是tomcat6,則還需要下載 memcached-session-manager-tc6-${version}.jar,如果使用的是tomcat7則下載 memcached-session-manager-tc7-${version}.jar。同時還需要下載 spymemcached-2.7.3.jar和memcached-2.5.jar 。
每種序列號策略下載單獨需要的jar包,具體如下:
將下圖所提到的包全部拷貝到tomcat的lib下(所有負載的tomcat都需要)

5.3 context.xml配置
a) 非黏性session管理的配置示例, 修改每臺tomcat的conf目錄下得context.xml檔案或者server.xml檔案
<Context>  
  ...  
  <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  
    memcachedNodes="n1:host1.yourdomain.com:11211,n2:host2.yourdomain.com:11211"  
    sticky="false"  
    sessionBackupAsync="false"  
    lockingMode="uriPattern:/path1|/path2"  
    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"  
    transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"  
    />  
</Context>
其中,n1:host1.yourdomain.com:11211, n2:host2.yourdomain.com:11211是memcache的地址和埠,可使用127.0.0.1:11211

b) 黏性session管理的配置示例

<Context>  
  ...  
  <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  
    memcachedNodes="n1:host1.yourdomain.com:11211,n2:host2.yourdomain.com:11211"  
    failoverNodes="n1"  
    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"  
    transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"  
    />  
</Context>  

以上就是tomcat1的配置資訊,對於tomcat2我們只需要修改一下failoverNodes屬性的值為"n2" ,這樣tomcat2就會優先把session存放到memcached "n1"節點,其餘配置資訊都一樣。

說明:n1,n2memcached啟動檢測節點。

啟動tomcat的結果如下:


說明:以上部分內容有些轉載自上面列舉出的連結部落格,此篇博文是在具體專案實踐中對整個過程的整理。

相關推薦

整理Nginx+Tomcat+Memcached實現伺服器叢集負載均衡

一. 準備工作1.1 建立使用者及工作目root使用者登入後執行 useradd csdn    -------建立使用者csdnpasswd  csdn    -------給已建立的使用者csdn設定密碼說明:新建立的使用者會在/home下建立一個使用者目錄csdn

nginx+tomcat+memcached搭建伺服器叢集負載均衡

 在實際專案中,由於使用者的訪問量很大的原因,往往需要同時開啟多個伺服器才能滿足實際需求。但是同時開啟多個服務又該怎麼管理他們呢?怎樣實現session共享呢?下面就來講一講如何使用tomcat+nginx搭建伺服器叢集以及如何實現session共享。     環境:  

轉載Nginx+Tomcat 動靜分離實現負載均衡

0.前期準備   使用Debian環境。安裝Nginx(預設安裝),一個web專案,安裝tomcat(預設安裝)等。   1.一份Nginx.conf配置檔案 1 # 定義Nginx執行的使用者 和 使用者組 如果對應伺服器暴露在外面的話建議使用許可權較小的使用者 防止被入侵

Nginx+Tomcat+Memcached實現會話保持

svn load ant lan () 架構 啟動 使用 attribute 會話保持的三種方式 Session sticky會話綁定:通過在前端調度器的配置中實現統一session發送至同一後發端服務器 Session cluster會話集群:通過配置Tomcat保

Nginx+tomcat+memcached實現負載均衡及session共享

Nginx+tomcat+memcached 使用nginx作為前端伺服器來實現tomcat負載均衡及高可用,同時基於jsp的動態特徵,我們將引入memcache來保持網頁在連線過程中的session保持,利用memcached把多個tomcat的session集中管理 圖解: 說明:

Nginx+Tomcat+Memcached實現Session保持

一、Tomcat介紹 1、Tomcat歷史 Tomcat是Apache 軟體基金會(Apache Software Foundation)的Jakarta 專案中的一個核心專案,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun

Nginx+Tomcat搭建高性能負載均衡集群-Windows本地測試版

other doc mime filename 連接超時 src 日誌 col process 一、安裝Tomcat和Nginx 首先安裝兩個apache-tomcat-8.0.41,下載地址:http://tomcat.apache.org 並安裝一個nginx-1.13

Nginx+Tomcat搭建高性能負載均衡集群

processes 服務器配置 cpu核數 track 輸出 穩定版 highlight cli upstream 轉自http://blog.csdn.net/wang379275614/article/details/47778201 一、 工具

伺服器叢集負載均衡(F5、Array、Nginx、LVS、HAProxy)區別以及選型

PS:Nginx/LVS/HAProxy是目前使用最廣泛的三種負載均衡軟體,本人都在多個專案中實施過,參考了一些資料,結合自己的一些使用經驗,總結一下。 一般對負載均衡的使用是隨著網站規模的提升根據不同的階段來使用不同的技術。具體的應用需求還得具體分析,如果是中小型的Web應用,比如日P

SpringCloud06——Fegin服務間呼叫,負載均衡

1.什麼是Feign Feign是一個宣告式的Web服務客戶端 使用:只需建立一個介面,然後在上面添加註解即可實現服務間呼叫,Feign是集成了Ribbon,也可實現負載均衡。 2.Feign 和Ribbon區別? Ribbon 是一個基於 HTTP 和 TCP 客戶端的負載均衡器

伺服器叢集負載均衡(F5,LVS,DNS,CDN)區別以及選型

http://www.taocms.org/922.html 下面是“黑夜路人”的《大型網站架構優化(PHP)與相關開源軟體使用建議》 ======================================= F5全稱: F5-BIG-IP-GTM 全球流量管理器. 是

haproxy實現mysql叢集負載均衡

開始使用 Ubuntu 下載安裝 apt-get install haproxy 配置 global log /dev/log local0 log /dev/log local1 notice chr

windows系統下實現nlb叢集負載均衡

滑鼠點選 “Edit (編輯) ” ,進入 “Add/Edit  Port  Rule (新增 / 編輯埠規則) ” 介面,對預設規則進行修 改設定。 Cluster IP address (群集 IP 地址) ” :此設定項是用來指定達到哪個群集 IP 的接受處理方式將按照以 下設定進行。因我們沒有在

伺服器叢集負載均衡技術

負載均衡 (Load Balancing) 負載均衡建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴充套件網路裝置和伺服器的頻寬、增加吞吐量、加強網路資料處理能力、提高網路的靈活性和可用性。 CDN負載均衡(Load Balance)[1]由於現有網路的各個核心部分

apache Web伺服器叢集負載均衡技術 (轉)

[size=medium]Internet 的快速增長,特別是電子商務應用的發展,使Web應用成為目前最重要最廣泛的應用,Web伺服器動態內容越來越流行。目前,網上資訊交換量幾乎呈指數增長,需要更高效能的Web伺服器提供更多使用者的Web服務,因此,Web伺服器面臨著訪問量急

Linux伺服器叢集負載均衡解說

有些公司是做宣傳網站或資訊類網站的,伺服器均置於國內,他們對叢集這塊瞭解的並不深,而且要求也很簡單,只要求1+2架構。在初期我使用的是Nginx作為負載均衡器,後期發現HAProxy更加穩定,而且它自帶強大的監控頁面功能,所以我全部換成了HAproxy作為最前端的負載均衡

筆記Nginx+Ngrok實現80埠伺服器+80埠內網穿透

安裝ngrok 安裝完畢後ngrok預設將伺服器的80端口占用。這時,需要修改啟動指令碼。 vim /etc/init.d/ngrokd 找到如下部分 nohup sudo ./bi

097Nginx實現一臺伺服器,兩個域名釋出不同的前端專案,並且兩個域名都用80埠。

有時候你可能需要在一個伺服器上,用 nginx 釋出兩個前端專案。並且這兩個前端專案使用不同的域名,域名都繫結80埠。本文說明此場景下的操作過程。Nginx使用的是 Docker 官方映象。本文依據的作業系統是 Linux Centos7.3 。 假設 you

tcpdump 實現原理整理

bash腳本 inux dex class 模塊 _for sys style 繼續 參考:http://blog.sina.com.cn/s/blog_523491650101au7f.html 一、tcpdump 對於本機中進程的系統行為調用跟蹤,

nginx+tomcat+memcached搭建負載均衡叢集實現交叉快取

tomcat tomcat簡介 Tomcat 伺服器是一個免費的開放原始碼的Web 應用伺服器,屬於輕量級應用伺服器,在中小型系統和併發訪問使用者不是很多的場合下被普遍使用,是開發和除錯JSP 程式的首選。對於一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 伺服器,可