Linux系统中Nginx开机自启动设置教程
Nginx作为一款常用的Web服务器和反向代理服务器,设置其在Linux系统中开机自启动可以避免服务器宕机重启后手工启动应用。接下来,就为大家详细介绍在Linux系统中如何设置Nginx开机自启动。
一、创建自定义的Systemd单元文件
首先,需要进入/lib/systemd/system/
目录,在终端中执行以下命令:
cd /lib/systemd/system/
这个目录是存放Systemd服务单元文件的地方,我们后续创建的Nginx服务单元文件也将放在这里。
二、编写启动服务
接着,使用文本编辑器vim
来创建并编辑Nginx的服务单元文件nginx.service
,命令如下:
vim /etc/systemd/system/nginx.service
在打开的文件中,输入以下内容:
[Unit] Description=Nginx HTTP and reverse proxy server After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=multi-user.target
这里解释一下这些配置的含义:
[Unit]
部分:Description
是对这个服务的描述,方便我们了解其用途,这里描述为“Nginx HTTP and reverse proxy server”,即Nginx HTTP和反向代理服务器。After=network.target
表示Nginx服务要在网络服务启动之后再启动,确保网络环境准备好后Nginx才能正常工作。
[Service]
部分:Type=forking
说明Nginx服务是通过fork
方式启动的,这是常见的启动类型。ExecStart
指定了启动Nginx服务的命令,这里是/usr/local/nginx/sbin/nginx
,不过要注意,你需要根据自己实际的Nginx安装路径来配置。ExecReload
用于重新加载Nginx配置的命令,/usr/local/nginx/sbin/nginx -s reload
可以让Nginx在不重启服务的情况下重新加载配置文件。ExecStop
是停止Nginx服务的命令,/usr/local/nginx/sbin/nginx -s stop
用于停止Nginx运行。PrivateTmp=true
表示为该服务创建一个独立的临时文件系统空间,增强安全性和独立性。
[Install]
部分:WantedBy=multi-user.target
表示当系统进入多用户模式时,会自动启动Nginx服务。
三、重新加载Systemd管理器配置
完成服务单元文件的编写后,需要重新加载Systemd管理器的配置,让它识别新创建的Nginx服务单元文件。在终端执行以下命令:
sudo systemctl daemon-reload
sudo
表示以管理员权限运行,systemctl daemon-reload
命令会通知Systemd重新加载配置文件,这样新的配置就能生效了。
四、启用并启动Nginx服务
接下来,启用Nginx服务并让它立即启动。分别执行以下两条命令:
sudo systemctl enable nginx
这条命令用于设置Nginx服务为开机自启动,enable
选项会在系统启动时自动启动该服务。
sudo systemctl start nginx
start
选项用于立即启动Nginx服务,执行完这条命令后,Nginx就开始运行了。
五、验证服务状态
为了确认Nginx服务是否已经成功设置为开机自启动并且正常运行,可以使用以下命令查看服务状态:
systemctl status nginx
执行上述命令后,会显示Nginx服务的详细状态信息,类似下面这样:
[root@qb system]# systemctl status nginx nginx.service - Nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Main PID: 130365(nginx) Process: 130355 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS) Active: active (running) since Mon 2025-04-14 15:15:27 CST; 4s ago Memory: 71.9M CGroup: /system.slice/nginx.service Tasks: 9 (limit: 100936) -130365 nginx: master process /usr/lcal/nginx/sbin/nginx -130368 nginx: worker process -130369 nginx: worker process -130370 nginx: worker process -130371 nginx: worker process -130372 nginx: worker process -130373 nginx: worker process -130374 nginx: worker process 130375 nginx: worker process
从这些信息中,我们可以看到Nginx服务的加载状态(Loaded)、主进程ID(Main PID)、是否正在运行(Active)等关键信息。如果显示“active (running)”,就说明Nginx服务已经成功启动并且正在运行,同时也意味着开机自启动设置成功了。
通过以上步骤,我们就可以在Linux系统中成功设置Nginx开机自启动,这么简单,聪明的你应该已经学会了吧。