在 Linux 系统中启动 Nginx 主要有三种方式,具体取决于您的系统是否使用 systemd、SysVinit 或是直接调用 Nginx 二进制文件。在启动之前,强烈建议先对配置文件进行语法检查,以避免因配置错误导致服务启动失败。

无论使用哪种方法,第一步都应执行配置测试命令:
sudo nginx -t
如果输出包含 syntax is ok 和 test is successful,则说明配置文件正确,可以安全启动服务。若出现错误,请根据提示修改配置文件后再次测试。
方法一:使用 systemctl 启动(适用于大多数现代 Linux 发行版,如 Ubuntu 16.04+、CentOS 7+、Debian 8+)
如果系统采用 systemd 管理服务,这是最推荐的方式,因为它能保证 Nginx 以后台守护进程模式运行,并集成系统日志与进程监管。
启动命令:sudo systemctl start nginx
若希望 Nginx 在系统开机时自动启动,还需执行:sudo systemctl enable nginx
验证服务是否正常运行的命令为:sudo systemctl status nginx
方法二:使用 service 命令启动(适用于较老的 SysVinit 系统或兼容脚本)
对于仍使用 /etc/init.d/ 脚本管理服务的系统,可以通过 service 命令启动 Nginx。
启动命令:sudo service nginx start
设置开机自启通常使用:sudo update-rc.d nginx defaults(Debian/Ubuntu)或 sudo chkconfig nginx on(RHEL/CentOS 6)
方法三:直接执行 Nginx 二进制文件(适用于所有环境)
您也可以直接通过 Nginx 的可执行文件启动,这种方式在容器环境或 debug 时非常有用。
假设 Nginx 已安装在默认路径,直接执行:sudo nginx
如果需要指定非默认配置文件,可以使用 -c 参数:sudo nginx -c /自定义路径/nginx.conf
注意,这种方式启动的 Nginx 进程会与当前终端绑定,若关闭终端可能会受到影响,但通常 Nginx 主进程会进入后台守护模式,具体行为由配置中的 daemon 指令决定。
启动后的管理与信号控制
Nginx 启动后,可以使用 nginx -s 命令向主进程发送信号,以实现优雅重启、快速停止等操作:
sudo nginx -s stop — 快速关闭 Nginx
sudo nginx -s quit — 优雅地关闭 Nginx(处理完当前请求后退出)
sudo nginx -s reload — 重新加载配置文件,实现不停机更新配置
sudo nginx -s reopen — 重新打开日志文件
总结而言,对于绝大多数生产环境,建议优先使用 systemctl start nginx 命令启动服务,并结合 enable 设置开启自启,同时在更改配置后始终先用 nginx -t 检查,再用 systemctl reload nginx 或 nginx -s reload 使配置生效。

查看详情

查看详情