1. 程式人生 > >tomcat安裝以及常用配置

tomcat安裝以及常用配置

一 什麼是tomcat

Tomcat 伺服器是一個免費的開放原始碼的Web 應用伺服器,屬於輕量級應用伺服器,在中小型系統和併發訪問使用者不是很多的場合下被普遍使用,是開發和除錯JSP 程式的首選。

Tomcat是一個JSP/Servlet容器。其作為Servlet容器,有三種工作模式:獨立的Servlet容器、程序內的Servlet容器和程序外的Servlet容器。

二 tomcat 的版本:

tomcat 現有的版本有tomcat 7 ,tomcat 8 tomcat8.5,tomcat 9
image
我們可以在圖片中看到tomcat8.0版本後續也是不會再進行更新和升級了,我們可以使用tomcat8.5和9.0

三 tomcat的下載

3.1 tomcat9版本下載連結

https://tomcat.apache.org/download-90.cgi

3.2 tomcat8.5版本下載連結

https://tomcat.apache.org/download-80.cgi

我們可以根據我們需要版本和系統進行下載。

四 tomcat的安裝

tomcat的安裝,由於該應用常用在linux伺服器上,我們的安裝教程是基於centos7進行安裝:

4.1 java環境配置

tomcat 9 版本需要java8以上才能支援
cd /tmp && wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm 
rpm -ivh jdk-8u131-linux-x64.rpm
 環境變數:
vi + /etc/profile 
JAVA_HOME=/usr/java/jdk1.8.0_131 
CLASSPATH=.:$JAVA_HOME/lib.tools.jar 
PATH=$JAVA_HOME/bin:$PATH export 
JAVA_HOME CLASSPATH PATH 

#載入環境變數
source /etc/profile

4.2 tomcat安裝

# 安裝wget
yum install wget -y
# 下載tomcat包
cd /tmp &&wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.13/bin/apache-tomcat-9.0.13.tar.gz
# 解壓
tar -xzvf  apache-tomcat-9.0.13.tar.gz
# 移動到指定位置並重命名
mv /tmp/apache-tomcat-9.0.13 /opt/tomcat9
# 啟動 tomcat
/opt/tomcat9/bin/startup.sh 
或者
/opt/tomcat9/bin/catalina.sh start
# 
# 關閉tomcat
/opt/tomcat9/bin/shutdown.sh
或者
/opt/tomcat9/bin/catalina.sh stop
還可以直接kill 程序號,當我們的tomcat是有使用者進行訪問的時候,我們殺死不了這個程序,只能通過強制殺死 kill -9
# 檢視當前的版本
/opt/tomcat9/bin/version.sh

# 開放埠
tomcat 預設訪問埠是8080,我們可以在conf目錄的檔案server.xml的69行進行埠更改。

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
如果是在阿里雲進行配置的話,記得開啟安全組的8080埠.

訪問:

路徑是 ip:8080(tomcat預設是繫結ip 0.0.0.0)
image

五 tomcat的目錄結構

bin  # 指令碼啟動目錄
conf #配置檔案目錄
lib  #tomcat執行的依賴包
logs #日誌檔案目錄
temp #臨時檔案目錄
webapps  # 用來存放應用程式
    --docs  # 文件
    --examples # 示例
    --host-manager # 虛擬主機web管理介面
    --manager # 管理介面
    --ROOT # 預設訪問的應用程式
work # 部署的Web應用程式的臨時工作目錄,當我們需要清除快取的時候可以將該目錄刪除.然後重啟動tomcat.

六 tomcat的初始化

根據需求來進行初始化

  1. 第一更改埠:

    編輯配置檔案 server.xml .
    大約在69行,將 port = "8080"更改成我們想繫結的埠.
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

  2. 配置編碼

    為了避免程式上的一些請求和返回的中文亂碼問題.我們需要配置.
    編輯配置檔案 server.xml .
    大約在69行後,新增 useBodyEncodingForURI="true" URIEncoding="UTF-8"

    <Connector port="8080" protocol="HTTP/1.1"
                useBodyEncodingForURI="true" URIEncoding="UTF-8"
                connectionTimeout="20000"
                redirectPort="8443" />
  3. 配置manager

    見tomcat-manager的文章

七 tomcat的啟動

# 啟動 tomcat
/opt/tomcat9/bin/startup.sh 
或者
/opt/tomcat9/bin/catalina.sh start
# 
# 關閉tomcat
/opt/tomcat9/bin/shutdown.sh
或者
/opt/tomcat9/bin/catalina.sh stop
還可以直接kill 程序號,當我們的tomcat是有使用者進行訪問的時候,我們殺死不了這個程序,只能通過強制殺死 kill -9
# 檢視當前的版本
/opt/tomcat9/bin/version.sh

八 tomcat更改繫結ip

在生產環境我們經常有這樣的需求,將tomcat的繫結ip更改.不讓外部人可以直接訪問.

tomcat預設的繫結是 0.0.0.0 ,也就意味著這樣外網就可以訪問我們的tomcat,
但是我們想要我們的tomcat不讓外網訪問

解決方法:

  1. 更改繫結ip,繫結127.0.0.1,這樣就只能本機訪問了
    編輯配置檔案 server.xml .
    大約在69行,在配置埠的地方,新增 :address="127.0.0.1"

    <Connector port="8080" protocol="HTTP/1.1"
           address="127.0.0.1"
           connectionTimeout="20000"
           redirectPort="8443" />
  2. 更改防火牆規則,不對外開放8080埠.

    firewall-cmd  --remove-port=8080/tcp --permanent
    firewall-cmd  --reload

九 tomcat隱藏manager介面

通過nginx重定向的隱藏介面

十 jenkins使用外掛自動部署tomcat

使用jenkins來進行釋出war包

  1. 除了常規的將tomcat暫停後,進行刪除原來的war包,scp傳輸新的war包,啟動tomcat
  2. 還可以使用外掛 deploy war/ear to a container ,通過tomcat的manager介面來進行 來進行釋出。

deploy war/ear to a container:釋出war包到伺服器

deploy artifacts to maven reepository:釋出到maven伺服器

image

WAR/EAR files: 填的是生成的wa包的路徑。ugou-admin/target/ugou-admin.war(實際路徑是:/root/.jenkins/jobs/ugou-admin-online/workspace/ugou-admin/target/ugou-admin.war)
Context path: 填的是上傳到tomcat的路徑。即使用localhost/(content path設定的名字)來訪問專案
比如我的專案訪問路徑是 :http://127.0.0.1/ugou-admin/ 那麼這裡我應該填入的就是 /ugou-admin

Container: 選擇我們使用的tomcat版本。
Manager user name /Manager password: 填入我們在$CATALINA_BASE/conf/tomcat-users.xml 配置的使用者名稱和密碼

Tomcat URL : 填入我們的tomcat url 比如我們設定的埠是80 那麼直接填入ip就行了 :http://127.0.0.1/,如果有埠,那麼我們就需要填入對應的埠

Deploy on failure : 構建失敗是否還發布。勾選表示是,不勾選表示不是,生產環境建議不勾選。