日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

centos下部署tomcat详解

發(fā)布時(shí)間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos下部署tomcat详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

這篇文章將介紹安裝和基本配置Tomcat 8在CentOS6X

Tomcat8實(shí)現(xiàn)jsp2.2和Servlet 3.0規(guī)范和大量的新功能。訪問管理器應(yīng)用程序比起6x也有一個(gè)新的外觀和細(xì)粒度的角色

在這篇文章中,我們將安裝Tomcat8,新JDK8配置Tomcat作為服務(wù),創(chuàng)建一個(gè)啟動(dòng)/停止腳本,以及(可選)配置Tomcat運(yùn)行在非ROOT用戶。

我們還將配置基本訪問Tomcat Manager和快速使用JAVA_OPTS看看內(nèi)存管理

最后,我們將看看在80端口上運(yùn)行Tomcat以及一些策略。

首先,我們需要安裝Java開發(fā)工具包(JDK)8 Tomcat8要求JDK版本最低為1.6。

第一步:安裝JDK 1.8

你可以在這里下載最新的JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html

我們將安裝較新的jdk,jdk-8u25

我的操作系統(tǒng)是CentOS6.5_x64,這里選擇是的:jdk-8u25-linux-x64.tar.gz 如果你是32位系統(tǒng),請(qǐng)選擇jdk-8u25-linux-i586.tar.gz

首先創(chuàng)建一個(gè)目錄/usr/java:

[root@srv6?~]#?mkdir?/usr/java

進(jìn)入到/usr/java

[root@srv6?~]#?cd?/usr/java???? [root@srv6?java?]#

下載合適的JDK并將其保存到/usr/java目錄。 解壓jdk-8u25-linux-x64.tar.gz到/usr/java目錄,使用命令tar -xzf:

[root@srv6?java]#?tar?-xzf?jdk-8u25-linux-x64.tar.gz

這里會(huì)創(chuàng)建/usr/java/jdk1.8.0_25,這個(gè)是JAVA_HOME

我們現(xiàn)在可以設(shè)置JAVA_HOME并將它加入環(huán)境變量

[root@srv6?java]#?JAVA_HOME=/usr/java/jdk1.8.0_25 [root@srv6?java]#?export?JAVA_HOME?? [root@srv6?java]#?PATH=$JAVA_HOME/bin:$PATH??[root@srv6?java]#?export?PATH

將JAVA_HOME設(shè)置為永久,我們需要在~/.bash_profile添加,也可以配置/etc/profile給所有用戶

JAVA_HOME=/usr/java/jdk1.8.0_25export?JAVA_HOME?? PATH=$JAVA_HOME/bin:$PATH??export?PATH

設(shè)置了~/.bash_profile后退出重新登錄測(cè)試是否正確的設(shè)置了JAVA_HOME

[root@srv6?~]#??echo?$JAVA_HOME??/usr/java/jdk1.7.0_05

第二部:下載并解壓Tomcat8

將tomcat8安裝在/usr/share下

切換到/usr/share目錄:

[root@srv6?~]#?cd?/usr/share?? [root@srv6?share?]#

下載tomcat8:http://mirror.tcpdiag.net/apache/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz?并解壓到/usr/share

使用tar -xzf解壓:

[root@srv6?share?]#?tar?-xzf?apache-tomcat-8.0.23.tar.gz

這將創(chuàng)建一個(gè)目錄/usr/share/apache-tomcat-8.0.23.tar.gz

第三步:配置Tomcat作為服務(wù)運(yùn)行

現(xiàn)在,我們將看到如何運(yùn)行Tomcat作為服務(wù)和創(chuàng)建一個(gè)簡(jiǎn)單的啟動(dòng)/停止/啟動(dòng)腳本,以及在引導(dǎo)啟動(dòng)Tomcat。

切換到/etc/init.d目錄創(chuàng)建一個(gè)tomcat的腳本:

[root@srv6?share]#?cd?/etc/init.d?? [root@srv6?init.d]#?vi?tomcat

下面是我們使用的腳本:

#!/bin/bash??#?description:?Tomcat?Start?Stop?Restart??#?processname:?tomcat??#?chkconfig:?234?20?80??JAVA_HOME=/usr/java/jdk1.8.0_25? export?JAVA_HOME?? PATH=$JAVA_HOME/bin:$PATH??export?PATH?? CATALINA_HOME=/usr/share/apache-tomcat-8.0.23case?$1?in?? start)?? sh?$CATALINA_HOME/bin/startup.sh?? ;;??? stop)????? sh?$CATALINA_HOME/bin/shutdown.sh?? ;;??? restart)?? sh?$CATALINA_HOME/bin/shutdown.sh?? sh?$CATALINA_HOME/bin/startup.sh?? ;;??? esac??????exit?0

上面的腳本非常簡(jiǎn)單,包含你需要的基本元素

正如你看到的,我們只需要調(diào)用startup.sh和shutdown.sh,sh腳本位于tomcat的bin目錄

你可以根據(jù)需要調(diào)整腳本

CATALINA_HOME是Tomcat的家目錄(/usr/share/apache-tomcat-8.0.23)

現(xiàn)在給腳本授權(quán)

[root@srv6?init.d]#?chmod?755?tomcat

我們使用chkconfig啟動(dòng)tomcat

[root@srv6?init.d]#?chkconfig?--add?tomcat?? [root@srv6?init.d]#?chkconfig?--level?234?tomcat?on

驗(yàn)證:

[root@srv6?init.d]#?chkconfig?--list?tomcat?? tomcat??????????0:off???1:off???2:on????3:on????4:on????5:off???6:off

現(xiàn)在我們來測(cè)試腳本!

啟動(dòng)Tomcat:

[root@srv6?~]#?service?tomcat?start?? Using?CATALINA_BASE:???/usr/share/apache-tomcat-8.0.23 Using?CATALINA_HOME:???/usr/share/apache-tomcat-8.0.23 Using?CATALINA_TMPDIR:?/usr/share/apache-tomcat-8.0.23/temp?? Using?JRE_HOME:????????/usr/java/jdk1.8.0_25 Using?CLASSPATH:???????/usr/share/apache-tomcat-8.0.23/bin/bootstrap.jar:/usr/share/apache-tomcat-8.0.23/bin/tomcat-juli.jar Tomcat?started.

停止Tomcat:

[root@srv6?~]#?service?tomcat?stop?? Using?CATALINA_BASE:???/usr/share/apache-tomcat-8.0.23 Using?CATALINA_HOME:???/usr/share/apache-tomcat-8.0.23 Using?CATALINA_TMPDIR:?/usr/share/apache-tomcat-8.0.23/temp?? Using?JRE_HOME:????????/usr/java/jdk1.8.0_25 Using?CLASSPATH:???????/usr/share/apache-tomcat-8.0.23/bin/bootstrap.jar:/usr/share/apache-tomcat-8.0.23/bin/tomcat-juli.jar

重啟Tomcat(必須先啟動(dòng)):

[root@srv6?~]#?service?tomcat?restart?? Using?CATALINA_BASE:???/usr/share/apache-tomcat-8.0.23 Using?CATALINA_HOME:???/usr/share/apache-tomcat-8.0.23 Using?CATALINA_TMPDIR:?/usr/share/apache-tomcat-8.0.23/temp?? Using?JRE_HOME:????????/usr/java/jdk1.8.0_25 Using?CLASSPATH:???????/usr/share/apache-tomcat-8.0.23/bin/bootstrap.jar:/usr/share/apache-tomcat-8.0.23/bin/tomcat-juli.jar?? Using?CATALINA_BASE:???/usr/share/apache-tomcat-8.0.23 Using?CATALINA_HOME:???/usr/share/apache-tomcat-8.0.23 Using?CATALINA_TMPDIR:?/usr/share/apache-tomcat-8.0.23/temp?? Using?JRE_HOME:????????/usr/java/jdk1.8.0_25 Using?CLASSPATH:???????/usr/share/apache-tomcat-8.0.23/bin/bootstrap.jar:/usr/share/apache-tomcat-8.0.23/bin/tomcat-juli.jar Tomcat?started.

我們應(yīng)該檢日志查看是否有錯(cuò)誤

[root@srv6?init.d]#?tail?-f?/usr/share/apache-tomcat-8.0.23/logs/catalina.out

我們現(xiàn)在可以訪問Tomcat Manager頁面:

http://yourdomain.com:8080?或者?http://yourIPaddress:8080?可以看到tomcat主頁?

第四步:配置Tomcat Manager訪問

出于安全原因,Tomcat manager沒有用戶或密碼,默認(rèn)為創(chuàng)建角色。在生產(chǎn)環(huán)境,最好是刪除管理器應(yīng)用程序。

設(shè)置角色,用戶名和密碼,我們需要配置tomcat/conf下面的tomcat-user.xml文件

默認(rèn)情況下將tomcat-users.xml中的元素是被注釋的

創(chuàng)建一個(gè)角色擁有如下權(quán)限:

  • manager-gui

  • manager-status

  • manager-jmx

  • manager-script

  • admin-gu

  • admin-script.

我們可以設(shè)置manager gui的角色,例如如下

<tomcat-users>??<role?rolename="manager-gui"/>??<user?username="tomcat"?password="secret"?roles="manager-gui"/>?? </tomcat-users>

應(yīng)該注意賦予多個(gè)角色,以免不安全。

第五步(可選):使用JAVA_OPTS管理內(nèi)存配置

正確配置堆內(nèi)存取決于很多因素,為簡(jiǎn)單起見,我們將堆大小設(shè)置為相同的值128MB 添加JAVA_OPTS內(nèi)存參數(shù)在我們的Catalina.sh文件。 下面編輯Catalina.sh文件設(shè)置堆大小

JAVA_OPTS="-Xms128m?-Xmx128m"

我通常只是添加這個(gè)文件第二行:

#!/bin/sh??JAVA_OPTS="-Xms128m?-Xmx128m"??? #?Licensed?to?the?Apache?Software?Foundation?(ASF)?under?one?or?more?? #?contributor?license?agreements.??See?the?NOTICE?file?distributed?with?? #?this?work?for?additional?information?regarding?copyright?ownership.?? #?The?ASF?licenses?this?file?to?You?under?the?Apache?License,?Version?2.0?? #?(the?"License");?you?may?not?use?this?file?except?in?compliance?with?? #?the?License.??You?may?obtain?a?copy?of?the?License?at

第六步(可選):如何給指定的用戶使用Tomcat

在上面的配置中我們使用ROOT用戶運(yùn)行Tomcat,處于安全原因,ROOT最好運(yùn)行那些有必要的服務(wù) 當(dāng)然沒有規(guī)定必須這么做,但你最好謹(jǐn)慎點(diǎn)~

非ROOT用戶運(yùn)行Tomcat,需要做到以下幾點(diǎn):

[root@srv6?~]#?groupadd?tomcat [root@srv6?~]#?useradd?-s?/bin/bash?-g?tomcat?tomcat

上面的寫法將tomcat用戶的家目錄創(chuàng)建在/home/tomcat?如果你想讓主目錄放在其他位置,可以使用-d參數(shù)

[root@srv6?~]#?useradd?-g?tomcat?-d?/usr/share/apache-tomcat-8.0.23/tomcat?tomcat

這樣可以將tomcat用戶的家目錄設(shè)置為/usr/share/apache-tomcat-8.0.23/tomcat

[root@srv6?~]#?chown?-Rf?tomcat.tomcat?/usr/share/apache-tomcat-8.0.23/ #!/bin/bash?? #?description:?Tomcat?Start?Stop?Restart?? #?processname:?tomcat??#?chkconfig:?234?20?80??JAVA_HOME=/usr/java/jdk1.8.0_25?? export?JAVA_HOME?? PATH=$JAVA_HOME/bin:$PATH??export?PATH?? CATALINA_HOME=/usr/share/apache-tomcat-8.0.23/bin??case?$1?in?? start)?? /bin/su?tomcat?$CATALINA_HOME/startup.sh?? ;;??? stop)????? /bin/su?tomcat?$CATALINA_HOME/shutdown.sh?? ;;??? restart)?? /bin/su?tomcat?$CATALINA_HOME/shutdown.sh?? /bin/su?tomcat?$CATALINA_HOME/startup.sh?? ;;??? esac??????exit?0
  • 創(chuàng)建tomcat組:

  • 創(chuàng)建tomcat用戶并將他加入到組

  • 將tomcat目錄的所有權(quán)給tomcat用戶

  • 調(diào)整tomcat的啟動(dòng)腳本,在新腳本中添加tomcat用戶:

  • 第七部(可選):如何將tomcat運(yùn)行在80端口

    運(yùn)行下面的服務(wù)端口1024是給root以外的用戶,你可以添加到你的ipables:

    [root@srv6?~]#?iptables?-t?nat?-A?PREROUTING?-p?tcp?-m?tcp?--dport?80?-j?REDIRECT?--to-ports?8080???? [root@srv6?~]#?iptables?-t?nat?-A?PREROUTING?-p?udp?-m?udp?--dport?80?-j?REDIRECT?--to-ports?8080

    重啟iptables

    service?iptables?restart

    第八部(可選):運(yùn)行Apache+Tomcat

    在80端口上運(yùn)行Tomcat,如果你有前面的Apache Tomcat,您可以使用使用Apache Tomcat的mod_proxy以及apj connector映射到vhost

    當(dāng)Tomcat是獨(dú)立性能的改善,我仍然喜歡它前面的空間的原因。

    在您的Apache配置,確保KeepAlive設(shè)置是on。 Apache調(diào)優(yōu),當(dāng)然,本身是一個(gè)很大的話題……

    實(shí)例1: VHOST with mod_proxy:

    <VirtualHost?*:80>??ServerAdmin?admin@yourdomain.com??ServerName?yourdomain.com??ServerAlias?www.yourdomain.com??ProxyRequests?Off??ProxyPreserveHost?On??<Proxy?*>??Order?allow,deny??Allow?from?all??</Proxy>??ProxyPass?/?http://localhost:8080/??ProxyPassReverse?/?http://localhost:8080/??ErrorLog?logs/yourdomain.com-error_log??CustomLog?logs/yourdomain.com-access_log?common??</VirtualHost>

    實(shí)例 2: VHOST with ajp connector and mod_proxy:

    <VirtualHost?*:80>??ServerAdmin?admin@yourdomain.com??ServerName?yourdomain.com??ServerAlias?www.yourdomain.com??ProxyRequests?Off??ProxyPreserveHost?On??<Proxy?*>??Order?allow,deny??Allow?from?all??</Proxy>??ProxyPass?/?ajp://localhost:8009/??ProxyPassReverse?/?ajp://localhost:8009/??ErrorLog?logs/yourdomain.com-error_log??CustomLog?logs/yourdomain.com-access_log?common?? </VirtualHost>

    vhost在這兩個(gè)例子,我們"映射"到Tomcat的根目錄。

    如果我們希望映射到應(yīng)用程序如yourdomain.com/myapp,我們可以添加一些改寫如下所示。

    這將重寫所有請(qǐng)求yourdomain.com?yourdomain.com/myapp

    實(shí)例 3: VHOST with rewrite:

    <VirtualHost?*:80>??ServerAdmin?admin@yourdomain.com??ServerName?yourdomain.com??ServerAlias?www.yourdomain.com??RewriteEngine?On??RewriteRule?^/$?myapp/?[R=301]??ProxyRequests?Off??ProxyPreserveHost?On??<Proxy?*>??Order?allow,deny??Allow?from?all??</Proxy>??ProxyPass?/?ajp://localhost:8009/??ProxyPassReverse?/?ajp://localhost:8009/??ErrorLog?logs/yourdomain.com-error_log??CustomLog?logs/yourdomain.com-access_log?common?? </VirtualHost>

    英文原文:http://davidghedini.blogspot.com/2011/02/install-tomcat-7-on-centos-rhel.html

    附上我寫的安裝腳本:

    https://github.com/biezhi/shell/blob/master/install_jdk

    https://github.com/biezhi/shell/blob/master/install_tomcat

    https://github.com/biezhi/shell/blob/master/downloadjdk.md

    轉(zhuǎn)載于:https://my.oschina.net/rootliu/blog/885871

    總結(jié)

    以上是生活随笔為你收集整理的centos下部署tomcat详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。