CentOS学习笔记--Tomcat安装Tomcat安装一般情况下我们要配置Tomcat是很容易的一件事情,而且假如您要架设多用户多服务的java虚拟主机就不这么容易了。其中最大的一个问题就是Tomcat执行权限。普通形式配置的Tomcat是以root超级管理员的身分运行的,毕竟,这是十分危险的,可想而知,一但网站被提权,您的整个服务器都可以被黑客控制了。而通过编译或在线(比如redhat系列的yum,debian系列的apt-get)的形式安装,一个服务器上又只能装一个tomcat的服务,假若将多个网站放在同一个tomcat服务中,一但某一个网站出问题引起tomcat服务被卡死免费linux主机,则服务器上所有的网站都打不开了,难以满足各网站程序独享tomcat的需求。为了解决这种问题,我们须要配置Tomcat以指定的身分运行,且一台服务器上可以安装任意多个tomcat服务。
测试机器环境:VMwareWorkstation10虚拟机
显存:1G
linux版本:CentOSMinimalCD6.5
JAVA:JAVA_HOME=/opt/jdk
一、先在Linux系统上配置好JDK环境(CentOS学习笔记--JDK安装)
假定您早已在Linux系统上正确安装了JDK开发环境,且JDK安装的位置在:/opt/jdk/
二、下载并解压最新版本的Tomcat,,将其下载出来(我下到的是apache-tomcat-6.0.41.tar.gz)放在Linux系统的/opt/目录下,运行命令解压(并将解压下来的目录改名为tomcat):
tarxzvfapache-tomcat-6.0.41.tar.gzmvapache-tomcat-6.0.41/tomcat
三、编译安装tomcatdaemon服务守侯程序:
cd/opt/tomcat/bin/tarxvzfcommons-daemon-native.tar.gz
1、解压后会生成一个commons-daemon-1.0.15-native-src目录centos开发程序,cd到这个目录的Linux子目录:cdcommons-daemon-1.0.10-native-src/unix
2、注释:安装gcc(默认Mini版本没有安装gcc)yum-yinstallgcc
3、执行编译配置./configure#(注意:须要先安装好make,gcc等编译工具)./configure--with-java=/opt/jdk假如提示没有jdk,使用这个命令。主要是java目录未写入系统目录
4、运行完成后会提示如下信息说明操作成功:…***Alldone***Nowyoucanissue”make”
5、执行make:make
6、执行make后会生成一个jsvc的文件,将其复制到tomcat的bin目录。cpjsvc/opt/tomcat/bin/
7、在tomcat/bin目录上面有一个daemon.sh这个文件就是启动和关掉tomcat的服务守侯程序。
注意:之前的一些tomcat版本,比如tomcat6.0.x,可能没有这个文件,虽然这个文件就是置于commons-daemon-x.x.x-native-src/unix/samples/Tomcat7.sh这里的(此目录还有一个Tomcat5.sh),只不过新版本的tomcat把它联通到了bin目录下,并起名为daemon.sh了。所以,假若您使用的是tomcat6,那就把这个Tomcat7.sh文件复制到bin目录下,并起名为daemon.sh即可。
8、修改daemon环境变量:
用文本编辑器(vi或emacs等)编辑它,找到类似下边这样配置段:
test”.$TOMCAT_USER”=.&&TOMCAT_USER=tomcat#SetJAVA_HOMEtoworkingJDKorJRE#JAVA_HOME=/opt/jdk-1.6.0.22
9、修改TOMCAT_USER=tomcat为您要指定身分运行的linux帐号用户名,此处指定用户名为tomcat。
并把JAVA_HOME=…后面的注释(即“#”号)去除,并设置为jdk的安装目录路径,最后,更改好后的配置段弄成如下:test”.$TOMCAT_USER”=.&&TOMCAT_USER=tomcat#SetJAVA_HOMEtoworkingJDKorJREJAVA_HOME=/opt/jdk
10、现在更改/opt/tomcat目录的所有者为tomcat(即您要指定身分运行的linux账号):useradd-Mtomcat#创建没有主目录的tomcat用户chshtomcat-s/sbin/nologin#严禁tomcat登录操作,类似于windows的系统帐户chown-Rtomcat/opt/tomcat#将/opt/tomcat下的所有档案与子目录进行相同的拥有者变更为tomcat用户
11、为tomcat/bin/目录下的*.sh添加相应的x权限位:chmod+x/opt/tomcat/bin/*.sh
12、现在,可以测试一下daemon是否可以启动运行,启动方法如下:/opt/tomcat/bin/daemon.shstartcurl:8080#测试一下是否启动
(假如出错,重点查验tomcat的bin目录下的*.sh是否有x可执行权限、linux账号是否有tomcat目录的读写权限,是否有tomcat/logs日志目录的写权限等等。)如无错误,则tomcat的daemon守侯程序早已设置成功了。
13、这时本机可以访问tomcat了,远程机器访问不了,是防火墙的问题,在/etc/sysconfig/iptables添加-AINPUT-mstate--stateNEW-mtcp-ptcp--dport8080-jACCEPT#8080是tomcat的访问端口
重启iptableserviceiptablesrestart
这样就可以访问了。
14、停止tomcat,对应的命令为:/opt/tomcat/bin/daemon.shstop
15、添加tomcat为Linux的服务,这时就简单了,只须要创建一个软链到/etc/init.d/目录中即可ln-s/opt/tomcat/bin/daemon.sh/etc/init.d/tomcat
16、现在就可以用它启动/关掉tomcat了:/etc/init.d/tomcatstart#启动tomcatservicetomcatstart#启动tomcat/etc/init.d/tomcatstop#关掉tomcatservicetomcatstop#关掉tomcat
17、设置tomcat服务开机启动,须要在daemon.sh中降低以下的句子:#!/bin/sh#这句是原文件里有的,下边的2句是要添加的#chkconfig:23459015#description:Tomcat-enManager
18、再运行chkconfig命令降低tomcat服务,而达到自启动:chkconfig--addtomcat
重启机器,测试一下。
四、如果想再创建一个tomcat服务centos开发程序,只须要将/opt/tomcat这个目录复制一份,比如:cp/opt/tomcat/opt/tomcat1
再更改一下tomcat1的端标语(/opt/tomcat/opt/tomcat1/conf/server.xml中的端标语不能与其它的服务重复)。最后从前面所述第8步开始linux环境变量,创建另一个服务即可。
通过这些方法,您就可以为一台Linux服务器创建任意多个tomcat服务了。最后只须要安装一个后端服务器(比如Nginx或Apache),将不同域名的恳求转发到不同的tomcat服务程序就可以了。