Tomcat公貓

官方站點:http://tomcat.apache.org/

Tomcat是一個能夠運行java頁面(jsp)的java’web服務器程序;安裝使用之前需要先安裝jdk包

jdk是JAVA的開發工具包,已隨base收錄進來,安裝jdk1.8版本:yum -y install java-1.8.0-openjdk-devel (其中jvm虛擬機的運行程序就叫java),安裝完路徑:/usr/bin/java;接下來讓系統輸出一個java的環境變量,讓所有應用程序知道到哪找java:echo “export JAVA_HOME=/usr” > /etc/profile.d/java.sh (保存在文件內永久有效),然后重載生效:source /etc/profile.d/java.sh

 Tomcat也隨yum的base倉庫收錄進來,目前為7版本,安裝:yum install tomcat tomcat-webapps tomcat-admin-webapps -y (確保你的jdk包也安裝完成了)其中主配置文件:/etc/tomcatserver.xml;默認網頁文件程序的存放目錄:/var/lib/tomcat/webapps/(建議更改路徑),安裝完啟動服務,訪問IP:8080測試即可

還有一種綠色二進制安裝方法

將教室環境的ftp://172.18.0.1/pub/Sources/6.x86_64/tomcat中最新包下載,默認路徑/usr/local下,

將它解壓過去:tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local/,

然后cd /usr/local將tomcat包生成一個鏈接(將來升級直接修改鏈接文件路徑即可):ln -sv apache-tomcat-8.0.23 tomcat;

注意使用tomcat用戶啟動程序最好(生產環境),而不是默認root權限,所以進入tomcat目錄下:useradd -r tomcat(普通用戶也成),

更改屬主和群組權限:chown -R tomcat logs/ work/ temp/   和chown -R :tomcat ./*    

 記得也需要添加環境變量,因為這樣安裝不是標準的安裝路徑,應用程序都找不到tomcat,所以編輯vim /etc/profile.d/tomcat.sh添加兩行內容:export CATALINA_HOME=/usr/local/tomcat       export PATH=$CATALINA_HOME/bin/:$PATH  。

然后加載生效:source /etc/profile.d/tomcat.sh;最后切換成tomcat用戶進入/usr/local/tomcat/bin執行腳本:

./catalina.sh start啟動tomcat,測試8080端口

進入tomcat的請求可分為兩類:

(1) standalone : 請求來自于客戶端瀏覽器;

(2) 由其它的web server反代:來自前端的反代服務器:

nginx –> http connector –> tomcat

httpd(proxy_http_module) –> http connector –> tomcat (apache的文件傳輸協議,默認8080端口連接tomcat)

httpd(proxy_ajp_module) –> ajp connector –> tomcat (apache的二進制傳輸協議更高效,默認8009端口連接tomcat)

配置一個Connector連接器接口:

<Connector port=”18080″ protocol=”HTTP/1.1″ address=”172.18.254.18″ maxThreads=”300″ enableLookups=”no”
               connectionTimeout=”20000″
               redirectPort=”8443″ />

Tomcat公貓

接下來配置tomcat的虛擬主機:


備份主配置文件:cp server.xml server.xml.bak

        先定義Engine引擎:<Engine name=”Catalina” defaultHost=”du.magedu.com”>

Host常用屬性說明:appBase:此Host的webapps的默認存放目錄;相當于apache的DocumentRoot或nginx的Root (Valve是過濾器組件,定義訪問日志和訪問控制)

                                                                    添加主配置文件內Host上下文

<Host name=”du.magedu.com” appBase=”/web/apps” unpackWARs=”true” autoDeploy=”true”>
        <Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs”
               prefix=”du_access” suffix=”.log”
               pattern=”%h %l %u %t &quot;%r&quot; %s %b” />
        </Host>

然后創建網站資源存放目錄:mkdir /web/apps/ROOT/{lib,classes,WEB-INF,META-INF} -pv

編寫一個jsp頁面nano /web/apps/ROOT/index.jsp,例:

<%@ page language=”java” %>
<%@ page import=”java.util.*” %>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<% out.println(“hello world”);
%>
</body>
</html>

                                                    然后systemctl restart tomcat重啟服務,另找一臺主機配置好hosts主機名文件,訪問curl http://du.magedu.com:8080/測試

               還可以在Host組件中定義Context上下文(在一個程序下創建一個子程序):(path是指定url路徑,docBase是文件資源存放路徑,相當于上面的appBase)                                                                                                                                                                                

Tomcat公貓

Tomcat公貓(測試時W7的hosts文件要添加IP地址和主機名)

接下來配置nginx動態資源代理:

Tomcat公貓(location根上一定要加index.jsp);瀏覽器訪問測試http://172.18.254.18/

apache的模塊代理后端tomcat:vim /etc/httpd/conf.d/tomcat-http.conf 

Tomcat公貓

使用apache代理tomcat還有ajp協議(二進制傳輸速度快也安全):

Tomcat公貓

單臺tomcat并發處理鏈接200個就不錯了;有多臺tomcat時,可以配置nginx/apache實現tomcat集群解決方案:

1.配置兩臺后端tomcat主機,安裝:yum -y install java-1.8.0-openjdk-devel tomcat tomcat-webapps tomcat-admin-webapps,并在/usr/share/tomcat目錄下創建一個test目錄在里面添加一個jsp頁面;實現訪問172.18.254.82:8080和172.18.254.18:8080/test/均可訪問到頁面(另一臺tomcat主機同樣)

2. 配置前端nginx,vim /etc/nginx/nginx.conf:

Tomcat公貓

                            vim /etc/nginx/conf.d/default.conf:

Tomcat公貓

隨后檢查nginx -t語法,啟動nginx,訪問nginx主機的IP實現后臺tomcat輪詢調度

3.配置前端apache實現后臺tomcat輪詢調度:vim /etc/httpd/conf.d/tomcat-httpd.conf

Tomcat公貓

然后瀏覽器測試使用httpd主機IP訪問,測試tomcat輪詢效果;httpd還有一些保持會話的方法,因為生產環境不會用上,這里也不再實驗;

Tomcat會話復制集群:(后端tomcat每個都需要同步會話,保持會話一致;所以容易產生網絡堵塞只適合小規模的會話集群;生產中多數還是用session server)

        默認tomcat會話同步之間使用多播傳輸;


   


原創文章,作者:杜少星,如若轉載,請注明出處:http://www.www58058.com/76571

(0)
杜少星杜少星
上一篇 2017-05-23
下一篇 2017-05-23

相關推薦

  • Linux grep與正則表達式淺析

    #Linux grep與正則表達式淺析 ##grep   grep(global search regular expression(RE) and print out the line,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。 ###grep語法    &n…

    Linux干貨 2017-04-06
  • 0806文本處理工具

    ———- 文件查看工具 ———- cat:    cat [OPTION]… [FILE]…   //查看文本文件內容,一般后面跟文件名(相對路徑),或者是文件名(絕對路徑) -n 加行號 -b 加行號,…

    Linux干貨 2016-08-07
  • 第一周n28

    1.計算機的組成及功能 計算機由五大部件組成??刂破鳌⑦\算器、存儲器、輸入輸出設備。 1.控制器(Control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。 2.運算器(Datapath):運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工…

    Linux干貨 2017-12-03
  • 文件掛載

    (1)創建目錄 /mnt/file,利用dd命令創建一個大文件; (2)將文件格式化,這個文件有文件系統,相當于一個分區; (3)直接用blkid 看不到文件,可以用mount -o loop 掛載文件,掛載上后,文件就可以當作分區來用了; (4)掛載文件的優勢在于,方便移動。分區不能隨便移動而文件可以; centos6是要加-o loop的 centos7…

    2017-05-03
  • Linux進程篇16.3ps命令:進程管理工具

    ps命令:進程管理工具

    Linux干貨 2017-12-18
  • 重返課堂

    1.學習目的: i. IT業發展日新月異,當前所掌握的知識已無法滿足工作需要。 ii. IT行業更新飛快,這就要求從業人員不斷的去學習,不斷的完善自己,才不至于被淘汰。 iii. 在這個大數據、云計算為王的時代,掌握Linux是入行“敲門磚”。 iv. 年齡已大,把握住人生不多的專門學習的機會,再博一次。 2.淺識Linux i. linux為何? Linu…

    2018-03-26
欧美性久久久久