1. 程式人生 > >Linux Operation學習------Tomcat

Linux Operation學習------Tomcat

host accesslog 輸入密碼 /var/ 很多 protocol 項目 服務 org

1、安裝部署Tomcat服務器
1.1使用RPM安裝JDK環境
[root@svr5 ~]# yum –y install java-1.8.0-openjdk #安裝JDK
[root@svr5 ~]# yum –y install java-1.8.0-openjdk-headless #安裝JDK
[root@svr5 ~]# java –version #查看JAVA版本
rpm -qa | grep jdk
1.2安裝Tomcat
[root@svr5 ~]# tar -xzf apache-tomcat-8.0.30.tar.gz
[root@svr5 ~]# mv apache-tomcat-8.0.30 /usr/local/tomcat #移動即是安裝
[root@svr5 ~]# ls /usr/local/tomcat
1.3啟動服務
[root@svr5 ~]# /usr/local/tomcat/bin/startup.sh
服務起不來時:
netstat -anptu | grep java
其中包含3個服務(8009;8080;8005)其中8005是一個隨機數
mv /dev/random /dev/random.bak
ln -s /dev/urandom /dev/random
1.4網頁主頁位置
/usr/local/tomcat/webapps/ROOT #根路徑
vim /usr/local/tomcat/webapps/ROOT/test.jsp

server.xml ----主配置文件
context.xml -----定義會話管理器,JDBC等
tomcat-users.xml -----用戶認證的帳號和密碼配置文件
2、使用Tomcat部署虛擬主機
主配置文件:/usr/local/tomcat/conf/server.xml
<Host name=www.aa.com appBase="aa" unpackWARS="true" autoDeploy="true">
#一個Host代表一個網站 appBase 網站位置 unpackWARS 打包文件自動解包
主配置文件框架:

嚴格區分大小寫
<Server> <Service> <Connector/> <Engine>
<Host name="www.a.com" appBase="a" unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.b.com" appBase="b" unpackWARs="true" autoDeploy="true">
</Host>
</Engine> </Services> </Server>

Server是Tomcat實例的頂層元素,一個tomcat實例
Service是一個集合,它由一個或者多個Connector以及一個Engine組成
Connector負責接受用戶請求和向客戶返回響應結果
Engine負責處理所有Connector所獲得的客戶請求,它處理在同一個Service中所有
Connector元素接收到的客戶請求,它匹配請求和自己的虛擬主機,並將請求發給對應的
<Host>處理,在Engine中顯示是默認主機(localhost)
[root@Web1 ~]# mkdir -p /usr/local/tomcat/{a,b}/ROOT #建立相對應存放網頁的路徑
[root@Web1 ~]# echo "AA" > /usr/local/tomcat/a/ROOT/index.html
[root@Web1 ~]# echo "BB" > /usr/local/tomcat/b/ROOT/index.html
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
查看是否起了3個服務
在測試的客戶端修改/etc/hosts 192.168.2.100 www.a.com www.b.com
測試:firefox www.a.com:8080 firefox www.b.com:8080
3、修改網站的首頁目錄
網站的根頁面位置(默認值是ROOT)
<Host name="www.a.com" appBase="a" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="base" reloadable="true"/>
</Host> #docBase和appBase相對應
mkdir /usr/local/tomcat/a/base
echo "base" > /usr/local/tomcat/a/base/index.html
/usr/local/tomcat/bin/startup.sh
firefox www.a.com:8080 頁面顯示:base
appBase定義基礎目錄,基礎目錄下可以有很多項目,默認項目ROOT
docBase定義首頁路徑(頁面存儲路徑),默認為ROOT
path指定用戶訪問的URL
4、跳轉
當用戶訪問http://www.a.com/test打開/var/www/html目錄下的頁面
vim /usr/local/tomcat/conf/server.xml
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html/" />
</Host>
echo "Test" > /var/www/html/index.html
[root@svr5 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@svr5 ~]# /usr/local/tomcat/bin/startup.sh
[root@client ~]# firefox http://www.a.com:8080/test
//返回/var/www/html/index.html的內容
5、配置Tomcat支持SSL加密網站
keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore
#回車提示輸入密碼,在/usr/local/tomcat/ 生成keystore
[root@svr5 ~]# vim /usr/local/tomcat/conf/server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/usr/local/tomcat/keystore" keystorePass="123456"
clientAuth="false" sslProtocol="TLS" /> #打開註釋,添加密鑰位置和密碼
[root@svr5 ~]# /usr/local/tomcat/bin/catalina.sh stop
[root@svr5 ~]# /usr/local/tomcat/bin/catalina.sh start
日誌:(位置/usr/local/tomcat/logs/)
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt" #日誌名稱
pattern="%h %l %u %t "%r" %s %b" />
6、Tomcat優化
並發量優化
<Connector port=”8080” protocol=”HTTP/1.1”
maxThreads=”1000” #客戶請求最大線程數
minSpareThreads=”100” maxSpareThreads=”1000”
enableLookups=”false” #是否對訪問服務器的客戶端進行域名解析
URIEncoding=”utf-8”
acceptCount=”1000” #監聽端口隊列最大數

Linux Operation學習------Tomcat