Tomcat安装

通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了。其中最大的一个问题就是Tomcat执行权限。普通方式配置的Tomcat是以root超级管理员的身份运行的,显然,这是非常危险的,可想而知,一但网站被挂马,您的整个服务器都可以被黑客控制了。而通过编译或在线(例如RedHat系列的yum, debian系列的apt-get)的方式安装,一个服务器上又只能装一个tomcat的服务,如果将多个网站放到同一个tomcat服务中,一但某一个网站出问题导致tomcat服务被卡死,则服务器上所有的网站都打不开了,无法满足各网站程序独享tomcat的需求。为了解决这些问题,我们需要配置Tomcat以指定的身份运行,且一台服务器上可以安装任意多个tomcat服务。


测试机器环境:

VMware Workstation 10 虚拟机

内存:1G

Linux版本:CentOS MinimalCD 6.5

JAVA:JAVA_HOME=/opt/jdk


一、先在 Linux系统上配置好JDK环境( CentOS下安装JDK笔记 http://www.linuxidc.com/Linux/2015-01/111414.htm)

假设您已经在Linux系统上正确安装了JDK开发环境,且JDK安装的位置在: /opt/jdk/

二、下载并解压最新版本的Tomcat,http://tomcat.apache.org,将其下载下来(我下到的是apache-tomcat-6.0.41.tar.gz)放到Linux系统的/opt/目录下,运行命令解压(并将解压出来的目录更名为tomcat):

tar xzvf apache-tomcat-6.0.41.tar.gz
mv apache-tomcat-6.0.41/ tomcat

三、编译安装tomcat daemon服务守候程序:

cd /opt/tomcat/bin/
tar xvzf commons-daemon-native.tar.gz

1、解压后会生成一个commons-daemon-1.0.15-native-src目录,cd到这个目录的Linux子目录:

cd commons-daemon-1.0.10-native-src/unix

2、注释:安装gcc(默认Mini版本没有安装gcc)

yum -y install gcc

3、执行编译配置

./configure  #(注意:需要先安装好make,gcc等编译工具)
./configure --with-java=/opt/jdk 如果提示没有jdk,使用这个命令。主要是java目录未写入系统目录

4、运行完成后会提示如下信息说明操作成功:

...
*** All done ***
Now you can issue "make"

5、执行make:

make

6、执行make后会生成一个jsvc的文件,将其复制到tomcat的bin目录。

cp jsvc /opt/tomcat/bin/

7、在tomcat/bin目录里面有一个daemon.sh 这个文件就是启动和关闭tomcat的服务守候程序。

注意:之前的一些tomcat版本,例如tomcat 6.0.x, 可能没有这个文件, 其实这个文件就是放在commons-daemon-x.x.x-native-src/unix/samples/Tomcat7.sh这儿的(此目录还有一个Tomcat5.sh),只不过新版本的tomcat把它移动到了bin目录下,并取名为daemon.sh了。所以,如果您使用的是tomcat 6,那就把这个Tomcat7.sh文件复制到bin目录下,并取名为daemon.sh即可。

8、修改daemon环境变量 :

用文本编辑器(vi或emacs等)编辑它,找到类似下面这样配置段:

test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
# JAVA_HOME=/opt/jdk-1.6.0.22

9、修改TOMCAT_USER=tomcat为您要指定身份运行的linux账号用户名,此处指定用户名为tomcat。

并把JAVA_HOME=...前面的注释(即“#”号)去掉,并设置为jdk的安装目录路径,最后,修改好后的配置段变成如下:

test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
JAVA_HOME=/opt/jdk

10、现在修改/opt/tomcat目录的所有者为tomcat(即您要指定身份运行的linux帐号):

useradd -M tomcat #创建没有主目录的tomcat用户
chsh tomcat -s /sbin/nologin #禁止tomcat登陆操作,类似于windows的系统账户
chown -R tomcat /opt/tomcat #将/opt/tomcat下的所有档案与子目录进行相同的拥有者变更为tomcat用户

11、为tomcat/bin/目录下的*.sh添加相应的x权限位:

chmod +x /opt/tomcat/bin/*.sh

12、现在,可以测试一下daemon是否可以启动运行,启动方式如下:

/opt/tomcat/bin/daemon.sh  start
curl http://localhost:8080 #测试一下是否启动

(如果出错,重点查验tomcat的bin目录下的*.sh是否有x可执行权限、linux帐号是否有tomcat目录的读写权限,是否有tomcat/logs日志目录的写权限等等。)如无错误,则tomcat的daemon守候程序已经设置成功了。

13、这时本机可以访问tomcat了,远程机器访问不了,是防火墙的问题,在 /etc/sysconfig/iptables添加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT   #8080是tomcat的访问端口

重启iptable

service iptables restart

这样就可以访问了。

14、停止tomcat, 对应的命令为:

/opt/tomcat/bin/daemon.sh  stop

15、添加tomcat为Linux的服务,这时就简单了,只需要创建一个软链到/etc/init.d/目录中即可

ln  -s  /opt/tomcat/bin/daemon.sh  /etc/init.d/tomcat

16、现在就可以用它启动/关闭tomcat了:

/etc/init.d/tomcat  start #启动tomcat
service tomcat start #启动tomcat
/etc/init.d/tomcat stop #关闭tomcat
service tomcat stop #关闭tomcat

17、设置tomcat服务开机启动,需要在daemon.sh中增加以下的语句:

#!/bin/sh      #这句是原文件里有的,下面的2句是要添加的
# chkconfig: 2345 90 15
# description: Tomcat-en Manager

18、再运行 chkconfig命令增加tomcat服务,而达到自启动:

chkconfig --add  tomcat

重启机器,测试一下。

四、如果想再创建一个tomcat服务,只需要将/opt/tomcat这个目录复制一份,例如:

cp /opt/tomcat /opt/tomcat1

再修改一下tomcat1的端口号(/opt/tomcat/opt/tomcat1/conf/server.xml中的端口号不能与其它的服务重复)。最后从上面所述第8步开始,创建另一个服务即可。

通过这种方式,您就可以为一台Linux服务器创建任意多个tomcat服务了。最后只需要安装一个前端服务器(例如Nginx或Apache),将不同域名的请求转发到不同的tomcat服务程序就可以了。

Linux下Apache与多个Tomcat 集群负载均衡 http://www.linuxidc.com/Linux/2012-01/51731.htm

Nginx Tomcat 集群负载均衡解决笔记 http://www.linuxidc.com/Linux/2013-07/86827.htm

实例详解Tomcat组件安装+Nginx反向代理Tomcat+Apache使用mod_jk和mod_proxy反向代理和负载均衡 http://www.linuxidc.com/Linux/2013-06/85290.htm

CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器 http://www.linuxidc.com/Linux/2014-06/103836.htm

Apache+Tomcat 环境搭建(JK部署过程) http://www.linuxidc.com/Linux/2012-11/74474.htm

Tomcat 的详细介绍请点这里
Tomcat 的下载地址请点这里

更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

CentOS 6.5下安装Tomcat --专业增强版 非yum的更多相关文章

  1. CentOS 6.6下安装配置Tomcat环境

    本文转载至:http://www.linuxidc.com/Linux/2015-08/122234.htm 实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验 ...

  2. office2016专业增强版激活密匙 (shell激活版)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_42642945/article/d ...

  3. CentOS下安装Tomcat 8

    CentOS下安装Tomcat 8 安装Tomcat8 去http://tomcat.apache.org/download-80.cgi下载Tomcat8的安装文件apache-tomcat-8.0 ...

  4. 在CentOS下安装tomcat并配置环境变量(改默认端口8080为8081)

    不多说,直接上干货! 第一步:下载tomcat压缩包 http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.73/bin/ 第二步:上传tomcat压 ...

  5. office 2016 专业增强版 和 visio 2016 专业版 下载安装(附带激活工

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://babyshen.blog.51cto.com/8405584/1697910 o ...

  6. CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4

    最新更新参看: Centos 7.0 安装Mono 3.4 和 Jexus 5.6 2012年初写过一篇<32和64位的CentOS 6.0下 安装 Mono 2.10.8 和Jexus 5.0 ...

  7. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  8. CentOS 6.4 下安装vsftpd

    概述: vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个. 本文介绍了在CentOS 6.4下安装vsftpd.配置虚拟用户登录FTP的过程. 正文: 一:安装vsftp ...

  9. centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记

    centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记 目录[-] 过程 1.安装RVM 2.利用rvm安装 Ruby 1.9.3 并设为默认 3.安装rails 4.安装 ...

随机推荐

  1. ELK+Filebeat 实践 Error : read tcp 192.168.0.2:48968->121.40.216.20:5044: i/o timeout

    问题描述: 这是一个i/o time 的问题,一般考虑就是磁盘满的问题.以下是我遇到的具体问题: 1.Kibana页面刷新,没有新数据出来,再次刷新或者点击页面上其他地方,kibana就变成这样了: ...

  2. [CEOI2008]order BZOJ1391 网络流

    题目描述 有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完成. 现在给出这些参数,求最大利润 输入输出格式 输入格式 ...

  3. kuangbin专题七 HDU4027 Can you answer these queries? (线段树)

    A lot of battleships of evil are arranged in a line before the battle. Our commander decides to use ...

  4. excel测试数据导入

    需求背景:测试数据的导入一般在dataprovider中写入对应的测试数据,当参数较多,组合测试或者接口参数测试的测试数据都需要逐一写数据驱动类,数据准备消耗了大量时间.前一篇博客中介绍了对偶测试的小 ...

  5. Gson的fromJson()方法

    Gson提供了fromJson()方法来实现从Json相关对象到Java实体的方法. 在日常应用中,我们一般都会碰到两种情况,转成单一实体对象和转换成对象列表或者其他结构. 先来看第一种: 比如jso ...

  6. centos6.4安装过程中无法出现图形化界面

    今天在VMware9.0安装centos6.4的时候,前面的步骤都没问题,到跳过媒体检查这一步后,就发现和之前的不一样了,这次安装不是图形界面,导致后面的安装不方便 一开始以为是centos的版本不一 ...

  7. 图片滚动插件jquery bxslider

    https://www.cnblogs.com/axl234/p/4167196.html

  8. oracle截取字符串,定索引

    转载:https://www.cnblogs.com/qmfsun/p/4493918.html 使用Oracle中Instr()和substr()函数: 1 2 3 4 5 6 7 8 9 10 1 ...

  9. 更新jdk

    1.从官网下载jdk-8u191-linux-x64.tar.gz,然后放在ubuntu里的Downloads文件夹里.然后解压到/usr/lib/jvm文件夹中. sudo tar -zxvf Do ...

  10. STL 部分学习 未整理

    https://www.cnblogs.com/pugang/archive/2012/02/10/2345942.html