我正在linux服务器上安装tomcat,并希望它可以作为服务。 我find了两种不同的方法来实现这一点。
第一个是将$ CATALINA_HOME / bin中的daemon.sh复制到/etc/init.d,另一个是创build一个类$ CATALINA_HOME / bin / startup.sh等简单的初始化脚本。 Startup.sh调用catalina.sh。
daemon.sh和startup.sh的内容看起来非常相似(至less对于envvariables和类似的东西)。 Daemon.sh最后调用jsvc
。 Catalina.sh调用java。
在将tomcat设置为服务时使用这两者之间的(实际)区别是什么?
我总是使用Apache HTTPD设置Tomcat环境,作为Tomcat后端的代理服务器。
低于1024的端口是特权端口。 基本上,这意味着如果直接使用catalina / startup / shutdown运行Tomcat,则需要以root身份运行,以绑定到80或443(SSL)。
jsvc
将使您能够以非特权用户的身份运行Tomcat本身,并仅将特权用户创build为侦听器。
我从来没有部署使用jsvc的设置。 我写了一个简单的init.d脚本,在“服务帐户”上启动Tomcat,然后让mod_proxy(_ajp)从Apache进行通信。 这样,你可以让你的tomcat在非特权端口上本地监听,让Apache做它擅长的事情。