項目需要,申請了三臺測試機(jī)器,好在測試機(jī)里面光禿禿的什么都沒有,我就可以好好的學(xué)習(xí)一把玩一把了!接下來以圖文的形式講一下我所碰到的坑以及小小的收獲吧!
創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站制作與策劃設(shè)計,錫山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:錫山等地區(qū)。錫山做網(wǎng)站價格咨詢:028-86922220一、準(zhǔn)備工作
首先你得有一臺可以玩的linux服務(wù)器,知道用戶名和密碼,然后你需要在windows電腦上安裝兩個可以連上linux服務(wù)器的工具,Xshell 5和Xftp 5,安裝教程不多說,補(bǔ)圖說明如何連上服務(wù)器:
xshell連接界面如下,輸入好主機(jī)ip后點擊確定,xshell會彈出窗口輸入用戶名和密碼即可連接成功!
xftp連接界面如下,填空就可以了,很簡單不多說,提一下這里為什么選擇SFTP而不選擇FTP呢,看FTP與SFTP的區(qū)別 知多少就可以明白了!
二、安裝部署工作
若要部署項目到到linux服務(wù)器上,安裝jdk和tomcat是必不可少的,在這里要強(qiáng)調(diào)的是,如果你的一個服務(wù)器上要部署多個應(yīng)用時,那就需要針對每一個應(yīng)用都有自己的tomcat,因為不同的應(yīng)用下面,tomcat的配置肯定是不一樣的,對于這種情況,可以安裝一個tomcat安裝目錄和多個應(yīng)用下的tomcat的工作目錄,對于相同的部分可以共享安裝目錄的tomcat,下面再分別詳細(xì)介紹該如何操作,如何安裝tomcat和jdk到你的服務(wù)器上
1.目錄劃分
這是很重要的一步,可以按照下圖這種方式新建目錄,該目錄下面放置與項目啟動和部署訪問相關(guān)的一些文件,大家可以看到,我在這個目錄下面放置了多個版本的jdk和多個版本的tomcat,項目部署過程中具體使用哪個tomcat和jdk都是可以通過配置實現(xiàn)的。
對于實際的應(yīng)用,我們專門放在一個實例目錄下,建立好每個應(yīng)用的名字,然后該目錄下面放置相應(yīng)的war包,以及解壓后的文件,等著tomcat讀取該目錄部署該應(yīng)用,如下:
2.修改配置
每個應(yīng)用下面的tomcat我們也放置在一個目錄下面方便管理,如下圖,但是得注意每個tomcat的配置
/bin目錄下面,start.sh文件和stop.sh文件都要修改,首先要指定jdk路徑,類似于配置環(huán)境變量,其次就是要,指定tomcat工作目錄的tomcat路徑,大家可以注意到,CATALINA_HOME和CATALINA_BASE分別對應(yīng)tomcat的安裝目錄和工作目錄,然后大家從最后一行可以看到項目啟動使用的是安裝目錄下面的start.sh,但是項目啟動使用的tomcat配置文件則是每個應(yīng)用tomcat自己所配置的配置文件。stop.sh也是同樣的道理。
對于使用xshell執(zhí)行./start.sh和./stop.sh都是需要權(quán)限的,若出現(xiàn)沒有權(quán)限,咱們可以使用xftp對start.sh郵件修改權(quán)限,按如圖所示,打上勾勾即可。
/conf目錄下面,需要注意修改的配置有,首先是server.xml文件,修改對應(yīng)的端口號,每個應(yīng)用的tomcat都需要修改不同的端口號,不然會導(dǎo)致啟動多個tomcat時端口占用而沒法啟動,最好記住這個這個應(yīng)用配置的tomcat的端口號,后面使用nginx做端口映射時會用到;
另外一個要修改的地方就是,Catalina目錄下的localhost目錄下的ROOT.xml文件,該文件用于指定tomcat啟動時,加載哪個目錄下的項目實例
其他的/logs目錄、/temp目錄、/webapps目錄、/work目錄不需要修改;從上面也可以看出來,目錄劃分非常清晰,分別劃分為,服務(wù)安裝目錄(jdk、tomcat、nginx等),應(yīng)用實例目錄,以及應(yīng)用部署目錄,大家在使用玩linux服務(wù)器部署多個項目時,也可以按照這種方式劃分。
3.nginx實現(xiàn)80端口反向代理
按道理說,這個時候我們就可以把我們自己應(yīng)用的war包傳到相應(yīng)的目錄下面解壓,然后去對應(yīng)的應(yīng)用tomcat工作目錄下面執(zhí)行./start.sh就可以啟動該項目了!大家不妨可以先試試看。
項目部署好后,我們配置好hosts開始訪問了,這個時候我們會發(fā)現(xiàn),必須得加上上面配置好的tomcat端口號才可以訪問,我們能不能不加上端口號(使用默認(rèn)的80端口)訪問呢?上面也提到了,對于不同的tomcat我們配置了不同的端口號,原因就是一個端口號只能給一個tomcat去使用,這就意味著,項目訪問必須得添加端口號訪問,但是,要做到每一個應(yīng)用都可以使用80端口訪問我們也是可以做到的,這時候就要使用到nginx了,安裝好nginx后我們添加部分配置就可以做到反向代理,對不同應(yīng)用使用的80端口訪問轉(zhuǎn)發(fā)到相應(yīng)的端口號,在tomcat看來,外部請求還是使用了tomcat配置的端口號,這樣也就實現(xiàn)了我們想要的效果,具體配置如下(當(dāng)然我們也得做好相應(yīng)的目錄劃分工作):
nginx目錄如下:
我們只需要關(guān)心/conf目錄下面的nginx.conf配置文件,具體配置信息我也打開給大家看了,注意到最后一行了么,"include domains/*",表示該配置還沒有完,包含/domains目錄下的所有配置文件,
這個時候我們把相應(yīng)的每個應(yīng)用的nginx配置,用不同命名的文件配置好就可以了
然后再來看看怎么配置吧,監(jiān)聽auction.center.jd.net:80域名訪問,然后轉(zhuǎn)發(fā)到本機(jī)的127.0.0.1的1605端口訪問,從配置中我們也可以看到,對于一些異常狀態(tài),如http_500 http_502 http_504等會記錄下來,做不同的處理,一般情況下可以跳轉(zhuǎn)到網(wǎng)站首頁等等,然后就是記錄日志,配置好了這個配置文件,我們一定不能忘了新建日志目錄,不然nginx找不到目錄,啟動會報錯。
做完了這些工作之后,還沒完,我們需要重啟nginx,具體怎么重啟我就不多說了,百度上很多相關(guān)資料,如果重啟失敗,咱們干脆來狠招,殺掉nginx進(jìn)程,然后再使用nginx service start命令啟動nginx服務(wù)。
在我們做完這些工作之后,是不是就可以使用我們熟悉的方式(不添加端口號)訪問了呢,嗯對是的沒錯就是這樣的,很多人在顧慮是不是還要重啟tomcat重新部署應(yīng)用,那只能說明你對網(wǎng)絡(luò)層的nginx路由轉(zhuǎn)換那一層沒有理解,我們訪問的域名首先通過我們配置的hosts做DNS解析,轉(zhuǎn)換到對應(yīng)的Ip,找到ip對應(yīng)的服務(wù)器,經(jīng)過服務(wù)器的防火墻,然后當(dāng)我們對服務(wù)器配置Nginx后,Nginx首先會攔截請求,對請求做處理和分發(fā),最終才會打到相應(yīng)的tomcat上(個人理解,可能理解的也不到位,勿噴),這時候我們就可以滿懷信心的訪問域名發(fā)送請求了??!
4.踩坑
額。。不好??!空歡喜一場,跳轉(zhuǎn)到首頁,還是沒法訪問指定應(yīng)用,當(dāng)我試著加上端口號后,“奇跡”般的能訪問,這就說明咱們配置的Nginx沒有生效,問題出在哪呢?
下面說下我的解題思路吧,首先我們得確認(rèn)所有的請求都走到了Nginx,這時候就體現(xiàn)了日志的好處了,當(dāng)我們使用80端口訪問我們的應(yīng)用時,盯著日志去看,一遍兩遍三遍。。沒有日志,這個時候我們粗略的可以斷定根本就沒有經(jīng)過Nginx服務(wù),并不能確定nginx服務(wù)對于服務(wù)器沒有生效,應(yīng)為也許是咱們的日志配置的有問題呢,這個時候我做出一個大膽的操作,那就是關(guān)掉,nginx服務(wù)訪問,還是跳轉(zhuǎn)到網(wǎng)站首頁,怎么回事?難道跳轉(zhuǎn)到首頁不是通過nginx配置的?的確,公司在網(wǎng)絡(luò)層就已經(jīng)做了處理,這個時候我很迷茫,完全就是各種嘗試,不妨修改tomcat配置,把其中一個應(yīng)用配置成80端口,這樣總可以訪問了吧,很快,修改完成并部署好,就等著地址欄輸入域名訪問了,因為Nginx服務(wù)已經(jīng)關(guān)閉了,這時候的請求肯定是直接打到tomcat上的,訪問一次兩次三次,“奇跡”般的居然不能訪問,納尼???這時候靈光一閃,絕對是服務(wù)器防火墻禁用了80端口,趕緊試著在本地telnet 192.168.108.37 80 果然不能訪問,證明了我的猜測是對的,這時候就好辦了,只要在防火墻中開通80端口訪問權(quán)限即可,下面補(bǔ)充下如何在CentOS下配置iptables防火墻放開80端口。
1.打開iptables的配置文件,代碼如下:vi /etc/sysconfig/iptables
2.通過/etc/init.d/iptables status,命令查詢是否有打開80端口,如果沒有可通過兩種方式處理
3.第一種方式:修改vi /etc/sysconfig/iptables命令添加使防火墻開放80端口,代碼如下:
復(fù)制代碼 代碼如下:
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前標(biāo)題:linux服務(wù)器部署tomcat和Nginx的教程-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://chinadenli.net/article0/dhjpio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、搜索引擎優(yōu)化、網(wǎng)站收錄、標(biāo)簽優(yōu)化、虛擬主機(jī)、移動網(wǎng)站建設(shè)
聲明:本網(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)
猜你還喜歡下面的內(nèi)容