Nginx多站點(diǎn)設(shè)置及負(fù)載均衡

apache端口88 tomcat端口8080

多個(gè).conf方法(優(yōu)點(diǎn)是靈活仰美,缺點(diǎn)就是站點(diǎn)比較多配置起來(lái)麻煩)

這里以配置2個(gè)站點(diǎn)(2個(gè)域名)為例雪营,n 個(gè)站點(diǎn)可以相應(yīng)增加調(diào)整鸿染,假設(shè):

IP地址: 10.10.10.1
域名1 example1.com 放在 /webapp/example1
域名2 example2.com 放在 /webapp/example2

配置 nginx virtual hosting 的基本思路和步驟如下:
把2個(gè)站點(diǎn) example1.com, example2.com 放到 nginx 可以訪問的目錄 /webapp/
給每個(gè)站點(diǎn)分別創(chuàng)建一個(gè) nginx 配置文件 example1.com.conf,example2.com.conf, 并把配置文件放到 /usr/local/nginx/vhosts/
然后在 nginx.conf 里面加一句 include 把步驟2創(chuàng)建的配置文件全部包含進(jìn)來(lái)(用 * 號(hào))
重啟 nginx

具體過(guò)程
下面是具體的配置過(guò)程:

1麻裳、在 /usr/local/nginx 下創(chuàng)建 vhosts 目錄 mkdir /usr/nginx/vhosts

2口蝠、在 /usr/local/nginx/vhosts/ 里創(chuàng)建一個(gè)名字為 example1.com.conf 的文件,把以下內(nèi)容拷進(jìn)去

server {
        listen  80;
        server_name example1.com www.example1.com; access_log  /webapp/example1/logs/access_ example1.log;

        if (-d $request_filename){
       rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
    }
    
    # 動(dòng)態(tài)頁(yè)面津坑,交給tomcat處理
    location ~ \.(jsp|jspx|do|action)?$ {
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $remote_addr;
       proxy_pass http://tomcat_proxy;
    }

    # 動(dòng)態(tài)頁(yè)面妙蔗,交給apache處理
    location ~ \.(php)?$ {
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $remote_addr;
       proxy_pass http://apache_proxy;
    }

    location /training/ { 
            proxy_pass        http://tomcat_proxy;
            proxy_set_header  Host             $host; 
            proxy_set_header  X-Real-IP        $remote_addr; 
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for; 
            #sub_filter        /training/          /; 
        } 

        # 用戶瀏覽器端的緩存設(shè)置
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
          expires 7d;
        }

    location ~ .*\.(js|css)?$ {
          expires 24h;
    }


        location / {
            root   /webapp/example1/www;
            index index.html index.htm index.php index.jsp;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/nginx/html;
        }

        location ~ /.ht {
            deny  all;
        }
}

3、打開 /usr/local/nginx/conf/nginix.conf 文件疆瑰,在相應(yīng)位置加入 include 把以上文件包含進(jìn)來(lái)

# main server config (http part)
http {
    include       mime.types;
    default_type  application/octet-stream;

         #關(guān)閉http header 中關(guān)于服務(wù)器的版本號(hào)
           #server_tokens  off;

    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;

        #keepalive_timeout  0;
    keepalive_timeout  65;

         server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 3m;
    client_body_buffer_size 512k;

    # 代理的相關(guān)參數(shù)設(shè)置
     proxy_connect_timeout 5;
     proxy_read_timeout 60;
     proxy_send_timeout 5;
     proxy_buffer_size 16k;
     proxy_buffers 4 64k;
     proxy_busy_buffers_size 128k;
     proxy_temp_file_write_size 128k;
    
    # 啟用gzip壓縮眉反,提高用戶訪問速度
     gzip on;
     gzip_min_length 1k;
     gzip_buffers 4 16k;
     gzip_http_version 1.1;
     gzip_comp_level 2;
     gzip_types text/plain application/x-javascript text/css application/xml;
     gzip_vary on;

          # 配置需要代理的tomcat
    upstream tomcat_proxy{
       ip_hash;
           session_sticky;
       server localhost:8080 max_fails=3 weight=1 fail_timeout=60s;
    }

    # 配置需要代理的apache
    upstream apache_proxy{
       ip_hash;
           session_sticky;
       server localhost:88 max_fails=3 weight=1 fail_timeout=60s;
    }

    server {
            listen         80;
            server_name     _;
            access_log      /var/local/nginx/logs/access.log;
         index index.html index.htm index.jsp index.php;

            if (-d $request_filename){
       rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
    }
    
    # 動(dòng)態(tài)頁(yè)面昙啄,交給tomcat處理
    location ~ \.(jsp|jspx|do|action)?$ {
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $remote_addr;
       proxy_pass http://tomcat_proxy;
    }

    # 動(dòng)態(tài)頁(yè)面,交給apache處理
    location ~ \.(php)?$ {
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $remote_addr;
       proxy_pass http://apache_proxy;
    }


        #charset koi8-r;

        #access_log  logs/host.access.log  main;


    location /training/ { 
            proxy_pass        http://tomcat_proxy;
            proxy_set_header  Host             $host; 
            proxy_set_header  X-Real-IP        $remote_addr; 
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for; 
            #sub_filter        /training/          /; 
        } 
        # 用戶瀏覽器端的緩存設(shè)置
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
          expires 7d;
        }

    location ~ .*\.(js|css)?$ {
          expires 24h;
    }
        
         access_log off;
         #charset koi8-r;
         #access_log logs/host.access.log main;

    }

         #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # 包含所有的虛擬主機(jī)的配置文件
         include /usr/local/nginx/vhosts/*;
}

4寸五、apache多站點(diǎn)設(shè)置

1.讓Apache在啟動(dòng)時(shí)能加載虛擬主機(jī)模塊梳凛。
打開Apache安裝目錄下conf/httpd.conf文件,找到下面一行文字,把最前面的 # 號(hào)去掉,然后保存梳杏。
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
2.接著找到同一文件中的DocumentRoot和Directory,改為站點(diǎn)目錄的上一級(jí)目錄
例如站點(diǎn)放在 /webapp/example1/www,則改為以下形式
DocumentRoot"/webapp"
<Directory"/webapp"> 
3.配置完成后文件在最后添加如下:
DocumentRoot是文件放置路徑韧拒,ServerName是網(wǎng)站域名:
<VIRTUALHOST *:88>
    ServerAdmin webmaster@example.com
    DocumentRoot "/webapp/example1/www "     #web目錄路徑
   ServerName example.com           #host名稱
   ServerAlias www.example.com
    ErrorLog "/webapp/example1/logs/dummy-host.example.com-error.log"
    CustomLog "/webapp/example1/logs/dummy-host.example.com-access.log" common
</virtualhost>

5、tomcat多站點(diǎn)設(shè)置

1 打開tomcat/conf/server.xml十性,在里面找到<Engine name="Catalina" defaultHost="localhost">.....</Engine>
2 在<Engine name="Catalina" defaultHost="localhost"></Engine>中間加入內(nèi)容:
<Engine name="Catalina" defaultHost="localhost">
.........原有內(nèi)容不要?jiǎng)?   下面為新加內(nèi)容:

 <Host name="example.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
 <Context path="/"  crossContext="true" reloadable="true" docBase="/webapp/example1/www" /> 
</Host>
其中/webapp/exampl

6叛溢、重啟服務(wù)

重啟 Nginx
/etc/init.d/nginx restart
重啟apache
/etc/init.d/httpd restart
重啟tomcat
cd /ilkhome/apache-tomcat-8.0.36/bin/
./shutdown.sh
./startup.sh
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市劲适,隨后出現(xiàn)的幾起案子楷掉,更是在濱河造成了極大的恐慌,老刑警劉巖霞势,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件靖诗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡支示,警方通過(guò)查閱死者的電腦和手機(jī)刊橘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)颂鸿,“玉大人促绵,你說(shuō)我怎么就攤上這事∽旆模” “怎么了败晴?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)栽渴。 經(jīng)常有香客問我尖坤,道長(zhǎng),這世上最難降的妖魔是什么闲擦? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任慢味,我火速辦了婚禮,結(jié)果婚禮上墅冷,老公的妹妹穿的比我還像新娘纯路。我一直安慰自己,他們只是感情好寞忿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布驰唬。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叫编。 梳的紋絲不亂的頭發(fā)上辖佣,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音搓逾,去河邊找鬼卷谈。 笑死,一個(gè)胖子當(dāng)著我的面吹牛恃逻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播藕施,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼寇损,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了裳食?” 一聲冷哼從身側(cè)響起矛市,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诲祸,沒想到半個(gè)月后浊吏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡救氯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年找田,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片着憨。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡墩衙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出甲抖,到底是詐尸還是另有隱情漆改,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布准谚,位于F島的核電站挫剑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏柱衔。R本人自食惡果不足惜樊破,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望唆铐。 院中可真熱鬧捶码,春花似錦、人聲如沸或链。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)澳盐。三九已至祈纯,卻和暖如春令宿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腕窥。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工粒没, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人簇爆。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓癞松,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親入蛆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子响蓉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容