centos中设置服务自动启动
来源:互联网 发布:巴丁算法集app 编辑:程序博客网 时间:2024/06/06 01:01
centos6很centos7中有些不同,centos7中用systemctl命令(系统服务管理器指令)将centos6中的 service 和 开机启动命令chkconfig 这两个命令组合到一起。
在centos7中进行设置(以用yum安装的nginx为例):
systemctl start nginx.service 启动nginxsystemctl status nginx.service 查看nginx状态systemctl enable nginx.service 设置nginx开机自动启动systemctl is-enabled nginx.service 查看nginx是否是开机自动启动
可以看到在centos7中设置自动启动还是很方便的,也可以在rc.local中设置启动命令(以tomcat为例):
/usr/local/tomcat/bin/startup.sh 设置绝对路径就可以export JAVA_HOME=/usr/share/jdksu - cs -c '/usr/local/tomcat/bin/startup.sh' 如果不想用root启动也可以转到普通用户,cs是用户
但我有次设置nginx开机自动启动的时候,发现nginx虽然起来了,但是不是根据etc下的配置文件启动的,后来才知道是linux中的selinux在作怪,可以在selinux中使用放行命令,也可以关掉selinux。
centos6中呢,则需要创建启动脚本,然后放到init.d中并设置开机自动启动,如:
amoeba的启动脚本:
#!/bin/sh# chkconfig: 12345 62 62# description: amoeba 3.05 AutoRun Servimces# /etc/init.d/amoeba## Run-level Startup script for the Oracle Instance, Listener, and# Web Interfaceexport JAVA_HOME=/usr/loacl/jdkexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binNAME=AmoebaAMOEBA_BIN=/usr/local/amoeba/bin/startSHUTDOWN_BIN=/usr/local/amoeba/bin/stopPIDFILE=/root/amoeba/Amoeba-MySQL.pidSCRIPTNAME=/etc/init.d/amoebacase "$1" instart)echo -n "Starting $NAME... "$AMOEBA_BINecho " done";;stop)echo -n "Stoping $NAME... "$SHUTDOWN_BINecho " done";;restart)$SHUTDOWN_BINsleep 1$AMOEBA_BIN;;*)echo "Usage: $SCRIPTNAME {start|stop|restart}"exit 1;;esac
nginx的启动脚本:
#!/bin/sh## nginx - this script starts and stops the nginx daemon## chkconfig: - 85 15# description: Nginx is an HTTP(S) server, HTTP(S) reverse \# proxy and IMAP/POP3 proxy server# processname: nginx# config: /etc/nginx/nginx.conf# config: /etc/sysconfig/nginx# pidfile: /var/run/nginx.pid# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ "$NETWORKING" = "no" ] && exit 0nginx="/usr/sbin/nginx"prog=$(basename $nginx)sysconfig="/etc/sysconfig/$prog"lockfile="/var/lock/subsys/nginx"pidfile="/var/run/${prog}.pid"NGINX_CONF_FILE="/etc/nginx/nginx.conf"[ -f $sysconfig ] && . $sysconfigstart() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval}stop() { echo -n $"Stopping $prog: " killproc -p $pidfile $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval}restart() { configtest_q || return 6 stop start}reload() { configtest_q || return 6 echo -n $"Reloading $prog: " killproc -p $pidfile $prog -HUP echo}configtest() { $nginx -t -c $NGINX_CONF_FILE}configtest_q() { $nginx -t -q -c $NGINX_CONF_FILE}rh_status() { status $prog}rh_status_q() { rh_status >/dev/null 2>&1}# Upgrade the binary with no downtime.upgrade() { local oldbin_pidfile="${pidfile}.oldbin" configtest_q || return 6 echo -n $"Upgrading $prog: " killproc -p $pidfile $prog -USR2 retval=$? sleep 1 if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]]; then killproc -p $oldbin_pidfile $prog -QUIT success $"$prog online upgrade" echo return 0 else failure $"$prog online upgrade" echo return 1 fi}# Tell nginx to reopen logsreopen_logs() { configtest_q || return 6 echo -n $"Reopening $prog logs: " killproc -p $pidfile $prog -USR1 retval=$? echo return $retval}case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest|reopen_logs) $1 ;; force-reload|upgrade) rh_status_q || exit 7 upgrade ;; reload) rh_status_q || exit 7 $1 ;; status|status_q) rh_$1 ;; condrestart|try-restart) rh_status_q || exit 7 restart ;; *) echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}" exit 2esac
tomcat自动启动脚本(用cs用户进行启动):
#!/bin/sh# tomcat: Start/Stop/Restart tomcat# chkconfig: 2345 40 20# description: Tomcat is a Java Servlet Container# match these values to your environment:export CATALINA_BASE=/home/cs/tomcatexport CATALINA_HOME=/home/cs/tomcatexport CATALINA_TMPDIR=/home/cs/tomcat/tempexport JRE_HOME=/home/cs/java# Source function library.. /etc/init.d/functions TOMCAT=/home/cs/tomcatstart() { echo -n "Starting Tomcat: " #/root/rc.local start su - cs /home/cs/tomcat/bin/startup.sh start }stop() { echo -n "Stopping Tomcat: " su - cs /home/cs/tomcat/bin/shutdown.sh stop}# See how we were called.case "$1" in start) start ;; stop) stop ;; status) ;; restart) stopsleep 2 start ;; *)echo "Usage: $0 {start stop restart}" ;;esac
将启动脚本放到/etc/init.d中然后用命令加入并设置开机自动启动:
chkconfig –add tomcat
chkconfig –level 2345 tomcat on
阅读全文
0 0
- centos中设置服务自动启动
- CentOS设置服务开机自动启动【转】
- CentOS设置服务开机自动启动
- CentOS设置开机自动启动某服务
- CentOS设置服务开机自动启动
- CentOS设置开机自动启动某服务
- CentOS设置开机自动启动某服务
- CentOS设置开机自动启动某服务
- CentOS 7设置ssh服务自动启动
- CentOS下设置服务自动启动的方法
- CentOS下设置服务自动启动的方法
- CentOS下设置服务自动启动的方法
- CentOS下设置服务自动启动的方法
- centos 关闭自动启动服务
- Vbox中自动启动Centos的网卡服务
- Centos 开起自动启动设置
- centos设置脚本自动启动
- CentOS下添加程序到服务并且设置服务自动启动的方法
- LeetCode.225 Implement Stack using Queues
- zoj-1151
- Java并发编程:volatile关键字解析
- 【字节流】 复制各类格式文件,available()用方法
- #ifdef与#endif的作用及用法
- centos中设置服务自动启动
- 160个练手CrackMe-028
- 蓝桥杯 基础练习 01字串
- SVN服务端和客户端的安装与搭建
- Ubuntu 下修改MySQL的字符集为UTF-8
- Tomcat下ajax请求路径总结
- HDOJ2080 夹角有多大II
- 使用Gradle打包Kotlin项目代码、生成Kotlin代码文档
- SSM框架css/js/images等静态资源无法加载的解决