一、Nginx 简介
Nginx 是一个高性能的 Web 服务器,适合用于静态文件的服务,它占用的内存少,能够支持大量的并发连接。Nginx 是开源的,跨平台的,可以用于 Linux 系统、Unix 系统和 Windows 系统。
二、Nginx 启动命令
在 Linux 中,Nginx 被安装并配置好后,可以用一条命令来启动:
$ sudo nginx
上述命令表示利用管理员权限启动一个 Nginx 进程,Nginx 的默认设置文件在 /etc/nginx/nginx.conf 中。默认情况下,Nginx 在本地监听 80 端口。如果您的服务器是云服务器或者是虚拟服务器,还需要在安全组或防火墙中放开 80 端口的入口规则,否则有可能无法访问您的网站。
在启动 Nginx 之后,您可以在浏览器中访问服务器的公网 IP 或者域名,浏览器将显示默认的欢迎页面,表示 Nginx 已经顺利地启动了。
三、Nginx 停止命令
当您需要停止 Nginx 进程时,可以使用下面这个命令:
$ sudo nginx -s stop
使用以上命令,Nginx 进程将会收到同小写的 stop 信号,该信号告诉 Nginx 进程要停止运行了。如果有连接仍然在进行,Nginx 会继续处理这些连接,直到所有连接都断开并且之后无新连接接入,Nginx 才会真正停止运行。
如果您希望立即停止 Nginx,可以使用如下命令:
$ sudo nginx -s quit
在收到 quit 信号后,Nginx 会快速释放所有已经占用的资源并停止运行,所有的连接都会被断开。
四、Nginx 重启命令
当您需要重启 Nginx 进程时,可以使用下面这个命令:
$ sudo nginx -s reload
使用 reload 命令,Nginx 会重新加载配置文件,对于修改过的配置项生效,旧的进程逐渐被新的进程替代,新的连接会被新的进程处理,旧的连接会被旧的进程处理完毕后释放掉。这种方式下,Nginx 在新的和旧的进程并行进行,使得服务可以0秒中断。
五、Nginx 热重启
热重启是指在不中断服务的情况下,将新的 Nginx 进程逐渐替代旧的 Nginx 进程。这样可以保证服务的连续性。具体操作流程如下:
- 修改 Nginx 的配置文件
- 使用以下命令检查 Nginx 配置文件是否正确:
- 在启动新的进程,旧的进程保存着之前所有连接,被依次分配到新的 Nginx 进程中,旧的 Nginx 进程之后结束
$ sudo nginx -t
$ sudo nginx -s upgrade
六、四种方式的区别
停止命令有 stop 和 quit 两种,其中 stop 命令会等待当前连接都断开之后再停止,而 quit 命令则会立即终止。
重启命令有 reload 和 upgrade 两种,其中 reload 命令会载入新的配置文件,但是旧的工作进程不会停止,新的配置文件会在新的进程中生效;而 upgrade 命令会启动新的 Nginx 进程并在原有的进程结束之前逐渐接管所有的连接和所有的请求处理。此外,reload 命令只能起缓解内存泄露的作用,而 upgrade 命令还可以更新二进制文件。
七、总结
Nginx 启动和停止命令是 Linux 下常用的命令之一,在日常开发、维护网络服务时都会用到。通过本文,您将会清楚的了解到Nginx 的启动、停止、重启和热重启等方式和具体操作方法。