考慮到《可能是目前最詳細簡明的CentOS7安裝與管理教程》一文太長,以及簡書目前不支持導航目錄,閱讀起來過于不便,故對其分解成《CentOS7最小化安裝后要做的事》系列,方便以后有針對性的豐富內容。
Tomcat:
下載當前Tomcat8最新版的安裝文件apache-tomcat-8.0.27.tar.gz(https://tomcat.apache.org/download-80.cgi);
將apache-tomcat-8.0.28.tar.gz文件放到/usr/local目錄下,執行如下腳本:
cd /usr/local
tar -zxvf apache-tomcat-8.5.28.tar.gz
解壓壓縮包
rm -rf apache-tomcat-8.5.28.tar.gz
刪除壓縮包
mv apache-tomcat-8.5.28 tomcat
重命名
通過systemctl 管理tomcat:
1)首先,為tomcat 增加一個pid文件
在tomca/bin 目錄下面,增加 setenv.sh 配置,catalina.sh啟動的時候會調用,同時配置java內存參數;
vi setenv.sh
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
保存文件;
修改文件為可執行:
chmod a+x /usr/local/tomcat/bin/setenv.sh
2)增加tomcat.service
在/usr/lib/systemd/system目錄下增加tomcat.service,目錄必須是絕對目錄。
vi tomcat.service
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[unit] 配置了服務的描述,規定了在network啟動之后執行。
[service] 配置服務的pid,服務的啟動,停止,重啟。
[install] 配置了使用用戶。
執行systemctl daemon-reload
,使 tomcat.service生效
啟動tomcat:
systemctl start tomcat
開機啟動:
systemctl enable tomcat
tomcat啟動時會在tomcat的根目錄/usr/local/tomcat下生成pid文件tomcat.pid,停止后會刪除,用systemctl管理tomcat不會出現同時啟動多個tomcat,這樣可以保證始終只有一個tomcat在運行
訪問http://ip:8080/,出現以下界面說明啟動成功
但當我們點擊紅色框中按鈕,進入管理時,提示無訪問權限;
這時我們按提示,進入/usr/local/tomcat/conf,編輯 tomcat-users.xml,設置用戶:
在
<tomcat-users></tomcat-users>
內部添加:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="用戶名" password="密碼" roles="manager-gui,admin-gui"/>
另外遠程登錄tomcat管理界面權限,注釋掉/usr/local/tomcat/webapps/manager/META-INF/context.xml和/usr/local/tomcat/webapps/host-manager/META-INF/context.xml中:
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
再次使用剛設置的賬號密碼登陸即可成功登錄tomcat管理系統。