實(shí)際環(huán)境信息
系統(tǒng):Ubuntu18.04/mac/linxu
需要JDK:1.8
Tomcat: 8.5.78
一、下載安裝包
到Apache Tomcat官網(wǎng)恰矩,選擇對應(yīng)版本的tar.gz包下載(地址:https://tomcat.apache.org/download-80.cgi)
選擇下載地址后表伦,使用wget下載谦去,
// 進(jìn)入要下載的目錄,一般如下
cd /usr/local
// 使用wget 下載安裝包
sudo wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.78/bin/apache-tomcat-8.5.78.tar.gz
// 解壓安裝包
sudo tar -zxvf apache-tomcat-8.5.78.tar.gz
// 添加可讀與執(zhí)行權(quán)限
sudo chmod 755 -R apache-tomcat-8.5.78
// 配置java環(huán)境變量蹦哼,因?yàn)橥ㄟ^bin/startup.sh啟動tomcat時需要java運(yùn)行環(huán)境的變量,如:
// ubuntu@VM-0-9-ubuntu:/usr/local/apache-tomcat-8.5.78/bin$ sudo ./startup.sh
// Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
// At least one of these environment variable is needed to run this program
我們可以直接在tomcat啟動腳本中加入java配置
cd bin
sudo vi startup.sh
// 在startup.sh頂部加入java環(huán)境變量配置鳄哭,如果在底部加入因運(yùn)行時機(jī)會不起作用,配置參考如下
# java environment config
export JAVA_HOME=/usr/local/jdk1.8.0_321
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
// 然后即可啟動tomcat服務(wù)
sudo /usr/local/apache-tomcat-8.5.78/bin/startup.sh
二纲熏、java 安裝
網(wǎng)盤下載方式稍后補(bǔ)充妆丘,不需要登陸oracle。
直接通過oracle官網(wǎng)下載(https://www.oracle.com/java/technologies/downloads/#java18)局劲,需要先登陸勺拣。根據(jù)自己的cpu和系統(tǒng)下載對應(yīng)版本,我下載的是如下:
服務(wù)器上直接wget下載會有問題鱼填,因?yàn)閛racle下載時需要點(diǎn)擊確認(rèn)按鈕药有。
直接通過瀏覽器下載后,在推送到服務(wù)器,在服務(wù)器上解壓愤惰。
scp ~/Downloads/jdk-8u321-linux-x64.tar.gz ubuntu@123.12.0.12:/home/ubuntu/
// 在服務(wù)器上把壓縮包移動需要的地方苇经,解壓
sudo mv /home/ubuntu/jdk-8u321-linux-x64.tar.gz /usr/local/jdk-8u321-linux-x64.tar.gz
// 解壓安裝包(/usr/local/jdk-8u321-linux-x64.tar.gz)
sudo tar -zxvf jdk-8u321-linux-x64.tar.gz
// 然后配置環(huán)境變量即可
# java environment config
export JAVA_HOME=/usr/local/jdk1.8.0_321
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
三、tomcat配置
默認(rèn)端口修改
tomcat默認(rèn)地址為http://localhost:8080/宦言,端口號是8080扇单,可在配置文件中修改。
配置文件apache-tomcat-8.5.31/conf/server.xml奠旺,內(nèi)容如下:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
管理用戶配置
tomcat的用戶配置在apache-tomcat-8.5.31/conf/tomcat-users.xml 文件中蜘澜,默認(rèn)沒有開啟。
Tomcat已經(jīng)為我們定義了4種不同的角色(rolename)响疚,以下是Tomcat Manager 4種角色的大致介紹(下面URL中的*為通配符):
manager-gui:允許訪問html接口(即URL路徑為/manager/html/*)
manager-script:允許訪問純文本接口(即URL路徑為/manager/text/*)
manager-jmx:允許訪問JMX代理接口(即URL路徑為/manager/jmxproxy/*)
manager-status:允許訪問Tomcat只讀狀態(tài)頁面(即URL路徑為/manager/status/*)
用戶配置格式參考:
外網(wǎng)訪問App管理頁面
tomcat的app管理頁面默認(rèn)是不可以外網(wǎng)訪問的鄙信,如果要在外網(wǎng)訪問需要更改配置,如下:
地址:http://xxxx:8080/manager/html
需要修改的文件有兩個:
apache-tomcat-8.5.31/webapps/host-manager/META-INF/context.xml
apache-tomcat-8.5.31/webapps/manager/META-INF/context.xml
兩個文件修改內(nèi)容一樣稽寒,如下:
<Context antiResourceLocking="false" privileged="true" >
<CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor" sameSiteCookies="strict" />
<!-- 屏蔽僅內(nèi)網(wǎng)操作管理頁面的限制 <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
<!-- 添加允許外網(wǎng)任意ip可操作管理頁面 -->
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>
解釋:allow="^.*$" /> 就是允許所有的IP地址來管理扮碧。之前默認(rèn)是只允許127.0.0.1 本機(jī)管理。
開發(fā)時自動更新配置文件
在開發(fā)時杏糙,為了讓tomcat能夠自動重新加載我們修改過的代碼和配置慎王,可以對Tomcat的context.xml文件進(jìn)行設(shè)置。
<!-- 在<context>標(biāo)簽中宏侍,加上reloadable屬性赖淤,并且將值設(shè)為true -->
<Context reloadable="true">
<!-- 注意: reloadable設(shè)為true,會影響tomcat性能谅河;當(dāng)在正式部署時咱旱,需要改成false -->