温馨提示×

linux怎么设置开机自启动nginx

小亿
159
2024-01-18 14:28:30
栏目: 智能运维

在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到系统启

0