﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-搬砖头-随笔分类-J2EE Server</title><link>http://www.blogjava.net/bluebillow/category/20375.html</link><description>Knocking on Heaven's Door</description><language>zh-cn</language><lastBuildDate>Fri, 02 Nov 2007 22:39:02 GMT</lastBuildDate><pubDate>Fri, 02 Nov 2007 22:39:02 GMT</pubDate><ttl>60</ttl><item><title>tomcat随系统启动的办法</title><link>http://www.blogjava.net/bluebillow/archive/2007/11/02/157782.html</link><dc:creator>生活在别处</dc:creator><author>生活在别处</author><pubDate>Fri, 02 Nov 2007 08:40:00 GMT</pubDate><guid>http://www.blogjava.net/bluebillow/archive/2007/11/02/157782.html</guid><wfw:comment>http://www.blogjava.net/bluebillow/comments/157782.html</wfw:comment><comments>http://www.blogjava.net/bluebillow/archive/2007/11/02/157782.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluebillow/comments/commentRss/157782.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluebillow/services/trackbacks/157782.html</trackback:ping><description><![CDATA[以前碰到过，要tomcat开机启动的问题，后来用root用户启，但是风险很大<br />
这次碰巧看到了解决办法，赶紧收了下来<br />
原帖名字：ubuntu7.04 安装tomcat6<br />
来源：http://tristonxu.spaces.live.com/blog/cns!6C727D52D9679258!382.entry<br />
<br />
终于搞定了，如果仅仅安装tomcat，那是很容易的，问题是如何让他随ubuntu启动运行，这才是问题的关键！现在终于搞定了，唉...俺还是比较笨，居然用了两天的时间才解决，而且问题解决之后，才发现之前原来一直是在成功的门前徘徊。想想，人生何尝不是这样，有多少人用一辈子的时光在成功的门前晃荡...<br />
呵呵～还是赶紧把它记录下来吧，年纪大了阿...<br />
<br />
一、安装之前<br />
1、下载tomcat<br />
最新的tomcat是apache-tomcat-6.0.13.tar.gz，下载地址是：<a href="http://tomcat.apache.org/download-60.cgi">http://tomcat.apache.org/download-60.cgi</a><br />
<br />
安装之前要先安张jdk，最好选择JDK5.0以上版本吧。<br />
<br />
二、安装ing<br />
1、解压apache-tomcat-6.0.13.tar.gz到安装目录下。<br />
根据俺的实际情况，我把tmcat安装在/opt目录下<br />
<span style="color: rgb(255,102,0)">shell&gt;sudo tar zxvf apache-tomcat-6.0.13.tar.gz /opt</span><br />
解压之后，会在/opt下生成一个apache-tomcat-6.0.13文件夹<br />
<br />
2、在/usr/local下建立一个软链接<br />
<span style="color: rgb(255,102,0)">shell&gt;cd /usr/local</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">shell&gt;sudo ln -s /opt/apache-tomcat-6.0.13 tomcat6</span><br style="color: rgb(255,102,0)" />
<br />
3、测试安装<br />
运行启动脚本，测试tomcat是否安装成功<br />
s<span style="color: rgb(255,102,0)">hell&gt;sudo /usr/local/tomcat6/bin/startup.sh </span><br />
然后打开FF，用http://localhost:8080 访问tomcat。一般来讲，会成功的。呵呵～<br />
<br />
三、让tomcat开机启动<br />
根据apache网站的Document说明(这个说明也写得很差，呜呜！)，要是tomcat作为一个守护程序运行，需要用到jsvc工具。(这个工具是啥玩意，俺也不懂，懒得研究，居然tomcat自带，那就最好了)<br />
1、准备工作<br />
Tomcat安装后，如果让Tomcat用root身份启动，Tomcat将会拥用root权限，这将可能给系统带来安全隐患，黑客可能利用这个来攻击我们的系统，所以我们得添加一个独立运行此服务的用户，用下面的命令：<br />
<br />
<span style="color: rgb(255,102,0)">shell&gt;sudo useradd -d /usr/local/tomcat6 -s /usr/sbin/nologin tomcat</span><br />
以上命令为系统增加一个tomcat用户，并且设置为nologin<br />
<br />
设置用户tomcat5对tomcat的权限<br />
<span style="color: rgb(255,102,0)">shell&gt;sudo chown -R tomcat:tomcat /usr/local/tomcat6</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">shell&gt; sudo chown -R tomcat:tomcat /opt/apache-tomcat-6.0.13</span><br />
<br />
2、安装jsvc<br />
<span style="color: rgb(255,102,0)">shell&gt;cd /usr/local/tomcat6/bin</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">shell&gt;sudo tar xvfz jsvc.tar.gz</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">shell&gt;cd jsvc-src</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">shell&gt;sudo sh support/buildconf.sh</span><br />
如果成功，命令终端打印出下面report：<br />
support/buildconf.sh: configure script generated successfully<br />
<br />
［注：在此之前，我的系统安装了autoconf，可以使用shell&gt;sudo apt-get install autoconf 进行安装］ <br />
为configure添加执行权限<br />
<span style="color: rgb(255,102,0)">shell&gt;sudo chmod 755 configure </span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">shell&gt;sudo ./configure --with-java=/usr/lib/j2sdk1.6-sun <span style="color: rgb(0,0,0)">(这是俺系统的JDK安装的位置)</span></span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">shell&gt;sudo make</span><br />
<br />
okay!如果没有出现错误的话，jsvc就安装成功了！<br />
<br />
3、设置启动脚本<br />
接下来，就是把jsvc中带有的一个tomcat5.sh的一个模板复制到/etc/init.d目录下，然后根据自己的情况，进行修改。<br />
<span style="color: rgb(255,102,0)">shell&gt;sudo cp /usr/local/tomcat6/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat</span><br />
上面的命令是移动文件tomcat5.sh到/etc/init.d/里面并改名为tomcat<br />
<br />
修改/etc/init.d/tomcat文件：<br />
<span style="color: rgb(255,102,0)">shell&gt;cd /etc/init.d</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">shell&gt;sudo gedit tomcat</span><br />
<br />
俺的tomcat文件修改完如下：<br />
<br />
#!/bin/sh<br />
##############################################################################<br />
#<br />
# Copyright 2004 The Apache Software Foundation.<br />
#<br />
# Licensed under the Apache License, Version 2.0 (the "License");<br />
# you may not use this file except in compliance with the License.<br />
# You may obtain a copy of the License at<br />
#<br />
# http://www.apache.org/licenses/LICENSE-2.0<br />
#<br />
# Unless required by applicable law or agreed to in writing, software<br />
# distributed under the License is distributed on an "AS IS" BASIS,<br />
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br />
# See the License for the specific language governing permissions and<br />
# limitations under the License.<br />
##############################################################################<br />
#<br />
# Small shell script to show how to start/stop Tomcat using jsvc<br />
# If you want to have Tomcat running on port 80 please modify the server.xml<br />
# file:<br />
#<br />
# &lt;!-- Define a non-SSL HTTP/1.1 Connector on port 80 --&gt;<br />
# &lt;Connector className="org.apache.catalina.connector.http.HttpConnector"<br />
# port="80" minProcessors="5" maxProcessors="75"<br />
# enableLookups="true" redirectPort="8443"<br />
# acceptCount="10" debug="0" connectionTimeout="60000"/&gt;<br />
#<br />
# That is for Tomcat-5.0.x (Apache Tomcat/5.0)<br />
#<br />
# Adapt the following lines to your configuration<br />
<span style="color: rgb(255,102,0)">JAVA_HOME=/usr/lib/j2sdk1.6-sun</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">CATALINA_HOME=/usr/local/tomcat6</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">DAEMON_HOME=/usr/local/tomcat6/bin</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">TOMCAT_USER=tomcat</span><br />
<br />
# for multi instances adapt those lines.<br />
<span style="color: rgb(255,102,0)">TMP_DIR=/var/tmp</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">PID_FILE=/var/run/jsvc.pid</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">CATALINA_BASE=/usr/local/tomcat6</span><br style="color: rgb(255,102,0)" />
<br />
<span style="color: rgb(255,102,0)">CATALINA_OPTS=</span><br style="color: rgb(255,102,0)" />
<span style="color: rgb(255,102,0)">CLASSPATH=\</span><br />
<span>$JAVA_HOME/lib/tools.jar:\</span><br />
<span>$CATALINA_HOME/bin/commons-daemon.jar:\</span><br />
<span>$CATALINA_HOME/bin/bootstrap.jar</span><br />
<br />
case "$1" in<br />
start)<br />
#<br />
# Start Tomcat<br />
#<br />
<span style="color: rgb(255,102,0)">$DAEMON_HOME/jsvc-src/jsvc \</span><br />
-user $TOMCAT_USER \<br />
-home $JAVA_HOME \<br />
-Dcatalina.home=$CATALINA_HOME \<br />
-Dcatalina.base=$CATALINA_BASE \<br />
-Djava.io.tmpdir=$TMP_DIR \<br />
-wait 10 \<br />
-pidfile $PID_FILE \<br />
-outfile $CATALINA_HOME/logs/catalina.out \<br />
-errfile '&amp;1' \<br />
$CATALINA_OPTS \<br />
-cp $CLASSPATH \<br />
org.apache.catalina.startup.Bootstrap<br />
#<br />
# To get a verbose JVM<br />
#-verbose \<br />
# To get a debug of jsvc.<br />
#-debug \<br />
exit $?<br />
;;<br />
<br />
stop)<br />
#<br />
# Stop Tomcat<br />
#<br />
$DAEMON_HOME/src/native/unix/jsvc \<br />
-stop \<br />
-pidfile $PID_FILE \<br />
org.apache.catalina.startup.Bootstrap<br />
exit $?<br />
;;<br />
<br />
*)<br />
echo "Usage tomcat.sh start/stop"<br />
exit 1;;<br />
esac<br />
<br />
［注：需要修改的地方，我都用红色标出来］<br />
如果在其他linux系统，这样就okay了，但是在ubuntu中，还需要进行一步，就是把在rc2.d中设置一个软链接<br />
<br />
<div>在/etc/rc2.d目录下建立S16apache软联接到/etc/init.d/tomcat<br />
<font color="#ff6600">shell&gt;cd /etc/rc2.d<br />
shell&gt;ln -s /etc/init.d/apache2 S16apache</font></div>
<div>[注:rc2.d目录下的文件要以S后就数字开头，表示启动的顺序。而rc2.d中的2，表示这个目录下文件在开机时的运行级别(runlevel)为2]<br />
<br />
四、结束<br />
重新启动系统<br />
<span style="color: rgb(255,102,0)">shell&gt;sudo reboot -n</span><br />
启动后，就可以在FF中直接输入http://localhost:8080。如果成功，就可以看见一直可爱的kitten拉～～～<br />
</div>
<br />
<br />
<br />
<img src ="http://www.blogjava.net/bluebillow/aggbug/157782.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluebillow/" target="_blank">生活在别处</a> 2007-11-02 16:40 <a href="http://www.blogjava.net/bluebillow/archive/2007/11/02/157782.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>