您好,登錄后才能下訂單哦!
最近新部署了一個項目jlj-cms-erp-web,要求使用nginx+Tomcat將靜態頁面和動態的請求分開處理,減輕Tomcat服務器的壓力
在部署項目的這臺機器上(192.168.1.110)并沒有nginx,所以還需要將這臺機器上生成的靜態頁面備份到裝有nginx的另一臺機器上(192.168.1.191)
首先安裝tomcat,具體過程不詳細寫了,見博客
http://itzhongxin.blog.51cto.com/12734415/1915155
注意修改端口號、jvmRoute、Context path、啟動內存,
在項目下的webapps文件夾中新建一個www文件夾,該文件夾中的文件將被備份
我們用rsync命令來實現兩臺機器之間的備份,先配置被備份端,就是沒有安裝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目錄下應該產生bin share兩個目錄
然后在當前目錄下創建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
修改密碼文件權限
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包,該文件夾中有大量靜態HTML文件,我們需要將他同步到192.168.1.191上
接下來配置備份端,同上
安裝完成后在/usr/local/rsync目錄下應該產生bin share兩個目錄
創建pwd目錄存放密碼文件
vim server.pass BACKup_194
修改密碼文件權限
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
修改腳本權限
chmod a+x rsyncback_110_www.sh
制定任務計劃,設定每周五晚上8點執行同步任務
#每隔五分鐘,備份110cms產生的html */5 * * * * /bin/sh /usr/local/rsync/bin/rsyncback_110_www.sh
備份工作完成了,接下來就是nginx將請求轉發到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收到客戶端的訪問請求,就根據地址轉發到對應的tomcat服務器上
現在的需求是有三個域名,需要三個配置文件
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。