本文承接上文,在搭建好的Linux環境中,安裝服務器軟件,這里以常用的tomcat為例
tomcat是一個輕量級的web服務器,一般當做應用服務器來使
下載 wget http://mirrors.shuosc.org/apache/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz
目錄結構
bin: 二進制文件夾,用於存放可執行腳本,比如startup.sh
conf :配置文件存放地,比如tomcat的核心配置文件server.xml
temp: 運行tomcat產生的臨時文件
webapps: 應用默認部署位置
lib:tomcat所用jar包存放地
work:應用字節碼文件存放地,比如的jsp文件編譯后的servlet文件
logs:日志文件
這里先介紹一下server.xml文件中幾個比較重要的地方
server 端口 用於監聽tomcat關閉的命令
connector 端口 主要分兩種一種是http協議,用於監聽http請求,另一種是ajp協議,用於監聽ajp形式的請求
appbase: 應用部署地 autodeploy: 熱部署即在tomcat運行狀態下自動部署應用 unpackwars:解壓war包
配置tomcat單機多實例共同支持一個應用,這樣可以在某一個tomcat掛掉的情況下,服務仍然可以服務,同時也方便服務器軟件的升級
步驟
tar -zxf apache-tomcat-9.0.1.tar.gz tomcat9
cd tomcat9
創建tomcat實例目錄
mkdir -p instance/tomcat1
mkdir -p instance/tomcat2
在tomcat1和tomcat2下分別創建bin,logs,temp,work
將tomcat9中的conf文件夾復制到 tomcat1 cp -r tomcat9/conf instance/tomcat1,對於tomcat2重復此動作
打開tomcat1下conf文件夾中server.xml
vi server.xml 點擊 i 進入insert模式,分別修改server端口,connetor端口 ,host的appbase屬性改為tomca9下的webapps(方便統一部署,應用更新) 然后wq退出,tomcat2重復此動作
進入tomcat1的bin目錄,創建該實例的啟動腳本,及關閉腳本
vi startsh.sh
#!/bin/sh
export JRE_HOME=/usr
export CATALINA_HOME=/root/tomcat9
export CATALINA_BASE="/root/tomcat9/instance/tomcat1" #tomcat工作目錄
export CATALINA_TMPDIR="$CATALINA_BASE/temp"
export CATALINA_PID="$CATALINA_BASE/bin/tomcat1.pid"
export JAVA_OPTS="-server -Xms1024m -Xmx1024m -Djava.awt.headless=true -Dtomcat.name=tomcat1"
bash $CATALINA_HOME/bin/startup.sh "$@"
vi shutdown.sh
export JRE_HOME=/usr
export CATALINA_HOME=/root/tomcat9
export CATALINA_BASE="/root/tomcat9/instance/tomcat1" #tomcat工作目錄
export CATALINA_TMPDIR="$CATALINA_BASE/temp"
export CATALINA_PID="$CATALINA_BASE/bin/tomcat1.pid"
bash $CATALINA_HOME/bin/shutdown.sh "$@"
tomcat2的bin文件夾重復上述步驟創建啟動腳本及關閉腳本
在tomcat9的bin文件夾下創建總的啟動腳本及關閉腳本
vi tomcat9start.sh
#!/bin/sh
sh /root/tomcat9/instance/tomcat1/bin/startup.sh
sh /root/tomcat9/instance/tomcat2/bin/startup.sh
vi tomcat9shut.sh
sh /root/tomcat9/instance/tomcat1/bin/shutdown.sh
sh /root/tomcat9/instance/tomcat2/bin/shutdown.sh
至此tomcat單機多實例步驟全部完成