欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Nginx + Tomcat 反向代理 如何在高效的在一臺服務(wù)器部署多個站點(diǎn)

 更新時間:2016年12月15日 10:09:53   作者:郭朝  
本篇文章主要介紹了詳解Nginx + Tomcat 反向代理 如何在高效的在一臺服務(wù)器部署多個站點(diǎn),具有一定的參考價值,有興趣的可以了解一下。

上一篇分享了 Nginx + Tomcat 反向代理 負(fù)載均衡 集群 部署指南,感覺還是相當(dāng)實(shí)用型的,但是一般集群部署是基于大訪問量的,可能有的企業(yè)用不到,類似一些企業(yè)官網(wǎng),訪問量并不是很大,基于這個新需求,今天專門為大家分享一下 Nginx + Tomcat 反向代理 如何在一臺服務(wù)器部署多個站點(diǎn),節(jié)省服務(wù)器開支,就在這篇文章了。

首先我們需要安裝好Nginx、jdk、Tomcat,安裝方法已經(jīng)在 上一篇 說過了,本篇不再贅述。

下來看一下我們的需求,我這里有三個網(wǎng)站項目工程需要部署(依次對應(yīng)著三個域名),提供一臺Linux服務(wù)器,要實(shí)現(xiàn)訪問對應(yīng)的域名跳轉(zhuǎn)到對應(yīng)的網(wǎng)站。

下來我們看一下為了解決這個問題,我所設(shè)計的體系架構(gòu)圖:

這里我們假定圖中Linux服務(wù)器公網(wǎng)ip為192.168.2.100,然后假定要在這臺服務(wù)器搭建這么三個站點(diǎn):www.nginxtest.NET、admin.nginxtest.Net、app.nginxtest.net。

好了,下來我們具體配置一下:

1.配置Nginx反向代理

我們還是先連接SSH,然后進(jìn)行下面操作(一般不建議修改默認(rèn)主配置文件nginx.conf,所以我們新建負(fù)載均衡配置文件fxdl.conf,保證服務(wù)器安全,如下):

$ ssh root@192.168.2.100             //SSH連接
# cd /usr/local/nginx/conf
# touch fxdl.conf                 //創(chuàng)建代理配置文件
# vi fxdl.conf                  //用vi編輯器打開文件,然后按鍵盤的i

注意:vi編輯器中,鍵盤按 i 進(jìn)入 INSERT 狀態(tài),按 Esc 退出 INSERT 狀態(tài)。

然后輸入以下配置代碼(域名部分自定義更改成你們自己的域名,注釋部分則按需開啟):

#設(shè)置低權(quán)限用戶,為了安全而設(shè)置的
user nobody;

#工作衍生進(jìn)程數(shù)
worker_processes 4;

#設(shè)置錯誤文件存放路徑
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#設(shè)置pid存放路徑(pid是控制系統(tǒng)中重要文件)
#pid logs/nginx.pid;

#設(shè)置最大連接數(shù)
events{
  worker_connections 1024;
}

http {
  #用來設(shè)置日志格式
  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 /data/wwwlogs/access_nginx.log main;

  #開啟高效文件傳輸模式
  sendfile      on;
  #防止網(wǎng)絡(luò)阻塞
  tcp_nopush     on;
  #防止網(wǎng)絡(luò)阻塞
  tcp_nodelay     on;
  #長連接超時時間,單位是秒
  keepalive_timeout  65;
  #散列表的沖突率,默認(rèn)1024,越大則內(nèi)存消耗更多,但散列key的沖突率會降低,檢索速度就更快
  types_hash_max_size 2048;

  #文件擴(kuò)展名與文件類型映射表
  include       /usr/local/nginx/conf/mime.types;
  #默認(rèn)文件類型
  default_type    application/octet-stream;

  #include /etc/nginx/conf.d/*.conf;

  #主要是用于設(shè)置一組可以在proxy_pass和fastcgi_pass指令中使用額代理服務(wù)器,默認(rèn)負(fù)載均衡方式為輪詢
  upstream tomcat_client {
    server localhost:8080;
  }

  #開啟gzip壓縮,開啟后,訪問網(wǎng)頁會自動壓縮
  #gzip on;

  #指定服務(wù)器的名稱和參數(shù)
  server {
    listen 80;
    server_name app.nginxtest.net;
    location / {
      proxy_pass http://tomcat_client;
      proxy_redirect default;
      #設(shè)置代理
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
    }
  }
  server {
    listen 80;
    server_name admin.nginxtest.net;
    location / {
      proxy_pass http://tomcat_client;
      proxy_redirect default;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
    }
  }
  server {
    listen 80;
    server_name www.nginxtest.net;
    location / {
      proxy_pass http://tomcat_client;
      proxy_redirect default;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
    }
    location = / {
      #判斷是否為手機(jī)移動端
      if ($http_user_agent ~* '(iPhone|ipod|iPad|Android|Windows Phone|Mobile|Nokia)') {
        rewrite . http://www.nginxtest.net/phone break;
      }
      rewrite . http://www.nginxtest.net/pc break;
    }
  }
}

好了就是這么簡單,Nginx反向代理配置完畢。下來配置Tomcat:

2.配置Tomcat部署多個站點(diǎn)

$ ssh root@192.168.2.100             //SSH連接
# cd /usr/local/tomcat
# cp /usr/local/tomcat/conf/server.xml /usr/local/tomcat/conf/server.xml_bk //備份server.xml原文件
# vi server.xml                  //用vi編輯器打開文件,然后按鍵盤的i

我們編輯server.xml,Engine節(jié)點(diǎn)下添加以下HOST節(jié)點(diǎn)(節(jié)點(diǎn)中的域名和站點(diǎn)工程目錄需要自定義修改為你們自己的):

<Host name="www.nginxtest.net" unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
  <Context path="/" docBase="/data/wwwroot/www.nginxtest.net/WebContent" reloadable="true"/>
</Host>
<Host name="admin.nginxtest.net" unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
  <Context path="/" docBase="/data/wwwroot/admin.nginxtest.net/WebContent" reloadable="true"/>
</Host>
<Host name="app.nginxtest.net" unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
  <Context path="/" docBase="/data/wwwroot/app.nginxtest.net/WebContent" reloadable="true"/>
</Host>

注意:如果你想要實(shí)現(xiàn)直接訪問公網(wǎng)ip無網(wǎng)頁效果,刪除Engine節(jié)點(diǎn)下的

<Host name="localhost" ..>..</Host>

即可。

輸入完成后按下Esc,然后輸入:

:wq!

就可以保存并退出配置文件了。到此,Tomcat也配置完畢了。

接下來我們就可以將我們的多個站點(diǎn)工程代碼放在 /data/wwwroot/ 下了。然后啟動Nginx和Tomcat。

現(xiàn)在可以試一下,分別訪問每個站點(diǎn)的二級域名www.nginxtest.net、admin.nginxtest.net、app.nginxtest.net,我們發(fā)現(xiàn)已經(jīng)可以跳轉(zhuǎn)到對應(yīng)的站點(diǎn)了(和每個站點(diǎn)分別部署一臺服務(wù)器,看到的效果是一樣的)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • nginx設(shè)置超時時間的問題及解決方案

    nginx設(shè)置超時時間的問題及解決方案

    程序在處理大量數(shù)據(jù),接口超過1分鐘(默認(rèn)的)未返回數(shù)據(jù),導(dǎo)致等待超時,出現(xiàn)這種情況,我們可以先優(yōu)化程序,縮短執(zhí)行時間,可以調(diào)大nginx超時限制的參數(shù),使程序可以正常執(zhí)行,本文介紹nginx設(shè)置超時時間及504 Gateway Time-out的問題解決方案,一起看看吧
    2024-02-02
  • Nginx提高安全與性能的最好配置詳解

    Nginx提高安全與性能的最好配置詳解

    這篇文章主要介紹了Nginx提高安全與性能的最好配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Nginx之rewrite實(shí)現(xiàn)URL重寫方式

    Nginx之rewrite實(shí)現(xiàn)URL重寫方式

    文章介紹了Nginx的rewrite模塊,包括其重要性、相關(guān)指令(如set、if、break、return、rewrite)的使用方法和作用域,并舉例說明了這些指令的實(shí)際應(yīng)用場景,如域名重定向和防盜鏈處理
    2025-03-03
  • nginx location中uri的截取的實(shí)現(xiàn)方法

    nginx location中uri的截取的實(shí)現(xiàn)方法

    這篇文章主要介紹了nginx location中uri的截取的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Nginx中break與last的區(qū)別詳析

    Nginx中break與last的區(qū)別詳析

    這篇文章主要給大家介紹了關(guān)于Nginx中break與last區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Nginx高可用(主從、主主模式)的項目實(shí)踐

    Nginx高可用(主從、主主模式)的項目實(shí)踐

    本文介紹了Nginx高可用性的兩種主要解決方案,主從架構(gòu)和主主架構(gòu),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 詳解nginx平滑升級的過程

    詳解nginx平滑升級的過程

    這篇文章主要介紹了詳解nginx平滑升級的過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • nginx修改配置限制惡意爬蟲頻率

    nginx修改配置限制惡意爬蟲頻率

    這篇文章主要介紹在nginx中怎樣修改相關(guān)配置,以限制惡意爬蟲頻率的方法,有需要的朋友參考下。
    2016-08-08
  • Nginx負(fù)載均衡詳細(xì)介紹

    Nginx負(fù)載均衡詳細(xì)介紹

    nginx不單可以作為強(qiáng)大的web服務(wù)器,也可以作為一個反向代理服務(wù)器,而且nginx還可以按照調(diào)度規(guī)則實(shí)現(xiàn)動態(tài)、靜態(tài)頁面的分離,可以按照輪詢、ip哈希、URL哈希、權(quán)重等多種方式對后端服務(wù)器做負(fù)載均衡,同時還支持后端服務(wù)器的健康檢查
    2016-09-09
  • 詳解Nginx 工作原理

    詳解Nginx 工作原理

    這篇文章主要介紹了Nginx 工作原理,幫助大家更好的理解和學(xué)習(xí)nginx,感興趣的朋友可以了解下
    2020-10-10

最新評論