Tomcat

  • cat zt | grep -A 10 過濾出之後向前顯示10行 
    cat zt | grep -B 10 向後 
    cat zt | grep -C 10 向前向後個顯示10行
  • printf 「%x\n」 937 
    把PID937轉換爲16進制
  • strace -p PID 追蹤PID號的線程
  • jstack:裝Tomcat確定得裝JDK,就會有jstack命令。用來精肯定位出錯的代碼段
  • tomcat特色:最佔內存的,內存夠,運行速度就快
  • Tocat是java的容器,運行的是java代碼
  • linux默認是有python的,而沒有java 
    tomcat默認監聽8080端口
  • 在經過瀏覽器訪問時須要指定端口進行訪問
  • java的壓縮叫war包,打包命令叫jar。php的壓縮包叫tar,打包命令叫tar。
  • 網頁目錄(webapps)下的ROOT目錄不能刪除,其它都能刪除,以及ROOT下的全部文件及目錄都能刪除
  • 若是訪問網頁文件時不想看見子目錄,那麼就把這個網頁文件放到webapps下的ROOT目錄中。把網頁文件放到ROOT目錄中,就至關於沒有任何路徑
  • tomcat和PHP有個區別 
    當tomcat的網頁目錄有更新,必須重啓服務器,tomcat有很大的緩存。 
    而PHP則不用重啓服務器
 

一.安裝

tomcat須要安裝java的環境,也就是須要安裝javaphp

 

1.1準備

(1)JDK下載(java環境):http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 
Tomcat下載:http://tomcat.apache.org/ 
(2)二進制包 
4.png-7.4kB
html

 

1.2安裝JAVA

 

1.2.1解壓(二進制包直接解壓不用編譯),並做軟鏈接

5.png-11.3kB

 

1.2.2添加環境變量

sed -i.ori '$a export JAVA_HOME=/usr/local/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
6.png-120.2kB
7.png-9.2kB
至此java安裝完成java

 

1.3安裝tomcat

 

1.3.1解壓,做軟鏈接

8.png-5.8kB

 

1.3.2修改環境變量

echo 'export TOMCAT_HOME=/usr/local/tocat' >> /etc/profile 
source /etc/profile 
9.png-14.9kB
10.png-19.5kB
python

 

1.3.3用yum安裝命令

11.png-18kB

12.png-17.5kB

14.png-264.1kB
除了ROOT目錄以外的均可以刪除,ROOT裏的東西也可刪除。ROOT裏的東西是Tomcat的web管理端的文件,它的管理端是有漏洞的,黑客容易對其進行入侵,在工做中通常不用mysql

 

1.3.4啓動tomcat

/usr/local/tomcat/bin/startup.sh 
15.png-19.7kB
關閉防火牆service iptables stop 
關閉安全機制setenforce 0 
自此Tomcat啓動成功
linux

 

1.4經過瀏覽器訪問

16.png-148.5kB

 

1.5查看配置文件17.png-196.8kB

 

1.5.1tomcat有個默認的管理功能(工做中雖然不用,但要嘗試配置一次)

vim tomcat-users.xmlnginx

18.png-21.1kB
以後保存退出web

重啓tomcat 
/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh 
19.png-24.5kB
sql

 

1.5.2在瀏覽器登錄

20.png-268.7kB

21.png-498.6kB
這就是tomcat管理端。固然在工做中不常常用apache

 

 

2.1.1tomcat主配置文件server.xml

23.png-97.4kB

 

2.1.2端口

24.png-92.9kB

 

2.1.3 8005端口演示

25.png-92.6kB
能夠遠程操做tomcat服務。因此得修改它的端口

 

修改

8005端口 
26.png-63.4kB
8080監聽端口 
27.png-43kB
8009端口 
28.png-33.4kB
從新啓動服務,8009端口會消失 
29.png-6.4kB
引擎及IP訪問時的默認網站 
conf/server.xml 
31.png-61.7kB

 

三,web站點部署

 

3.1.1修改配置文件,並重啓服務

32.png-51.2kB
重啓服務

 

3.1.2

33.png-59.8kB

 

3.1.3

34.png-5.7kB

35.png-14.8kB
會發現它自動出現目錄(將war包自動進行解壓縮),若是沒有,那麼就從新啓動tomcat服務

36.png-28.7kB

 

3.1.4在瀏覽器進行訪問

37.png-7.7kB
38.png-42.8kB
至此java的web服務器就部署好了

 

可是訪問的時候是訪問的子目錄

39.png-61.4kB
方法(1): 
40.png-11.9kB
41.png-27.1kB

 

四.tomcat多實例部署

 

4.1.1

42.png-22.9kB

 

4.1.2 修改配置文件

43.png-77kB

47.png-20.5kB

46.png-9.9kB

45.png-11.7kB

44.png-11.4kB
每一個實例的端口都不能一致

 

修改另外一個實例的配置文件。

除了端口不能一致,其它的都同樣

爲何設置兩個多實例的網頁目錄一致? 
由於在工做當中web服務器看的是同一個網頁代碼,只不過是分紅了多個web服務器。這裏設置爲同一個網頁目錄至關於起到了多實例負載均衡的效果

 

以後從新啓動兩個多實例tomcat服務

啓動多實例tomcat服務 
48.png-24.8kB
49.png-9.6kB

 

啓動tomcat服務

64.png-73.8kB

 

經過瀏覽器訪問

51.png-20.4kB
52.png-22kB
53.png-24kB
至此多實例完成

 

五.tomcat集羣

至關於tomcat前方加了nginx做反向代理 
Nginx配置文件中注意的 
54.png-31.5kB

 

六.tomcat安全優化和性能優化

 

6.1 安全優化(必作)

最重要的爲一下4項 
(1)降權啓動(用普通用戶啓動tomcat) 
(2)telent管理端口保護(8005端口。要改爲別的) 
(3)ajp鏈接端口保護(8009端口。註釋掉或者刪除掉) 
(4)禁用管理端(web界面,不用它的web管理界面。清空ROOT下的全部東西,webapps中要保留ROOT目錄,其它的留不留無所謂)

  • 降權啓動 
    55.png-252.7kB

  • 管理端口保護 
    56.png-142.7kB

 

6.2性能優化(重要的幾個)

 

6.2.1屏蔽DNS的查詢(DNS反向解析會影響效率)

57.png-124.2kB

 

6.2.2 JVM調優(最重要)

主要是對tomcat的堆棧內存做優化 
58.png-133.7kB
59.png-576.4kB

 

企業案例Linuxjava/http進程高的解決方案

61.png-206.4kB

62.png-78.2kB

 

步驟

 

(1)先用top命令過濾出哪一個進程致使的問題(找出佔用CPU最高的進程號)

64.png-73.8kB

 

(2)查看這個進程全部的系統調用(再找出是哪一個PID號的線程致使的)

streace -p PID 
65.png-64.3kB
若是是937線程有問題,那麼就用到 
printf 「%x\n」 937 是把937轉換成16進制(在內存中的都是16進制)

 

(3)以後再用jstack

66.png-86.2kB
67.png-547.1kB
下來把這些內容打印給開發,他就知道是哪的問題

 

七.使用Tomcat部署Jpress

 

7.1 獲取安裝包及解壓,增長環境變量

1.png-10.1kB
2.png-24.7kB

 

7.2 將jpress-web-newest.war包放到Tomcat網站根目錄下

3.png-25kB

 

7.1 在瀏覽器輸入訪問進行安裝(須要mysql)

4.png-73.9kB

7.png-63.7kB

相關文章
相關標籤/搜索