1. 程式人生 > >分散式環境的簡單搭建

分散式環境的簡單搭建

需要的工具:Nginx、tomcat、memcached。 

Nginx:連結:http://pan.baidu.com/s/1sl5HjXz 密碼:duk8

tomcat:連結:http://pan.baidu.com/s/1dEQijFN 密碼:h3ba

memcached:連結:http://pan.baidu.com/s/1nvoUwIX 密碼:jl48

memcached只是練習的時候用的,後面用的更多的是redis。

這個Tomcat裡面已經配置的有memcached的包了,下面有一步就不需要了。

1.1   安裝Nginx (解壓縮nginx-1.9.2.zip, 路徑中不能包含中文名稱) 

            將【

nginx-1.9.2.zip】解壓到【D:\Server\nginx-1.9.2

1.2  安裝Tomcat伺服器(解壓縮tomcat.zip),建立兩個伺服器,埠號設定為分別為 8080,8181

將【tomcat.zip】解壓到【D:\Server\tomcat1】【D:\Server\tomcat2

修改其中一個Tomcat的埠配置:分別修改為

8005,8080,8009;

8105,8181,8109;




1.3  修改Nginx伺服器中的檔案:conf/nginx.conf                   

  • 解除Line34註釋,增加對應埠號。配置多伺服器叢集
  • L48行,監聽服務埠,當用戶訪問此埠時,進行反向代理服務
  • 修改L66, L70行,設定靜態資源訪問路徑
user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
    worker_connections  2048;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

	client_max_body_size 100m;
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;
	gzip_min_length      1000;
	gzip_types         text/plain text/css application/x-javascript;
	
	upstream localhost {
	    #ip_hash;
		server 127.0.0.1:8181;
		server 127.0.0.1:8080;
} proxy_redirect off; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; server { listen 80; server_name localhost; location / { proxy_connect_timeout 3; proxy_send_timeout 30; proxy_read_timeout 30; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost; } location ~* \.(eot|otf|ttf|woff|woff2|svg)$ { gzip_static on; expires max; add_header Cache-Control public; add_header Access-Control-Allow-Origin *; root D:/resources/cpes; } location ~ \.(zip|rar|js|css|png|gif|jpeg|jpg|bmp|mp4|mp3|ico|doc|docx|xls|ppt|xlsx|pptx|swf|xml|flv|html|pdf|properties)$ { root D:/resources/cpes; } } }

1.4   安裝memcached (以管理員身份開啟命令列視窗)

  • 安裝memcached
    • D:\Server\memcached\memcached.exe -d install
  • 啟動memcached的服務
    • D:\Server\memcached\memcached.exe -d start
  • 如果需要關閉memcached的服務
    • D:\Server\memcached\memcached.exe -d stop|shutdown 


1.5  修改Tomcat伺服器配置檔案context.xml,加入

<WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Manager       className="de.javakaffee.web.msm.MemcachedBackupSessionManager" 
                                     memcachedNodes="n1:127.0.0.1:11211" 
                                     sticky="false" 
                                     sessionBackupAsync="false" 
                                     requestUriIgnorePattern=".*\.(ico|png|gif|jpg|jpeg|bmp|css|js|html|htm)$" 
                                     transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" 
    />

   1.6  拷貝jar包到Tomcat伺服器lib資料夾中       

memcached-session-manager-1.6.3.jar   

memcached-session-manager-tc7-1.6.3.jar

1.7   啟動服務

         (1)啟動Nginx, 工作管理員中出現nginx.exe,啟動成功         



(2)分別啟動Tomcat

  • 雙擊啟動:(不能設定Tomcat系統變數CATALINDA_HOME環境變數,否則啟動時查詢的Tomcat為環境變數所設定的Tomcat
    • D:\Server\tomcat1\bin\startup.bat
    • D:\Server\tomcat2\bin\startup.bat

1.8 測試負載均衡(nginx反向代理)

  • 在兩個Tomcat下增加jsp頁面
    • D:\Server\tomcat1\webapps\ROOT\index.jsp
      • 內容:Tomcat 1 JSP
    • D:\Server\tomcat2\webapps\ROOT\index.jsp
      • 內容:Tomcat 2 JSP
  • 開啟瀏覽器:多次重新整理頁面,顯示的頁面內容為不同的Tomcat伺服器下的部署專案資源