1、chkconfig
chkconfig是一个用于维护/etc/rc[0-6].d目录的命令行工具。
序号 | 功能 | 命令 | 说明 |
---|
1 | 增加服务 | chkconfig -–add 服务名 | 添加一个chkconfig管理的service,并在/etc/rc[0-6].d 目录下添加链接 | 2 | 删除服务 | chkconfig -–del 服务名 | 从chkconfig 管理名单中删除该service,并且删除 /etc/rc[0-6].d 目录下所有与之关联的链接 | 3 | 列出所有服务信息 | chkconfig -–list 服务名 | 如果不指定name,会列出所有services的信息 | 4 | 设置服务启动信息 | chkconfig 服务名 on/off/reset | on、off、reset用于改变service的启动信息。on表示开启,off表示关闭,reset表示重置 | 5 | 设置服务运行级别 | chkconfig --level 0-6 服务名 | 指定运行级为2,3,4,5 ,这块不懂 |
0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。 2:多用户状态,没有NFS支持。 3:完整的多用户模式,有NFS,登陆后进入控制台命令行模式。 4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。 5:登陆后进入图形GUI模式,XWindow系统。 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启。
实操
- 编写nginx启动脚本,并加入系统服务
vi /etc/init.d/nginx
- 然后在里边填写内容
. /etc/init.d/functions
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"
start()
{
echo -n $"Starting $prog: "
mkdir -p /dev/shm/nginx_temp
daemon $NGINX_SBIN -c $NGINX_CONF
RETVAL=$?
echo
return $RETVAL
}
stop()
{
echo -n $"Stopping $prog: "
killproc -p $NGINX_PID $NGINX_SBIN -TERM
rm -rf /dev/shm/nginx_temp
RETVAL=$?
echo
return $RETVAL
}
reload()
{
echo -n $"Reloading $prog: "
killproc -p $NGINX_PID $NGINX_SBIN -HUP
RETVAL=$?
echo
return $RETVAL
}
restart()
{
stop
start
}
configtest()
{
$NGINX_SBIN -c $NGINX_CONF -t
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
configtest)
configtest
;;
_)
_echo* $"Usage: $0
Unknown macro: {start|stop|reload|restart|configtest}
"
RETVAL=1
esac
exit $RETVAL
- 保存该脚本后更改权限
chmod 777 /etc/init.d/nginx
- 添加nginx服务到chkconfig中管理
chkconfig --add nginx
- 设置nginx开机自启
chkconfig nginx on
2、systemctl
systemctl 用于命令行,它是一个用来管理 systemd 的守护进程/服务的基础工具,例如:(开启、重启、关闭、启用、禁用、重载和状态)。
所有服务创建的 unit 文件位与 /etc/systemd/system/
序号 | 功能 | 命令 |
---|
1 | 启动服务 | systemctl start 服务名.service | 2 | 停止服务 | systemctl stop 服务名.service | 3 | 重启服务 | systemctl restart 服务名.service | 4 | 重载服务 | systemctl reload 服务名.service | 5 | 查看服务状态 | systemctl status 服务名.service | 6 | 激活服务自启 | systemctl enable 服务名.service | 7 | 禁止服务自启 | systemctl disable 服务名.service | 8 | 杀死服务 | systemctl kill 服务名.service |
实操
- 配置自启文件
vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx网站代理服务
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 设置开机自启
systemctl daemon-reload
systemctl enable nginx.service
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
3、/etc/rc.d/rc.local
开机的时候会自动读取/etc/rc.d/rc.local文件,所以直接把启动命令放在文件中即可。
实操
vi /etc/rc.d/rc.local
/usr/sbin/nginx -c /etc/nginx/nginx.conf
|