Linux_CentOS7自定义开机自启动
来源:互联网 发布:网络兼职诈骗怎么判刑 编辑:程序博客网 时间:2024/06/06 18:47
1、nginx
vim /etc/init.d/nginx
#! /bin/shPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDESC="nginx"NAME=nginxDAEMON=/usr/local/nginx/sbin/$NAMECONFIGFILE=/usr/local/nginx/conf/$NAME.confPIDFILE=/usr/local/nginx/logs/$NAME.pidSCRIPTNAME=/etc/init.d/$NAME set -e[ -x "$DAEMON" ] || exit 0do_start() { $DAEMON -c $CONFIGFILE || echo -n "nginx already running"}do_stop() { kill -INT `cat $PIDFILE` || echo -n "nginx not running"}do_reload() { kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"}case "$1" in start) echo -n "Starting $DESC: $NAME" do_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" do_stop echo "." ;; reload|graceful) echo -n "Reloading $DESC configuration..." do_reload echo "." ;; restart) echo -n "Restarting $DESC: $NAME" do_stop do_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2 exit 3 ;;esacexit 0
vim /lib/systemd/system/nginx.service
[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/etc/init.d/nginx start ExecReload=/etc/init.d/nginx restart ExecStop=/etc/init.d/nginx stop PrivateTmp=true [Install] WantedBy=multi-user.target
2、mysql
vim /lib/systemd/system/mysql.service
[Unit] Description=mysql After=network.target [Service] Type=forking ExecStart=/usr/local/mysql/support-files/mysql.server start ExecReload=/usr/local/mysql/support-files/mysql.server restart ExecStop=/usr/local/mysql/support-files/mysql.server stop PrivateTmp=true [Install] WantedBy=multi-user.target
3、php-fpm
vim /etc/init.d/php-fpm
#!/bin/sh # DateTime: 2016-09-20# Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 phpfpm="/usr/local/php/sbin/php-fpm" prog=$(basename ${phpfpm}) lockfile=/var/lock/subsys/phpfpmstart() { [ -x ${phpfpm} ] || exit 5 echo -n $"Starting $prog: " daemon ${phpfpm} retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc ${phpfpm} -HUP RETVAL=$? echo } force_reload() { restart } configtest() { ${phpfpm} -t} rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; status) rh_status ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|configtest}" exit 2 esac
vim /lib/systemd/system/php-fpm.service
[Unit] Description=php-fpm After=network.target [Service] Type=forking ExecStart=/etc/init.d/php-fpm start ExecReload=/etc/init.d/php-fpm restartExecStop=/etc/init.d/php-fpm stop PrivateTmp=true [Install] WantedBy=multi-user.target
4、redis
vim /etc/rc.d/init.d/redis
#!/bin/sh########################### PATH=/usr/local/bin:/sbin:/usr/bin:/bin REDISPORT=6379EXEC=/usr/local/src/redis/src/redis-serverREDIS_CLI=/usr/local/src/redis/src/redis-cliPIDFILE=/var/run/redis_${REDISPORT}.pidCONF="/usr/local/src/redis/redis.conf" case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed" else echo "Starting Redis server..." $EXEC $CONF fi if [ "$?"="0" ] then echo "Redis is running..." fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $REDIS_CLI -p $REDISPORT SHUTDOWN while [ -x ${PIDFILE} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; restart|force-reload) ${0} stop ${0} start ;; *) echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2 exit 1 esac ##############################
vim /lib/systemd/system/redis.service
[Unit]Description=redisAfter=network.target[Service]Type=forkingExecStart=/etc/init.d/redis startExecReload=/etc/init.d/redis restartExecStop=/etc/init.d/redis stopPrivateTmp=true[Install]WantedBy=multi-user.target
5、说明
1、创建自启动脚本以后都要给可执行权限,如:
chmod a+x /etc/init.d/nginx chmod a+x /etc/init.d/php-fpm
2、服务文件说明
[Unit]:服务的说明Description:描述服务After:描述服务类别[Service]服务运行参数的设置Type=forking是后台运行的形式ExecStart为服务的具体运行命令ExecReload为重启命令ExecStop为停止命令PrivateTmp=True表示给服务分配独立的临时空间注意:[Service]的启动、重启、停止命令全部要求使用绝对路径[Install]服务安装的相关设置,可设置为多用户
3、服务文件目录:
/lib/systemd/system
4、命令说明:
启动nginx服务systemctl start nginx.service设置开机自启动systemctl enable nginx.service停止开机自启动systemctl disable nginx.service查看服务当前状态systemctl status nginx.service重新启动服务systemctl restart nginx.service查看所有已启动的服务systemctl list-units --type=service
参考:
http://www.centoscn.com/CentOS/config/2015/0507/5374.html
0 0
- Linux_CentOS7自定义开机自启动
- 如何实现用户自定义开机自启动
- 自定义shell脚本服务开机自启动
- 【开机自启动】开机自启动应用程序
- Linux下开机自启动自定义shell脚本
- RedHat 自定义Jenkins Slaver Service,并开机自启动
- Ubuntu 10.04中自定义开机自启动程序
- centOS7设置用户自定义服务开机自启动
- Debian系统开机启动过程以及如何自定义开机自启动脚本
- 程序开机自启动
- symbian开机自启动
- 开机自启动
- 程序开机自启动
- 程序开机自启动
- oracle10g 开机自启动
- Symbian开机自启动
- Android开机自启动
- Android开机自启动。
- Linux之dd命令详解
- Spring3.1 整合hibernate4 简单设置
- 移动端样式重置
- 算法:递归
- 安装新版xampp后apache无法启动提示:Apache Service detected with wrong path解决方案
- Linux_CentOS7自定义开机自启动
- BGRABitmap图像操作12:文本输出角度
- [LeetCode] 53. Maximum Subarray
- 散列表详解
- 数学——结构、发现与思维
- 二项分布均值和方差的简单推导
- Ext TextField 怎么让输入框变灰 不可编辑
- 死锁
- UML类图的几种关系