linux怎么设置开机自启动nginx
在Linux系统上,可以通过以下步骤设置开机自启动Nginx。
1. 打开Nginx的主配置文件。在大多数Linux发行版中,Nginx的主配置文件位于/etc/nginx/nginx.conf路径下。使用文本编辑器(例如vi或nano)打开该文件。
2. 查找并编辑以下行:
user www-data; worker_processes auto;
将user行更改为具有适当权限的用户(例如root),以便在启动时Nginx可以以管理员权限运行。保存并关闭文件。
3. 检查系统的Init系统。目前,有两种主要的Init系统:SysV和Systemd。执行以下命令确定所在系统使用的Init系统:
ps --no-headers -o comm 1
如果输出为init,则系统使用SysV Init系统;如果输出为systemd,则系统使用Systemd Init系统。
4. 针对不同的Init系统,执行以下操作:
a. 对于SysV Init系统:
创建一个启动脚本文件/etc/init.d/nginx,并使用文本编辑器打开该文件。
将以下内容复制到文件中:
#! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 set -e . /lib/init/vars.sh . /lib/lsb/init-functions case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON || true sleep 1 start-stop-daemon --start --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON || true echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0
保存并关闭文件。
将脚本文件设置为可执行权限:
sudo chmod +x /etc/init.d/nginx
添加Nginx到系统启动项:
sudo update-rc.d nginx defaults
b. 对于Systemd Init系统:
创建一个Nginx服务文件`/etc/systemd/system/nginx.service`,并使用文本编辑器打开该文件。
将以下内容复制到文件中:
[Unit] Description=Nginx After=network.target [Service] ExecStart=/usr/sbin/nginx ExecReload=/usr/sbin/nginx -s reload ExecStop=/usr/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=multi-user.target
保存并关闭文件。
重新加载systemd配置文件:
sudo systemctl daemon-reload
添加Nginx到系统启
阅读剩余
THE END