centos安装tomcat

这篇文章将介绍安装和基本配置Tomcat 8的CentOS 5.x或CentOS 6.x

Tomcat8实现jsp2.2和Servlet 3.0规范和大量的新功能。访问管理器应用程序比起6x也有一个新的外观和细粒度的角色

在这篇文章中,我们将安装Tomcat8,新JDK7配置Tomcat作为服务,创建一个启动/停止脚本,以及(可选)配置Tomcat运行在非ROOT用户。

我们还将配置基本访问Tomcat Manager和快速使用JAVA_OPTS看看内存管理

最后,我们将看看在80端口上运行Tomcat以及一些策略。

首先,我们需要安装Java开发工具包(JDK)8
Tomcat8要求JDK版本最低为1.6。

###第一步:安装JDK 1.8
你可以在这里下载最新的JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html

我们将安装较新的jdk,jdk-8u25

我的操作系统是CentOS6.5_x64,这里选择是的:jdk-8u25-linux-x64.tar.gz
如果你是32位系统,请选择jdk-8u25-linux-i586.tar.gz

首先创建一个目录/usr/java:

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

进入到/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

这里会创建/usr/java/jdk1.8.0_25,这个是JAVA_HOME

我们现在可以设置JAVA_HOME并将它加入环境变量

[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设置为永久,我们需要在~/.bash_profile添加,也可以配置/etc/profile给所有用户

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

设置了~/.bash_profile后退出重新登录测试是否正确的设置了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

这将创建一个目录/usr/share/apache-tomcat-8.0.23.tar.gz
###第三步:配置Tomcat作为服务运行

现在,我们将看到如何运行Tomcat作为服务和创建一个简单的启动/停止/启动脚本,以及在引导启动Tomcat。

切换到/etc/init.d目录创建一个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.23

case $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  

上面的脚本非常简单,包含你需要的基本元素

正如你看到的,我们只需要调用startup.shshutdown.sh,sh脚本位于tomcat的bin目录

你可以根据需要调整脚本

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

现在给脚本授权

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

我们使用chkconfig启动tomcat

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

验证:

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

现在我们来测试脚本!

启动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(必须先启动):

[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.

我们应该检日志查看是否有错误

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

我们现在可以访问Tomcat Manager页面:

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

###第四步:配置Tomcat Manager访问

出于安全原因,Tomcat manager没有用户或密码,默认为创建角色。在生产环境,最好是删除管理器应用程序。

设置角色,用户名和密码,我们需要配置tomcat/conf下面的tomcat-user.xml文件

默认情况下将tomcat-users.xml中的元素是被注释的

创建一个角色拥有如下权限:

  • manager-gui
  • manager-status
  • manager-jmx
  • manager-script
  • admin-gu
  • admin-script.

我们可以设置manager gui的角色,例如如下

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

应该注意赋予多个角色,以免不安全。

###第五步(可选):使用JAVA_OPTS管理内存配置

正确配置堆内存取决于很多因素,为简单起见,我们将堆大小设置为相同的值128MB
添加JAVA_OPTS内存参数在我们的Catalina.sh文件。
下面编辑Catalina.sh文件设置堆大小

JAVA_OPTS="-Xms128m -Xmx128m"

我通常只是添加这个文件第二行:

#!/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用户运行Tomcat,处于安全原因,ROOT最好运行那些有必要的服务
当然没有规定必须这么做,但你最好谨慎点~

非ROOT用户运行Tomcat,需要做到以下几点:

  1. 创建tomcat组:
[root@srv6 ~]# groupadd tomcat  
  1. 创建tomcat用户并将他加入到组
[root@srv6 ~]# useradd -s /bin/bash -g tomcat tomcat  

上面的写法将tomcat用户的家目录创建在/home/tomcat
如果你想让主目录放在其他位置,可以使用-d参数

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

这样可以将tomcat用户的家目录设置为/usr/share/apache-tomcat-8.0.23/tomcat

  1. 将tomcat目录的所有权给tomcat用户
[root@srv6 ~]# chown -Rf tomcat.tomcat /usr/share/apache-tomcat-8.0.23/  
  1. 调整tomcat的启动脚本,在新脚本中添加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.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

###第七部(可选):如何将tomcat运行在80端口

运行下面的服务端口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

###第八部(可选):运行Apache+Tomcat

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

当Tomcat是独立性能的改善,我仍然喜欢它前面的空间的原因。

在您的Apache配置,确保KeepAlive设置是on。 Apache调优,当然,本身是一个很大的话题……

实例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>  

实例 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在这两个例子,我们"映射"到Tomcat的根目录。

如果我们希望映射到应用程序如yourdomain.com/myapp,我们可以添加一些改写如下所示。

这将重写所有请求yourdomain.com yourdomain.com/myapp

实例 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>  

我的github地址:http://github.com/biezhi
开源框架Blade:http://github.com/biezhi/blade

时间: 2024-05-14 01:42:56

centos安装tomcat的相关文章

详解CentOS安装tomcat并且部署Java Web项目_Linux

1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图: b.因为tomcat的安装依赖于Java jdk,所以我们需要在判断linux系统下面是否安装jdk b.1 使用(Xshell)连接到Linux系统下面 b.2 输入命令:java -version,如果显示jdk版本号,则证明已经安装,如果不显示,则证明没有安装,如果没有安装,请参考下面地址进行安装:http://

CentOS 7 安装 Tomcat

环境 CentOS 7.1 (64-bit system) JDK 1.8.0_45(jdk-8u45) Tomcat 8.0.22 (jdk-8u45-linux-x64.tar) CentOS 安装 参考:http://www.waylau.com/centos-7-installation-and-configuration/ JDK 安装 参考:http://www.waylau.com/centos-7-install-jdk/ 下载 地址:http://mirrors.cnnic.c

CentOS 7安装 tomcat

yum安装tomcat yum install tomcat tomcat webapp目录 cd /var/lib/tomcat tomcat配置文件目录 cd /etc/tomcat tomcat日志目录 cd /var/log/tomcat ftp上传war文件到 /var/lib/tomcat/webapps 下面重启tomcat 浏览器访问 http://ip:8080//war文件名称就可以访问到 实时查看tomcat日志 tail -f catalina.out

centos下安装tomcat

最近需要发布一项web应用,无奈服务器上的jetty已经被使用,只能选择用tomcat来发布.没搞过可怎么办呀,从网上找了好多教程,自己慢慢研究,总算环境搭建起来了 1. 下载jdk     下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html     最好用"bin"结尾的 2. 下载tomcat    下载地址: http://apache.etoak.

CentOs7安装tomcat

yum安装tomcat yum install tomcat centos 7tomcat 默认项目路径 /var/lib/tomcat/webapps启动tomcat systemctl start tomcat 默认情况下yum安装的Tomcat下面没有项目安装之后,webapps目录下上传项目才能访问,如上传项目 pppcar-test.war浏览器输入ip:8080/pppcar-test可以访问

centos中tomcat自启动脚本

 之前给公司搭建的tomcat环境(centos安装配置JDK1.7与Tomcat7),开发人员说每次启动tomcat不方便,每次要进到/usr/local/apache-tomcat-7.0.26/bin下面去执行,很浪费时间,要求简便化.好吧,有要求就要改进,下面来看看我找的自启动脚本. 系统:centos 5.x 环境:apache-tomcat-7.0.26 jdk-7u3 脚本内容:  代码如下 复制代码 #!/bin/bash # chkconfig: 2345 10 90 # de

Centos安装nvidia显卡驱动的问题

问题描述 Centos安装nvidia显卡驱动的问题 最近在学习Linux,于是将一台windows工作站装了centos7双系统.由于工作站的NVIDIA Qurado K2000显卡适配centos自带nouveau驱动实在糟糕,于是打算换装NVIDIA的官方Linux驱动.由于是菜鸟,手动编译显卡驱动的操作实在太复杂且对这些操作的意义不甚明了,故选择了从ELRepo源中安装NVIDIA驱动这一相对简单明了的方法,倒是成功换装了NVIDIA驱动,但是不是最新版,于是手一犯贱,自己下载了最新的

Centos 安装 VPN pptpd 防火墙 iptables 转发设置

 下面我们一起来看一篇关于Centos 安装 VPN pptpd 防火墙 iptables 转发设置,这个问题是因为一朋友设置之有一些网站无法访问时想出的解决办法.   centos 安装vpn 出现一部分网站无法访问的问题!iptables的一些转发规则设置 建立NAT转换规则,否则拨上也无法通过远程网关连上公网. iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to-source $src_ip Centos 6.4 安装 vpn 遇到有些网站

CentOS安装qt4.8

  记录下在CentOS下安装qt4.8的过程: (最好是在英文系统语言环境下安装,中文可能会出现无法正确中文字体) 1. 安装必需的环境 安装gcc和g++: [root@localhost local]# yum install gcc [root@localhost local]# yum install gcc-c++ 安装Xlib:[root@localhost local]# yum install libX11-devel libXext-devel libXtst-devel 2