tomcat的配置

编译,安装略过


一、先在Debian Linux系统上配置好JDK环境


有关如何在Linux平台上配置JDK环境的过程略去,本文假设您已经在Debian系统上正确安装了JDK开发环境,且JDK安装的位置在: /opt/jdk/


如果您的JDK不是安装在这个路径下面,也可以创建一个软链,指向到这个路径。


二、下载并解压最新版本的Tomcat.


根据您的硬件架构(32位还是64位),选择一种ZIP格式的下载。如果您不清楚您的服务器配置,那就下载32位的吧(它适用于大多数情况)。


注意:您必须选择ZIP格式的才行,这样才能在后面的操作中进行配置。


另外,虽然我们使用的是Linux平台,JDiy站长也建议您下载 32-bit Windows zip的这个版本,解释如下:


虽然它标记为windows-zip,可能大多数同学以为它只能运行在windows平台下,其实是错误的,这个windows zip的版本同样适用于Linux(而且它是一个比较全面的版本)。


例如本人将其下载下来(得到一个apache-tomcat-7.0.33-windows-x86.zip)放到我的Debian系统的/opt/目录下,


运行命令解压(并将解压出来的目录更名为tomcat):


unzip apache-tomcat-7.0.33-windows-x86.zip


mv apache-tomcat-7.0.33/ tomcat



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


cd到tomcat的bin目录下,并解压commons-daemon-native.tar.gz:


cd /opt/tomcat/bin/

tar xvzf commons-daemon-native.tar.gz


解压后会生成一个commons-daemon-1.0.10-native-src目录,cd到这个目录的unix子目录:


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


(1). 执行编译配置:


1 ./configure #(注意:需要先安装好make,gcc等编译工具,解决看下面遇到问题里记录的)


在执行时可能会出现如下错误提示:


...

*** Java compilation tools ***

checking for JDK location... configure: error: Java Home not defined. Rerun with --with-java=... parameter


这是由于没有指定jdk目录所致的,那么按提示指定with-java参数(指向jdk目录)。如下:


./configure --with-java=/soft/jdk7


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


...

*** All done ***

Now you can issue "make"


执行make:


make


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


在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即可。


(3). 修改daemon环境变量 :


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


test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat //大概89行

# Set JAVA_HOME to working JDK or JRE

# JAVA_HOME=/opt/jdk-1.6.0.22 //大概91行


修改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


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


chown -R tomcat:tomcat /opt/tomcat

或是只需要的目录:conf,logs,work,


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


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


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


/opt/tomcat/bin/daemon.sh  start


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


停止tomcat, 对应的命令为:


/opt/tomcat/bin/daemon.sh  stop


四、添加tomcat为debian的服务


在上面的配置正确后,要将daemon.sh添加成为debian的服务就非常简单了,只需要创建一个软链到/etc/init.d/目录中即可:


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


这样就创建了一个名为tomcat7的服务。


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


启动tomcat7服务:


/etc/init.d/tomcat7 start


停止tomcat7服务:


/etc/init.d/tomcat7 stop


最后,再查看一下进程, 已经可以看到,tomcat是以指定的用户身份运行了。


五、设置tomcat服务开机启动


如果您想让Tomcat的daemon守候程序在开机后自动运行,只需运行下面命令,将服务设置为自启动即可:


//update-rc.d tomcat7 defaults  //默认会在0-6级全部有,次序为20

sudo update-rc.d  tomcat7 start 90 2 3 4 5 . stop 91 0 1 6 .  //注意这里有.,设置启动级别,次序为90和91


我的: sudo update-rc.d  tomcat71 start 90 2 3 4 5 . stop 91 0 1 6 .


如果以后想想取消自动启动,则运行:


update-rc.d -f tomcat7 remove

我的:update-rc.d -f tomcat71 remove



----------如果大家想再创建一个tomcat服务----------------

只需要将/opt/tomcat这个目录复制一份,cp /opt/tomcat /opt/tomcat1

再修改一下tomcat1的端口号

最后从上面所述第四步开始,创建另一个服务即可。

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



----------问题:---------------------------

1、未安装GCC,make等

解决:apt-get update //若直接install提示未找到更新源deb  404  Not Found,则先更新源

sudo apt-get install gcc

sudo apt-get install make

使用:#gcc -v 查看是否安装成功及版本


2、jsvc 是一个源码是c的程序,通过fork出子进程去启动java,而进程成为控制进程,可以实现监视java子进程的目地。


3、注意事项权限问题:如我之前将项目的WEB.xml文件先删除后再上传,注意tomcat用户可以读取相关的项目文件。