从 Apache Jakarta 网站下载 Tomcat 的二进制发行版
http://jakarta.apache.org/tomcat/ |
如果您不想以 root 身份运行 Tomcat 守护进程,请创建新的用户/组 tomcat(首先通过检查文件确保您使用的 UID 和 GID 仍然可用)/etc/passwd和/etc/group):
groupadd -g 220 tomcat useradd -u 220 -g tomcat -c "Tomcat" -r -d /usr/local/tomcat -s "/sbin/nologin" tomcat |
![]() | 您真的不应该使用 root 帐户来运行 Tomcat 守护进程;(使用 Tomcat 4.1.27 版本)我们发现这允许 MMBase admin 用户将他站点的备份转储写入系统上的任何位置。 |
<TODO: 更好的解决方案可用吗?>
在新目录中解压 Tomcat 发行版
cd /usr/local/ tar -zxvf .../jakarta-tomcat-xxx.tar.gz |
![]() | 4.1.27 版本带有一个热修复
|
更改 Tomcat 目录的所有权并使其可作为/usr/local/tomcat/:
chown -R tomcat:tomcat /usr/local/jakarta-tomcat-xxx ln -s /usr/local/jakarta-tomcat-xxx /usr/local/tomcat |
通过添加到文件打开防火墙以进行 Web 访问 Tomcat 服务器/etc/sysconfig/iptables:
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 8080 --syn -j ACCEPT |
您需要重启系统以使此规则生效或重启 iptables 防火墙
service iptables restart |
![]() | 由于(出于某些奇怪的原因)一些网络管理器只允许到 TCP 端口 80 的出站 Web 连接,因此可能有人无法通过 端口 8080 访问您的 Tomcat(和 MMBase)服务器。在下面我们将解释如何安装 JK 2 映射或 Apache 中的反向代理,以便可以通过 端口 80 的 Apache Web 服务器访问 Tomcat 和 MMBase。除了端口问题外,这还具有可以使用 Apache 管理您的 SSL 连接并将您现有的 Apache 日志和统计工具用于 Tomcat 和 MMBase 的优势。 如果您决定使用 Apache 作为 Tomcat 和 MMBase 服务器的前端,则无需在防火墙中打开 端口 8080。 |
要运行 Tomcat,请设置$CATALINA_HOME环境变量
CATALINA_HOME=/usr/local/tomcat |
并启动它
/usr/local/tomcat/bin/startup.sh |
现在您可以通过以下方式访问 Tomcat 的主页(替换<hostname>为您的主机名)
http://<hostname>:8080/ |
这应该会给您 Tomcat 欢迎界面。
再次关闭
/usr/local/tomcat/bin/shutdown.sh |
由于我们想自动化 Tomcat 服务器的启动和关闭,我们创建一个文件/etc/rc.d/init.d/tomcat为我们做这件事
#!/bin/sh # # Startup script for the Jakarta Tomcat Java Servlets and JSP server # # chkconfig: - 85 15 # description: Jakarta Tomcat Java Servlets and JSP server # processname: tomcat # pidfile: /var/run/tomcat.pid # config: # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # Set Tomcat environment. export JAVA_HOME=/usr/local/j2sdk export CLASSPATH=.:/usr/local/j2sdk/lib/tools.jar:/usr/local/j2re/lib/rt.jar export CATALINA_HOME=/usr/local/tomcat export CATALINA_OPTS="-server -Xms64m -Xmx512m -Dbuild.compiler.emacs=true" export PATH=/usr/local/j2sdk/bin:/usr/local/j2re/bin:$PATH [ -f /usr/local/tomcat/bin/startup.sh ] || exit 0 [ -f /usr/local/tomcat/bin/shutdown.sh ] || exit 0 export PATH=$PATH:/usr/bin:/usr/local/bin # See how we were called. case "$1" in start) # Start daemon. echo -n "Starting Tomcat: " /usr/local/tomcat/bin/startup.sh RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat ;; stop) # Stop daemons. echo -n "Shutting down Tomcat: " /usr/local/tomcat/bin/shutdown.sh RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat ;; restart) $0 stop $0 start ;; condrestart) [ -e /var/lock/subsys/tomcat ] && $0 restart ;; status) status tomcat ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 esac exit 0 |
设置其所有权和访问权限
chown root:root /etc/rc.d/init.d/tomcat chmod 755 /etc/rc.d/init.d/tomcat |
并将此 init 脚本添加到 chkconfig
chkconfig --add tomcat chkconfig tomcat on |
![]() | 您可以直接使用 Tomcat 包附带的脚本,而不是创建自己的 init 脚本/usr/local/tomcat/bin/catalina.sh。 确保您在此脚本的开头设置了 Tomcat 环境。 或者创建一个调用原始 Tomcat init 脚本的简短 init 脚本。 |
![]() | 要在同一系统上安装两个(甚至更多)版本的 Tomcat 服务器,请通过编辑配置文件来增加第二个服务器的 端口 号(例如增加 10)/usr/local/tomcat55/conf/server.xml:
对于第一个服务器,完成上述第二个 Tomcat 服务器安装,使用调整后的目录和文件名。 |