ubuntu下Nginx+Tomcat發佈運行javaWeb項目

這裏不再敘說如何安裝Nginx和Tomcat,直接貼上相關鏈接:
ubuntu下手動搭建Nginx
ubuntu14.04下配置tomcat8

下面進入正文:

將你的項目war包通過filezilla上傳到tomcat下的webapps目錄下,至此Tomcat這部分已經完成,
接下來直接配置Nginx,首先大家先不急着配置 查看下自己的Nginx安裝好分佈在哪些目錄下,喜歡研究的朋友去了解下,linux系統每一個文件下放置哪些東西,這邊不在累贅。

執行下面的命令:

sudo find / -name nginx

nginx相關目錄

好了,大家對照自己的目錄看下,其中/etc/nginx/目錄下有一個nginx.conf文件,這個是nginx的配置文件,我們打開進行編輯:

sudo vim /etc/nginx/nginx.conf #編輯配置文件

打開後我們見到如下圖:

這裏寫圖片描述

其中,紅框中的配置是我們需要添加的,爲了大家方便我,我複製進來:

server {

    listen 80;

    server_name 192.168.1.2;#ip地址爲你的ubuntu的IP
    location / {
        proxy_pass  http://192.168.1.2:8080;#ip地址爲你的ubuntu的IP
    } #將所有訪問請求轉發給tomcat進行處理
}

退出並且保存下,然後我們驗證下配置文件正確性:

/usr/local/lib/tomcat-8$ sudo /usr/sbin/nginx -t

出現下面兩行表示配置正確,可以進行下一步,不正確的請對照上面進行修改。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

到此,我們已經完成了Nginx+Tomcat,發佈項目的所有配置,
好啓動Tomcat,在啓動Nginx,訪問路徑爲:IP+項目名
注意:你的web項目一定配置好了index.html或者index.jsp

貼上成功截圖

這裏寫圖片描述

=============================================================================


這時候愛思考的人就問了,我們通過IP+8080,也能訪問到tomcat啊,那爲什麼還需要Nginx呢,其實我們需要的是Nginx的作爲我們的代理,Nginx相對tomcat而言,在處理靜態頁面上速度很快,高併發處理也很優秀,所以需要設置Tomcat只能被指定內網IP地址訪問到,所以,請各位打開tomcat下的server.xml文件(打開之前請先停止Nginx和Tomcat),進行以下編輯:

這裏寫圖片描述

在Host之前加入紅色框的一行,IP地址請給位修改成自己的內網IP,

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.253.131" deny=""/> 

效果:只有指定的主機或IP地址纔可以訪問部署在Tomcat下的應用。Tomcat提供了兩個參數供你配置:RemoteHostValve 和RemoteAddrValve,前者用於限制主機名,後者用於限制IP地址。

根據主機名進行限制:(這邊如果不是集羣服務器,就不需要考慮這個問題)

<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="52itstyle.com" deny=""/>

好配置完成後,重啓Nginx和Tomcat,我們訪問一下:
可以看到8080已經無法訪問到我們的Tomcat了,但是通過訪問80端口,可以被Nginx轉到Tomcat處理,並且返回頁面.

這裏寫圖片描述

這裏寫圖片描述

Thanks.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章