分佈式部署一(Windows server 2008-32位 單機)

本文主要介紹Windows server 2008-32位  單機的nginx-1.9.6+tomcat8+memcached-win32-1.4.4+session共享的配置javascript

第一章:安裝配置memcached-win32-1.4.4以便後面共享tomcat8 的session信息css

一、下載服務端memcached軟件:http://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available html

二、memcached基本參數設置:
-p 監聽的端口
-l 鏈接的IP地址, 默認是本機
-d start 啓動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在運行的memcached服務
-d install 安裝memcached服務
-d uninstall 卸載memcached服務
-u 以的身份運行 (僅在以root運行的時候有效)
-m 最大內存使用,單位MB。默認64MB
-M 內存耗盡時返回錯誤,而不是刪除項
-c 最大同時鏈接數,默認是1024
-f 塊大小增加因子,默認是1.25
-n 最小分配空間,key+value+flags默認是48
-h 顯示幫助前端

三、以管理員身份運行 cmd.exe,並轉至memcached所在文件夾,好比:java


cd  D:\wamp_win7\bin\memcached-win32-1.4.4

注意:若是不以管理員身份運行,將獲得報錯「failed to install service or service already installed」node

四、安裝memcached:  nginx

memcached.exe -d  install -m 500 -c 2048web

(以後屏幕無任何提示,能夠再[控制面板]->[管理工具]->[服務]中查看到memcached)apache

五、啓動memcached:[控制面板]->[管理工具]->[服務] 找到 memcached 服務json

啓動類型:選擇【自動】
服務狀態:點擊下面的【啓動】

第二章:安裝配置apache-tomcat-8.0.28-windows-x86

首先要先下載依賴包:http://download.csdn.net/download/xuzhaoshan/9264151

將下載的jar包複製到tomcat8的lib目錄下(必須)。

設置tomcat8 的jdk ,在setclasspath.bat文件中添加jdk路徑:

set JAVA_HOME="D:\Tomcat8-Cluster\jdk1.8"

set JRE_HOME="D:\Tomcat8-Cluster\jre1.8"

一、配置tomcat-8-1

配置conf目錄的context.xml文件,內容以下:

<?xml version='1.0' encoding='utf-8'?>

<Context>                            -->

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

        memcachedNodes="n1:localhost:11211"

        sticky="false"

        sessionBackupAsync="false"

        lockingMode="none"

        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

        transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"/>

</Context>

配置conf目錄的server.xml文件,內容以下:

<?xml version='1.0' encoding='utf-8'?>

<Server port="8005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>

    <Resource name="UserDatabase" auth="Container"

              type="org.apache.catalina.UserDatabase"

              description="User database that can be updated and saved"

              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

              pathname="conf/tomcat-users.xml" />

  </GlobalNamingResources>

  <Service name="Catalina">

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" maxIdleTime="60000"  minSpareThreads="20"/>

    <Connector port="81" protocol="org.apache.coyote.http11.Http11AprProtocol"

  executor="tomcatThreadPool" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata"

  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json,application/x-javascript"

  maxThreads="30000" minSpareThreads="512" enableLookups="false" acceptCount="35000"

  connectionTimeout="40000" disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="192.168.1.2" jvmRoute="tomcat8-1">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>

      </Realm>

      <Host name="192.168.1.2"  appBase="webapps" unpackWARs="true" autoDeploy="false">

        <Context path="" docBase="D:\Tomcat8-Cluster\項目名稱" reloadable="false" />

      </Host>

    </Engine>

  </Service>

</Server>

一、配置tomcat-8-2

配置conf目錄的context.xml文件,內容以下:

<?xml version='1.0' encoding='utf-8'?>

<Context>                            -->

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

        memcachedNodes="n1:localhost:11211"

        sticky="false"

        sessionBackupAsync="false"

        lockingMode="none"

        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

        transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"/>

</Context>

配置conf目錄的server.xml文件,內容以下:

<?xml version='1.0' encoding='utf-8'?>

<Server port="8006" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>

    <Resource name="UserDatabase" auth="Container"

              type="org.apache.catalina.UserDatabase"

              description="User database that can be updated and saved"

              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

              pathname="conf/tomcat-users.xml" />

  </GlobalNamingResources>

  <Service name="Catalina">

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" maxIdleTime="60000"  minSpareThreads="20"/>

    <Connector port="82" protocol="org.apache.coyote.http11.Http11AprProtocol"

  executor="tomcatThreadPool" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata"

  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json,application/x-javascript"

  maxThreads="30000" minSpareThreads="512" enableLookups="false" acceptCount="35000"

  connectionTimeout="40000" disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" redirectPort="8444" />

    <Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />

    <Engine name="Catalina" defaultHost="192.168.1.2" jvmRoute="tomcat8-2">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>

      </Realm>

      <Host name="192.168.1.2"  appBase="webapps" unpackWARs="true" autoDeploy="false">

        <Context path="" docBase="D:\Tomcat8-Cluster\gy" reloadable="false" />

      </Host>

    </Engine>

  </Service>

</Server>

第三章:安裝配置nginx-1.9.6

首先要先下載nginx-1.9.6,修改nginx.conf文件,以下:

#user  nobody;

#工做進程數:這個數值要根據服務器CPU核心數來配置,如6核12線程的cpu能夠配置爲6或12。 

worker_processes  8;

#錯誤日誌存放路徑

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

#設置單個進程同時打開的最大鏈接數,這個值設置大些能接受較多的鏈接,固然這須要cpu和內存支持哦~~  

    worker_connections  65535;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

tcp_nopush on; #防止網絡阻塞

tcp_nodelay on; #防止網絡阻塞

    keepalive_timeout  120; #長鏈接超時時間,單位是秒 

    #gzip模塊設置

    gzip on; #開啓gzip壓縮輸出   

gzip_min_length 1k; #最小壓縮文件大小    

gzip_buffers 4 16k; #壓縮緩衝區    

gzip_http_version 1.1; #壓縮版本(默認1.1,前端若是是squid2.5請使用1.0)  

gzip_comp_level 2; #壓縮等級    

gzip_types text/plain application/x-javascript text/css application/xml;    

#壓縮類型,默認就已經包含textml,因此下面就不用再寫了,寫上去也不會有問題,可是會有一個warn。  

gzip_vary on;    

#limit_zone crawler $binary_remote_addr 10m; #開啓限制IP鏈接數的時候須要使用

# 在此處設置tomcat服務器信息,一樣tomcat也能夠不在同一主機中。這裏設置了兩個tomcat服務,比重是1:1了。 localhost更換爲服務器的IP  

# 在此處設置tomcat服務器信息,一樣tomcat也能夠不在同一主機中。這裏設置了兩個tomcat服務,比重是1:1了。 localhost更換爲服務器的IP  

upstream 192.168.240.10{

server 192.168.240.10:83 max_fails=0;  

        server 192.168.240.10:82 max_fails=0;

ip_hash;

    }

    server {

        listen       81;

        server_name  192.168.240.10;

        charset utf-8;

        location / {

            root   html;

            index  index.html index.htm;

proxy_pass  http://192.168.240.10;

            proxy_redirect  default; 

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_connect_timeout 3;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

啓動方式,能夠將命令保存爲 .bat文件,方便操做

啓動:start nginx

中止:nginx -s stop

從新加載:nginx -s reload

相關文章
相關標籤/搜索