开发利器_Jsvc.利用Jsvc实现Tomcat以普通用户运行监听80端口?

简单介绍:

说明: Jsvc主要用于非Windows操作系统上以非ROOT用户运行绑定到特权端口的Java服务器,专门由C编写的服务封装器,很容易结合SHELL脚本编写守护脚本.运行后以独立进程存在.

快速安装:

yum -y install gcc autoconf
cd /xm-workspace/xm-webs/xmcloud/tomcat8081/bin
tar -zxvf commons-daemon-native.tar.gz  && cd commons-daemon-1.0.15-native-src/unix/
bash support/buildconf.sh
./configure --with-java=/xm-workspace/xm-webs/xmcloud/jdk && make
# bin目录下默认自带daemon.sh调用的就是jsvc命令
mv -f jsvc /xm-workspace/xm-webs/xmcloud/tomcat8081/bin/
cd ../../ && rm -rf commons-daemon-1.0.15-native-src

守护脚本:

#!/bin/sh  
# tomcat       run/start/stop/restart/version tomcat 
#  
# chkconfig:   2345 85 15  
# description: apache tomcat daemon script
#              run/start/stop/restart/version tomcat using jsvc.
  
# Source function library.
. /etc/init.d/functions
PORT=8081
HOME=/xm-workspace/xm-webs/xmcloud
TOMCAT_USER=tomcat
JAVA_HOME=${HOME}/jdk/jre
CATALINA_HOME=${HOME}/tomcat${PORT}
CATALINA_PID=/var/run/tomcat${PORT}.pid
JAVA_OPTS="-server -Xms1024m -Xmx1024m -Xmn384m -XX:PermSize=64m -XX:MaxPermSize=128m -XX:+UseParallelOldGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:${HOME}/tomcat${PORT}/logs/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${HOME}/tomcat${PORT}/heapdump.bin"
export JAVA_HOME CATALINA_HOME CATALINA_PID TOMCAT_USER JAVA_OPTS
start(){
    ${CATALINA_HOME}/bin/daemon.sh start
    prog_ppid=`(cat ${CATALINA_PID}|grep -o "[^ ]\+\( \+[^ ]\+\)*") 2>/dev/null`
    echo -e "Host: $(hostname) Pid: ${prog_ppid:-"None"} Prog: ${CATALINA_HOME} Status: start"
}
stop(){
    prog_ppid=`(cat ${CATALINA_PID}|grep -o "[^ ]\+\( \+[^ ]\+\)*") 2>/dev/null`
    ${CATALINA_HOME}/bin/daemon.sh stop
    echo -e "Host: $(hostname) Pid: ${prog_ppid:-"None"} Prog: ${CATALINA_HOME} Status: stop"
}
status(){
    prog_ppid=`(cat ${CATALINA_PID}|grep -o "[^ ]\+\( \+[^ ]\+\)*") 2>/dev/null`
    if [[ "X${prog_ppid}" == "X" ]];then
        echo -e "Host: $(hostname) Pid: ${prog_ppid:-"None"} Prog: ${CATALINA_HOME} Status: stop"
    else
        echo -e "Host: $(hostname) Pid: ${prog_ppid:-"None"} Prog: ${CATALINA_HOME} Status: start"
    fi
}
version(){
    ${CATALINA_HOME}/bin/daemon.sh version
}
case "$1" in
    start)
        start
        exit $?
        ;;
    stop)
        stop
        exit $?
        ;;
 restart)
stop
start
exit $?
;;
  status)
        status
        exit $?
        ;;
 version)
        version
exit $?
;;
       *)
echo "Usage: tomcat${PORT} {start|stop|restart|status|version}" 
        exit $? 
esac
exit 1

访问测试:

说明: 测试前修改/xm-workspace/xm-webs/xmcloud/tomcat8081/conf/server.xml中将Connector的port值改为80,尝试/etc/init.d/tomcat8081 restart重启访问测试

时间: 2024-12-19 10:30:25

开发利器_Jsvc.利用Jsvc实现Tomcat以普通用户运行监听80端口?的相关文章

非root用户无法启动监听80端口的Tomcat

一.问题 网站绑定域名后直接通过域名访问使用的是80端口,因此tomcat须监听80端口.而为了安全起见tomcat一般不用root身份运行,因此需要以普通用户来运行监听80端口的root.此时就会启动失败,报没有权限,因为只有root身份才能监听1024以内的熟知端口. 二.解决 (以下未经验证) There are a few different solutions to work around this: Install and configure Apache or nginx as a

Tomcat(介绍,JDK安装,Tomcat安装,配置Tomcat监听80端口)

一.Tomcat介绍 目前有很多网站是用Java编写的,所以解析Java程序就必须有相关的软件来完成,Tomcat就是其中之一 Tomcat是Apache软件基金会,的Jakarta项目中的一个核心项目,由apache.sun和其他一些公司及个人共同开发而成,Tomcat技术先进,性能稳定而且免费,因而深受Java爱好者的喜欢,并得到部分开发商的认可,成为目前比较流行的web因公服务器. Java程序写的网站用Tomcat+jdk来运行的. tomcat是一个中间件,真正起作用的,解析java脚

16.4 配置Tomcat监听80端口;16.5、16.6、16.7配置Tomcat的虚拟主机(上中下);16.8 Tomcat日志

扩展: 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26bdd0100gwpk.html resin安装 http://fangniuwa.blog.51cto.com/10209

16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志

16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志 扩展 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26b

Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

配置Tomcat监听80端口 1.配置Tomcat服务的访问端口 Tomcat默认启动的端口是8080,如果你想修改为80,则需要修改server.xml文件. [[email protected] src]# vim /usr/local/tomcat/conf/server.xml 按如下需求更改: 找到Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protoc

配置Tomcat监听80端口 配置Tomcat虚拟主机 Tomcat日志

配置Tomcat监听80端口 • vim /usr/local/tomcat/conf/server.xml Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protocol="HTTP/1.1" • /usr/local/tomcat/bin/shutdown.sh • /usr/local/tomcat/bin/startup.sh 配置Tom

配置Tomcat监听80端口、配置Tomcat的虚拟主机、Tomcat的日志

配置Tomcat监听80端口 配置Tomcat的虚拟主机 Tomcat的日志 原文地址:http://blog.51cto.com/13515599/2093922

配置Tomcat监听80端口, 配置Tomcat虚拟主机,Tomcat日志

配置Tomcat监听80端口 编辑配置文件vim /usr/local/tomcat/conf/server.xml在里面找到8080<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />将里面的8080改为80,然后保存退出.然后先关闭tomcat/usr/local/tomcat/bin/

配置Tomcat监听80端口、配置Tomcat的虚拟主机、日志配置

配置Tomcat监听80端口 编辑配置文件vim /usr/local/tomcat/bin/startup.sh 搜索关键字:Connector port ,将8080修改为80 更改完后保存退出,并且重启服务/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh 这是可以查看tomcat监听的端口是否为80netstat -lntp |grep java 配置Tomcat的虚拟主机 编辑配置文件vim /usr/lo