nginx+Tomcat實現(xiàn)動靜分離架構(gòu)

最近新部署了一個項目jlj-cms-erp-web,要求使用nginx+Tomcat將靜態(tài)頁面和動態(tài)的請求分開處理,減輕Tomcat服務器的壓力

成都創(chuàng)新互聯(lián)服務項目包括堯都網(wǎng)站建設、堯都網(wǎng)站制作、堯都網(wǎng)頁制作以及堯都網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,堯都網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到堯都省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

在部署項目的這臺機器上(192.168.1.110)并沒有nginx,所以還需要將這臺機器上生成的靜態(tài)頁面?zhèn)浞莸窖b有nginx的另一臺機器上(192.168.1.191)

首先安裝tomcat,具體過程不詳細寫了,見博客

http://itzhongxin.blog.51cto.com/12734415/1915155

注意修改端口號、jvmRoute、Context path、啟動內(nèi)存,

在項目下的webapps文件夾中新建一個www文件夾,該文件夾中的文件將被備份

我們用rsync命令來實現(xiàn)兩臺機器之間的備份,先配置被備份端,就是沒有安裝nginx的機器

安裝依賴包

apt-get update
apt-get install gcc
apt-get install make
tar -zxvf rsync-3.1.2.tar.gz 
cd rsync-3.1.2
./configure --prefix=/usr/local/rsync && make && make install

安裝完成后在/usr/local/rsync目錄下應該產(chǎn)生bin share兩個目錄
然后在當前目錄下創(chuàng)建log、pid、conf、password 分別存放日志、程序進程號、配置文件、密碼

設置配置文件

vim rsyncd.conf
use chroot = nomax 
connections = 10
pid file = /usr/local/rsync/pid/rsyncd.pid
log file = /usr/local/rsync/log/rsyncd.log
[www]     #隨便起的名字,但是要與備份端相同!
uid = root
gid = root
path = /opt/tomcat8.0.24/jlj-cms-erp-web/webapps/www  #需要備份的路徑
comment = wwwbackup
read only = no
#write only = no
list = yes
hosts allow = 192.168.1.191/24   #備份到此機器上
hosts dengy = *
auth users = backup
secrets file = /usr/local/rsync/password/server.pass   #密碼文件路徑

設置密碼文件

vim server.pass 
backup:BACKup_194

修改密碼文件權(quán)限

chmod 600 server.pass

啟動rsync服務

/usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/conf/rsyncd.conf

過濾程序是否啟動成功

ps -ef | grep rsync
root 22620  1  0 15:17 ?  00:00:00 ./bin/rsync --daemon --config=/usr/local/rsyn/conf/rsyncd.conf

然后在/opt/tomcat8.0.24/jlj-cms-erp-web/webapps/www下解壓一個site.zip包,該文件夾中有大量靜態(tài)HTML文件,我們需要將他同步到192.168.1.191上

接下來配置備份端,同上

安裝完成后在/usr/local/rsync目錄下應該產(chǎn)生bin share兩個目錄
創(chuàng)建pwd目錄存放密碼文件

vim server.pass 
BACKup_194

修改密碼文件權(quán)限

chmod 600 server.pass

在/var/www下新建一個jljapp文件夾,將東西備份到該路徑下

測試一下,是否能備份成功

rsync -vzrtopg --progress --password-file=/usr/local/rsync/pwd/server.pass backup@192.168.1.110::
www
 /var/www/jljapp

*此處標紅必須與被備份端中rsync.conf中模塊名相同

看一下備份路徑中有沒有成功的備份到我們需要的東西

cd /var/www/jljapp
ll

如果備份成功,編寫一個腳本

cd /usr/local/rsync/bin
vim rsyncback_110_www.sh
#!/bin/sh
/usr/bin/rsync -vzrtopg --progress --password-file=/usr/local/rsync/pwd/server.pass backup@192.168.1.110::www /var/www/jljapp

修改腳本權(quán)限

chmod a+x rsyncback_110_www.sh

制定任務計劃,設定每周五晚上8點執(zhí)行同步任務

#每隔五分鐘,備份110cms產(chǎn)生的html
*/5 * * * *  /bin/sh /usr/local/rsync/bin/rsyncback_110_www.sh

備份工作完成了,接下來就是nginx將請求轉(zhuǎn)發(fā)到tomcat上了

在被備份端,也就是192.168.1.110上部署項目jlj-cms-erp-web

將項目包解壓到/opt/tomcat8.0.24/jlj-cms-erp-web/webapps下,將壓縮包刪除

啟動項目,查看日志

cd bin/
./startup.sh 
tail -f ../logs/catalina.out

在nginx機器上綁定域名,nginx收到客戶端的訪問請求,就根據(jù)地址轉(zhuǎn)發(fā)到對應的tomcat服務器上

現(xiàn)在的需求是有三個域名,需要三個配置文件

cms.erp.jinlejia.com
cmsstyle.erp.jinlejia.com
mhelp.erp.jinlejia.com

需要修改nginx的配置文件,新建一個jljapp文件夾,放三個配置文件

cd /etc/nginx/conf.d
mkdir jljapp

復制一個之前項目配置好的文件來修改

cp group_js.conf jljapp/mhelp.conf
vim mhelp.conf
server {    
    listen      80;
    server_name  mhelp.erp.jinlejia.com;
    root   /var/www/jljapp/site/help;
    index  index.html index.htm;
       location / {
    }
    error_page  404 500 502 503 504  /404.html;
        location = /404.html {
        root   /usr/share/nginx/html;
    }
}
cp mhelp.conf cmsstyle.confvim cmsstyle.conf
server {
    listen      80;
    server_name cmsstyle.erp.jinlejia.com;
    root   /var/www/jljapp;
    index  index.html index.htm;
    location / {
    }
    error_page  404 500 502 503 504  /404.html;
        location = /404.html {
        root   /usr/share/nginx/html;
    }
}
cp sso.conf  jljapp/cms.confcd jljapp/vim cms.conf 
upstream jljappcms {
    server 192.168.1.110:8010  weight=20 max_fails=2 fail_timeout=30s;
                  ip_hash;
}
server {
    listen       80;
    server_name cms.erp.jinlejia.com;
    root   /Disk/var/www/index;
    index  index.html index.htm;
    proxy_max_temp_file_size 0;
    large_client_header_buffers 4 16k;
    client_max_body_size 300m;
    client_body_buffer_size 128k;
    proxy_connect_timeout 600;
    proxy_read_timeout 600;
    proxy_send_timeout 600;
     proxy_buffering on;
    proxy_buffer_size 64k;
    proxy_buffers   32 64k;
    proxy_busy_buffers_size 128k;
    location / {
    proxy_pass      http://jljappcms;
    proxy_set_header HOST   $host;
    proxy_set_header X-Real-IP      $remote_addr;
    proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;
        }
    #error_page   500 502 503 504  /50x.html;
    #location = /50x.html {
    #root   /usr/share/nginx/html;
            }
}

最后修改主配置文件,在最后一行添加,當nginx加載配置文件時,自動加載include中的子配置文件

vim nginx.conf
include /etc/nginx/conf.d/jljapp/*.conf;

重啟一下nginx

service nginx restart

當前文章:nginx+Tomcat實現(xiàn)動靜分離架構(gòu)
標題鏈接:http://bm7419.com/article28/igdijp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、定制開發(fā)、域名注冊軟件開發(fā)、網(wǎng)站設計公司網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)