歡迎您光臨本站 註冊首頁

Nginx+tomcat配置

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

Nginx+tomcat配置

發這個帖子可能是在班門弄斧,但還是希望跟大家分享一下。
準備的環境
nginx-1.1.12
tomcat5
windows7

Nginx配置
主要是修改conf/nginx.conf文件#用戶組表示哪個用戶組下的用戶啟動。格式為:user username groupname; username為用戶名,groupname為組名
#user  nobody;
#工作進成數(通常寫CPU數量或者2倍的CPU數量)
worker_processes  2;
#日誌輸出位置,日誌輸出格式
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;
#進程號保存文件
pid        logs/nginx.pid;

#指定最大的文件描述符值,可以通過這個進程打開 (默認沒有該設置)
#worker_rlimit_nofile 1024;

events {
    #連接數,默認1024
    worker_connections  1024;
}


http {
    #文件擴展名與文件類型映射表
    include       mime.types;
    default_type  application/octet-stream;
    #日誌格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;

    client_header_timeout  3m;   
    client_body_timeout    3m;   
    send_timeout           3m;   
   
    client_header_buffer_size    1k;   
    large_client_header_buffers  4 4k;

    #keepalive_timeout  0;
    #長連接超時時間
    keepalive_timeout  300;
   
    #數據壓縮流,可提高效率
    include gzip.conf;
    #設定負載均衡的伺服器列表
     upstream myserver {
             #weigth參數表示權值,權值越高被分配到的幾率越大
             #Nginx負載均衡配置沒有apache那麼複雜只需要配置IP和埠即可
             server 127.0.0.1:8888   weight=1;
             server 127.0.0.1:8887   weight=1;
     }

    server {
        listen       8088;
        server_name  127.0.0.1;
        
        #字符集編碼
        charset utf-8;
        #設定本虛擬主機的訪問日誌
        access_log  logs/host.access.log  main;
        #默認打開文件
        location / {
            proxy_connect_timeout 3;   
            proxy_send_timeout 30;   
            proxy_read_timeout 30;   
            proxy_pass  http://myserver;
        }
    }
}在conf目錄下建立文件
gzip.conf文件
內容如下:gzip              on;   
gzip_min_length      1000;   
gzip_types         text/plain text/css application/x-javascript;  Tomcat配置
主要是server.xml文件<Server port="9005" shutdown="SHUTDOWN"><!--如果在同一台機器部署多個tomcat 這個埠不能相同-->  <Connector port="8887"  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000"
               disableUploadTimeout="true"  URIEncoding="utf-8"/><!--同上,並且該埠在nginx配置用到,其他不廢話了-->
<Host name="localhost" appBase="D:\work\work_tet\test\WebRoot"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false"><!--配置工程路徑-->
session複製配置
在Host下 放開註釋即可,註釋內容如下:
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                 managerClassName="org.apache.catalina.cluster.session.DeltaManager"
                 expireSessionsOnShutdown="false"
                 useDirtyFlag="true"
                 notifyListenersOnReplication="true">

            <Membership
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.0.4"
                mcastPort="45564"
                mcastFrequency="500"
                mcastDropTime="3000"/>

            <Receiver
                className="org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="auto"
                tcpListenPort="4002"
                tcpSelectorTimeout="5000"
                tcpThreadCount="6"/>

            <Sender
                className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                replicationMode="pooled"
                ackTimeout="15000"/>

            <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
                   filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
                  
            <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
                      tempDir="/tmp/war-temp/"
                      deployDir="/tmp/war-deploy/"
                      watchDir="/tmp/war-listen/"
                      watchEnabled="false"/>
                     
            <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
        </Cluster>


     <Context path="" docBase="." privileged="true"/>
經過實驗是可以實現負載均衡和複製session的。但有個問題是怎麼設置或測試動態併發數呢, apache裡面有ab(測試靜態的) ,nginx用什麼測試呢

[火星人 ] Nginx+tomcat配置已經有552次圍觀

http://coctec.com/docs/service/show-post-13470.html