资源描述
一、Tomcat 开机启动
linux下配置完tomcat后,要想tomcat开机自动启动的话,需要另外的配置,下面介绍两种方法!
方法一:
修改Tomcat/bin/startup.sh 为:
export JAVA_HOME=/usr/java/j2sdk1.4.2_08
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/tomcat
/usr/local/tomcat/bin/catalina.sh start
在/etc/rc.d/rc.local中加入:
/usr/local/tomcat/bin/startup.sh
方法二:
前面介绍的应该是最简单的让Tomcat自动启动的方法了,但是它有两个不足:
1. 无法指定启动Tomcat服务的用户,会导致Tomcat以超级用户运行,存在重大的安全隐患
2. 系统关闭的时候无法自动停止Tomcat服务
下面使用shell脚本的方式,将tomcat作为linux的服务启动; 以下[1]、[2] 有的Tomcat 版本 不需要
1、安装jsvc
#cd/usr/java/apache-tomcat-5.5.20/bin
#tarxvfz jsvc.tar.gz
#shsupport/buildconf.sh
#chmod755 configure
#./configure--with-java=/usr/java/jdk1.5.0_09
#make
2、添加脚本让tomcat自动启动
#useraddtomcat5 添加用户
#groupaddtomcat 添加组
#usermod-G tomcat tomcat5 把tomcat5加入tomcat组
#chown-R tomcat5 /usr/java/apache-tomcat-5.5.20 设置用户tomcat5对tomcat的权限
3、编写启动服务的脚本 tomcat
#!/bin/bash
# whoami
# root
# chkconfig: 345 51 49
# description: starts the tomcat deamons
#
JAVA_HOME=/usr/java/jdk1.5.0_14
export JAVA_HOME
CATALINA_HOME=/opt/tomcat
export CATALINA_HOME
case "$1" in
start)
echo "Starting Tomcat ..."
sleep 2
$CATALINA_HOME/bin/startup.sh
;;
stop)
echo "Stop Tomcat ..."
sleep 2
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
echo "restarting tomcat"
$0 stop
$0 start
;;
*)
echo "Usage: $1 {start|stop}"
;;
esac
exit 0
4. 把tomcat文件拷贝到/etc/rc.d/init.d/目录下
5. #chmod -c 777 /etc/rc.d/init.d/tomcat
6. 添加服务
#chkconfig --add tomcat
#chkconfig --level 345 tomcat on
#chkconfig --listtomcat
7. 完成,启动服务
#service tomcat start
如果出现:/bin/bash bad interpreter:没有那个文件或目录 问题
因为操作系统是windows,我在windows下编辑的脚本,所以有可能有不可见字符。
脚本文件是DOS格式的, 即每一行的行尾以 来标识, 其ASCII码分别是0x0D, 0x0A.
也就是linux和windows之间的不完全兼容。。
vim test.sh
:set ff?
如果出现fileforma=dos那么就基本可以确定是这个问题了。
:set ff=unix
:wq
再次运行脚本OK了
开机自启动nginx
这里使用的是编写shell脚本的方式来处理
vi /etc/init.d/nginx (输入下面的代码)
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/var/run/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
:wq 保存并退出
设置文件的访问权限
chmod a+x /etc/init.d/nginx (a+x ==> all user can execute 所有用户可执行)
这样在控制台就很容易的操作nginx了:查看Nginx当前状态、启动Nginx、停止Nginx、重启Nginx…
同样的修改了nginx的配置文件nginx.conf,也可以使用上面的命令重新加载新的配置文件并运行,可以将此命令加入到rc.local文件中,这样开机的时候nginx就默认启动了
vi /etc/rc.local
加入一行 /etc/init.d/nginx start 保存并退出,下次重启会生效。
2、将tomcat文件拷贝到/etc/init.d/下,并运行:chkconfig --add tomcat //这句的意思是添加tomcat服务
如果出现:/bin/bash bad interpreter:没有那个文件或目录 问题
同 Tomcat
展开阅读全文