以普通身份运行tomcat

1:由于非root用户不能使用1024以下端口,将tomcat端口使用iptables做转发

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -p udp -m udp --dport 80 -j REDIRECT --to-ports 8080

2:更改网站权限

chown -R tomcat:tomcat /usr/local/tomcat/

3:写个服务启动脚本指定tomcat服务运行的用户

  1 #!/bin/bash
  2 #
  3 # chkconfig: - 95 15
  4 # description: Tomcat start/stop/status script
  5
  6 #Location of JAVA_HOME (bin files)
  7 JAVA_HOME=/usr/java/jdk1.7.0_79
  8 export JAVA_HOME
  9
 10 #Add Java binary files to PATH
 11 PATH=$JAVA_HOME/bin:$PATH
 12 export PATH
 13
 14 #CATALINA_HOME is the location of the configuration files of this instance of Tomcat
 15 CATALINA_HOME=/usr/local/tomcat
 16
 17 #TOMCAT_USER is the default user of tomcat
 18 TOMCAT_USER=tomcat
 19
 20 #TOMCAT_USAGE is the message if this script is called without any options
 21 TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"
 22
 23 #SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
 24 SHUTDOWN_WAIT=20
 25
 26 tomcat_pid() {
 27 echo `ps -ef | grep $CATALINA_HOME | grep -v grep | tr -s " "|cut -d" " -f2`
 28 }
 29
 30 start() {
 31 pid=$(tomcat_pid)
 32 if [ -n "$pid" ];then
 33 echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"
 34 else
 35 echo -e "\e[00;32mStarting tomcat\e[00m"
 36 if [ `user_exists $TOMCAT_USER` = "1" ];then
 37 su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh
 38 else
 39 $CATALINA_HOME/bin/startup.sh
 40 fi
 41 status
 42 fi
 43 return 0
 44 }
 45 "/etc/init.d/tomcat" 111L, 2301C 18,1 Top
 46 #!/bin/bash
 47 #
 48 # chkconfig: - 95 15
 49 # description: Tomcat start/stop/status script
 50
 51 #Location of JAVA_HOME (bin files)
 52 JAVA_HOME=/usr/java/jdk1.7.0_79
 53 export JAVA_HOME
 54
 55 #Add Java binary files to PATH
 56 PATH=$JAVA_HOME/bin:$PATH
 57 export PATH
 58
 59 #CATALINA_HOME is the location of the configuration files of this instance of Tomcat
 60 CATALINA_HOME=/usr/local/tomcat
 61
 62 #TOMCAT_USER is the default user of tomcat
 63 TOMCAT_USER=tomcat
 64
 65 #TOMCAT_USAGE is the message if this script is called without any options
 66 TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"
 67
 68 #SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
 69 SHUTDOWN_WAIT=20
 70
 71 tomcat_pid() {
 72 echo `ps -ef | grep $CATALINA_HOME | grep -v grep | tr -s " "|cut -d" " -f2`
 73 }
 74
 75 start() {
 76 pid=$(tomcat_pid)
 77 if [ -n "$pid" ];then
 78 echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"
 79 else
 80 echo -e "\e[00;32mStarting tomcat\e[00m"
 81 if [ `user_exists $TOMCAT_USER` = "1" ];then
 82 su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh
 83 else
 84 $CATALINA_HOME/bin/startup.sh
 85 fi
 86 status
 87 fi
 88 return 0
 89 }
 90
 91 status(){
 92 pid=$(tomcat_pid)
 93 if [ -n "$pid" ];then
 94 echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"
 95 else
 96 echo -e "\e[00;31mTomcat is not running\e[00m"
 97 fi
 98 }
 99
100 stop() {
101 pid=$(tomcat_pid)
102 if [ -n "$pid" ];then
103 echo -e "\e[00;31mStoping Tomcat\e[00m"
104 $CATALINA_HOME/bin/shutdown.sh
105
106 let kwait=$SHUTDOWN_WAIT
107 count=0;
108 until [ `ps -p $pid | grep -c $pid` = ‘0‘ ] || [ $count -gt $kwait ]
109 do
110 echo -n -e "\e[00;31mwaiting for processes to exit\e[00m\n";
111 sleep 1
112 let count=$count+1;
113 done
114
115 if [ $count -gt $kwait ];then
116 echo -n -e "\n\e[00;31mkilling processes which didn‘t stop after $SHUTDOWN_WAIT seconds\e[00m"
117 kill -9 $pid
118 fi
119 else
120 echo -e "\e[00;31mTomcat is not running\e[00m"
121 fi
122
123 return 0
124 }
125
126 user_exists(){
127 if id -u $1 >/dev/null 2>&1; then
128 echo "1"
129 else
130 echo "0"
131 fi
132 }
133
134 case $1 in
135 start)
136 start
137 ;;
138
139 stop)
140 stop
141 ;;
142
143 restart)
144 stop
145 start
146 ;;
147
148 status)
149 status
150 ;;
151
152 *)
153 echo -e $TOMCAT_USAGE
154 ;;
155 esac
156 exit 0
时间: 2024-08-02 06:47:23

以普通身份运行tomcat的相关文章

普通身份运行Tomcat

添加tomcat用户组 /usr/sbin/groupadd tomcat 添加tomcat用户,并限制登录 /usr/sbin/useradd -s /bin/bash -g tomcat tomcat /usr/sbin/usermod -L tomcat #锁定密码,使密码无效 修改目录所有者: #chown -R tomcat:tomcat /usr/local/tomcat #vi /etc/init.d/tomcat #!/bin/bash         # description

Ubuntu下配置Tomcat以指定(非root)身份运行

My Blog:http://www.outflush.com/ 通常情况下,在配置Tomcat生产环境时,通常会配置Tomcat以特定的身份运行(非root),这样有利于提高安全性,防止网站被黑后的进一步权限提升. 本文依赖的环境: Ubuntu(其实大部分同样适用于CentOS) JVM(安装并已配置好环境变量) gcc.make等编译工具 JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55 CATALINA_HOME=/usr/local/apache-tomcat-7.

告别烦人的cmd窗口——后台运行tomcat

新做的项目快要上线的,这是自己负责的第一个项目,从开发到实施都要自己来. 快要上线了,脑海里自然会想象去了客户那里,怎么给他搞xxxxxxx之类的,流程先在脑子里过一遍,其实安装部署也都比较熟练了,只是第一次有点紧张~ 想着想着就想到了给客户启动tomcat总不能挂一个dos窗口吧,那样太难看了,客户肯定不满意(虽然服务器他们一般是不操作的吧).怎么办呢?那肯定要后台启动了. 据了解,用户是使用windows系统的,于是我就去查阅了相关windows下如何后台启动tomcat的方法,现记录如下:

MyEclipse导入Maven项目pom文件第一行报错,运行Tomcat报Log4j错误--解决方法

问题描述: 前一段时间电脑第一次导入Maven项目,又是pom文件错,改好后又是运行Tomcat报Log4j错误,一直倒腾了近一个月程序才成功跑起来,太不容易. 也上网查了很长时间,没一个方法能解决我的问题的.特记下解决方法,希望能帮到像我这样的web刚入门者. (刚入门,肯定有说的不对的地方,有错也希望能指出来,我改正) 前期操作:导入项目后clean,install,update,中会报错(因为我已经解决了,所以没有×). 两问题对应解决方法: 1.pom文件第一行大红叉,说明是项目的文件指

VS编译的可执行默认以管理员身份运行

文如其名,很多程序如果不以管理员身份运行的话无法操作到系统盘的一些文件,有些更加严重的是会在运行过程中直接报错,虽说可以通过修改该可执行文件的属性,设置其默认执行权限为"以管理员身份运行",然这毕竟麻烦,且很多用户根本就不会这么去做,是故让程序执行时就自己去要求管理员权限是最终的解决方法. 在VS下面,这个问题其实很好解决,就是做如下操作:右键工程名称选择属性->配置属性->链接器->清单文件->UAC执行级别 在下拉列表框中选择:requireAdminist

CentOS-以root身份运行

命令行窗口下,输入 su - 后回车,会提示输入密码(root账户的密码),输入后,回车,即为root身份.(如下图) CentOS-以root身份运行,布布扣,bubuko.com

2个问题,解决tomcat启动一闪而过和运行tomcat/bin目录下的startup.bat时报错(the CATALINA_HOME environment variable is not defined correctly)

1.除手动使用开始菜单自启动或者程序启动TOMCAT时TOMCAT一闪而过,这时候是发生了错误,这时候我们打开BIN目录下的“startup.bat”文件,编辑,在结尾添加pause命名,这样在CMD下执行startup.bat时就会出错停止,这时候我们就知道是什么错误了. 2.运行tomcat/bin目录下的startup.bat时报错:the CATALINA_HOME environment variable is not defined correctly 碰到这个问题时的第一反应是添加

win7如何设置以管理员身份运行

一.对所有程序以管理员身份运行 1.右键单击桌面“计算机”,选择“管理” 2.在页面左侧,依此打开“计算机管理(本地)→ 系统工具→本地用户和组→用户”,在右侧找到“Administrator”,双击打开 3.在打开页面选择常规栏目,去掉“账户已禁用”前的“√”,点击应用,确定. 二.对部分快捷方式软件以管理员身份运行 1.在快捷方式图标,右键点击,选择属性 2.在打开页面,选择快捷方式栏目,点击下方的“高级”按钮 3.打开页面中,选择“以管理员身份运行”,前面打“√”,应用,确定 三.对部分程

Inno Setup怎样创建一个自动申请管理员身份运行的快捷

如果你使用的是 Unicode 版本的 Inno Setup,那么以下是更为专业的解决方法. 这是 mlaan 提及的再一种方法. QUOTE( CodeAutomation3.iss) ; -- CodeAutomation2.iss -- ; ; This script shows how to use IUnknown based COM Automation objects. ; ; REQUIRES UNICODE INNO SETUP! ; ; Note: some unneeded