Liunx开机启动方式Centos以nginx为例
一.使用系统启动脚本(适用于旧版Linux发行版)
在某些旧版的Linux发行版中,可以通过在/etc/init.d/目录下创建启动脚本来实现Nginx的自动启动。以下是一个简单的步骤:
1.创建启动脚本:
使用文本编辑器创建一个新文件,比如nginx,并将以下内容粘贴进去:
#!/bin/bash
# chkconfig: 2345 95 20
# description: Nginx web server
# Replace 'nginx' with the actual path to your Nginx executable
nginx_path=/usr/sbin/nginx
case "$1" in
start)
$nginx_path
;;
stop)
$nginx_path -s stop
;;
restart)
$nginx_path -s stop
sleep 1
$nginx_path
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
2.赋予脚本可执行权限:
使用以下命令赋予脚本可执行权限:
sudo chmod +x /etc/init.d/nginx
添加到系统启动项:
执行以下命令将Nginx启动脚本添加到系统启动项:
sudo chkconfig --add nginx
sudo chkconfig --level 2345 nginx on
二.使用Systemd(适用于较新的Linux发行版)
Systemd是现代Linux系统中广泛使用的初始化系统。对于使用Systemd的发行版,可以通过创建并启用一个Nginx服务单元来实现自动启动。
1. 创建一个Nginx服务单元:
创建一个名为nginx.service的文件,可以使用以下命令:
sudo nano /etc/systemd/system/nginx.service
2.在打开的文本编辑器中,输入以下内容:
[Unit]
Description=Nginx Web Server
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3.启用Nginx服务:
执行以下命令启用Nginx服务:
sudo systemctl enable nginx
4.启动Nginx服务:
执行以下命令启动Nginx服务:
sudo systemctl start nginx
现在,Nginx将在系统启动时自动启动,并且可以使用Systemd的命令进行管理(如start, stop, restart, status等)。
三.使用rc.local来在Linux系统启动时自动运行Nginx。rc.local是一个脚本文件,用于在系统引导时执行用户定义的命令。
1.编辑 rc.local 文件:
使用文本编辑器打开 rc.local 文件,通常位于 /etc/rc.local。
vi /ect/rc.local
2.添加启动命令:
在文件中添加启动Nginx的命令,一般为:
/usr/sbin/nginx
确保将此命令放在exit 0之前,这是rc.local文件中的最后一行。
3.赋予 rc.local 文件可执行权限:
sudo chmod +x /etc/rc.local