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 11:01
下一篇 2017-05-23 15:13

相關推薦

  • 4

    1;復制/etc/skel目錄為/home/tuinser1, 要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 #   install -d -m 700 /etc/skel /home/tuser1  #  &nbsp…

    Linux干貨 2017-01-16
  • Linux下的進程調度與作業管理

    Linux下的進程調度與作業管理 一、概述 1.1 進程的相關概念: 通過前面的幾個章節,我們幾乎已經學習了很多的linux的基礎,這個章節我們講一下linux下的進程管理,就像windows 下的進程一樣,我們知道windows 下有一個任務管理器,專門用來管理進程,我們首先看一下windows 的任務管理器: 從這2個圖我們可以看出,windows 下的…

    Linux干貨 2016-10-17
  • 文本三劍客之sed

      文本處理三劍客:    grep,egrep,fgrep:文本過濾器    sed:stream  editor,流編輯器,是一行一行處理的    awk :文本格式化工具,報告生成器     sed工作方式:它是讀一行的文本…

    Linux干貨 2016-08-15
  • Linux發展史

    適用對象:本文適合希望開始學習以及想了解Linux的朋友閱讀。本文中所有內容僅供參考,不作為科學依據。 一、      Linux的起源 最初的計算機其實是具有單一功能的大型計算器,只能完成指定或者設定好的工作。多數情況下計算機資源是處于空閑狀態的,為了不使資源浪費,就需要使計算機能夠或者可以進行多種工作?;颉?/p>

    Linux干貨 2016-10-14
  • 作業:0805

    1.查出用戶UID最大值的用戶名、UID及shell類型 > cat /etc/passwd|cut -d: -f 1,3,7 |sort -t: -k2 -n| tail -1 2.查出/tmp的權限,以數字方式顯示 > st…

    Linux干貨 2016-08-08
  • 內核體系

    單內核體系設計、但充分借鑒了微內核設計體系的優點,為內核引入模塊化機制。 內核組成部分核心,一般為bzImage,通常在/boot目錄下,名稱為vmlinuz-VERSION-RELEASE;: kernel: 內核 kernel object: 內核對象,一般放置于/lib/modules/VERSION-RELEASE/ [ ]: N [M]: M [*…

    Linux干貨 2015-09-02
欧美性久久久久