免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: ecapslock
打印 上一主题 下一主题

[Web] 请教如何在普通用户下用80端口启动tomcat [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-05-20 13:46 |只看该作者
也就是说用jsvc可以用普通用户通过80端口来启动tomcat是吗,如果是的的话,我还有问题要请教
由于我的系统是debian的,用jsvc必须要用modconf安装capability模块,请问安装capability模块是怎么安装的!modconf又是怎么操作使用的呢?小弟不胜感激!

论坛徽章:
0
12 [报告]
发表于 2009-05-20 14:24 |只看该作者
8080端口有什么不好,为什么非得用80

论坛徽章:
0
13 [报告]
发表于 2009-05-20 14:41 |只看该作者
因为有特殊需求,这里不便多说,一定要用80

论坛徽章:
0
14 [报告]
发表于 2009-05-20 23:41 |只看该作者
现在我们也是debian,jsvc我没有深入,记得当时是rhelas3,然后按照tomcat手册上的说明编译安装的,源文件就在tomcat的bin目录下,只要有libapr就可以了,我当时写的启动脚本

  1. # ~tomcat/.bashrc.tc8081.env
  2. export APR_HOME=/opt/apr/apr-1.2.8
  3. export TCNATIVE_HOME=/opt/apr/tomcat-native-1.1.10
  4. export JAVA_HOME=/home/tomcat/var/jdk160
  5. export CATALINA_HOME=/home/tomcat/var/tc8081
  6. export TOMCAT_HOME=${CATALINA_HOME}
  7. export TOMCAT_GCFILE=/tmp/tc8081.gc
  8. export TOMCAT_PIDFILE=/var/run/tc8081.pid
  9. export TOMCAT_OUT=/logs/httpd/tc8081-catalina.out
  10. export TOMCAT_ERR=/logs/httpd/tc8081-catalina.err
  11. export LD_LIBRARY_PATH=${TCNATIVE_HOME}/lib:${APR_HOME}/lib:${LD_LIBRARY_PATH}
  12. export PATH=${TCNATIVE_HOME}/bin:${APR_HOME}/bin:${JAVA_HOME}/bin:${PATH}
  13. export LANG=en_US.gb18030
  14. export CATALINA_OPTS=" -Xloggc:${TOMCAT_GCFILE} -Xms256M -Xmx512M -Dfile.encoding=gb18030 "
  15. umask 0002
复制代码

  1. #!/bin/sh
  2. #
  3. # /etc/rc.d/init.d/tc8081d
  4. # chkconfig: 35 86 14
  5. #
  6. # description: tomcat runs on port 8081
  7. #
  8. #
  9. ##############################################################################
  10. #
  11. #   Copyright 2004 The Apache Software Foundation.
  12. #
  13. #   Licensed under the Apache License, Version 2.0 (the "License");
  14. #   you may not use this file except in compliance with the License.
  15. #   You may obtain a copy of the License at
  16. #
  17. #       [url]http://www.apache.org/licenses/LICENSE-2.0[/url]
  18. #
  19. #   Unless required by applicable law or agreed to in writing, software
  20. #   distributed under the License is distributed on an "AS IS" BASIS,
  21. #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  22. #   See the License for the specific language governing permissions and
  23. #   limitations under the License.
  24. ##############################################################################
  25. #
  26. # Small shell script to show how to start/stop Tomcat using jsvc
  27. # If you want to have Tomcat running on port 80 please modify the server.xml
  28. # file:
  29. #
  30. #    <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
  31. #    <Connector className="org.apache.catalina.connector.http.HttpConnector"
  32. #               port="80" minProcessors="5" maxProcessors="75"
  33. #               enableLookups="true" redirectPort="8443"
  34. #               acceptCount="10" debug="0" connectionTimeout="60000"/>
  35. #
  36. # That is for Tomcat-5.0.x (Apache Tomcat/5.0)
  37. #
  38. # Adapt the following lines to your configuration

  39. # $CATALINA_HOME/bin/jsvc \
  40. #  -jvm server -user $TOMCAT_USER \
  41. #  -Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed \
  42. #  -cp $CATALINA_HOME/bin/bootstrap.jar \
  43. #  -outfile $CATALINA_HOME/logs/catalina.out \
  44. #  -errfile $CATALINA_HOME/logs/catalina.err \
  45. #  org.apache.catalina.startup.Bootstrap

  46. # JAVA_HOME=/usr/java/j2sdk1.4.2_03
  47. # CATALINA_HOME=/home/tomcat5/jakarta-tomcat-5/build
  48. # DAEMON_HOME=/home/tomcat5/jakarta-commons/daemon
  49. # TOMCAT_USER=tomcat5
  50. # TMP_DIR=/var/tmp
  51. # CATALINA_OPTS=
  52. # CLASSPATH=\
  53. # $JAVA_HOME/lib/tools.jar:\
  54. # $CATALINA_HOME/bin/commons-daemon.jar:\
  55. # $CATALINA_HOME/bin/bootstrap.jar

  56. TOMCAT_USER=web
  57. TOMCAT_ENV=~tomcat/.bashrc.tc8081.env
  58. TMP_DIR=/tmp
  59. source ${TOMCAT_ENV}
  60. CLASSPATH=\
  61. ${JAVA_HOME}/lib/tools.jar:\
  62. ${CATALINA_HOME}/bin/commons-daemon.jar:\
  63. ${CATALINA_HOME}/bin/bootstrap.jar:${CLASSPATH}

  64. case "$1" in
  65.   start)
  66.     #
  67.     # Start Tomcat
  68.     #
  69.     ${CATALINA_HOME}/bin/jsvc\
  70.     -user ${TOMCAT_USER} \
  71.     -home ${JAVA_HOME} \
  72.     -jvm server \
  73.     -pidfile ${TOMCAT_PIDFILE} \
  74.     ${CATALINA_OPTS} \
  75.     -cp ${CLASSPATH} \
  76.     -Dcatalina.home=${CATALINA_HOME} \
  77.     -Djava.io.tmpdir=${TMP_DIR} \
  78.     -Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed \
  79.     -outfile ${TOMCAT_OUT} \
  80.     -errfile ${TOMCAT_ERR} \
  81.     org.apache.catalina.startup.Bootstrap
  82.     #
  83.     # To get a verbose JVM
  84.     #-verbose \
  85.     # To get a debug of jsvc.
  86.     #-debug \
  87.     ;;

  88.   stop)
  89.     #
  90.     # Stop Tomcat
  91.     #
  92.     PID=`cat ${TOMCAT_PIDFILE}`
  93.     kill $PID
  94.     ;;

  95.   *)
  96.     echo "Usage tc8081d {start|stop|log|gc}"
  97.     exit 1;;
  98. esac
复制代码


使用感受如下:
1、以Linux的Daemon方式启动,会有对应的pid文件。
2、需要root权限启动,但执行权限可以是普通用户。
3、可以指定catalina.out文件的生成路径



后来我们的业务不是纯java的了,就干脆用apache来作proxy了,再后来改用nginx了

论坛徽章:
0
15 [报告]
发表于 2009-05-22 15:29 |只看该作者
写一个脚本,在脚本里启动tomcat,设置脚本的Owner是root,设置SUID,

论坛徽章:
0
16 [报告]
发表于 2009-07-09 17:43 |只看该作者
晕啊。我这儿也碰到这个问题了,因为某些原因必须要用80端口。不知有没有大侠知道怎么解决啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP