Nginx是一个流行的web服务器,它是Apache、IIS等其他web服务器的替代品。Nginx是一个免费的开源、高性能的主动web服务器,并反向代理服务器。Nginx提供了更好的针对Apache和IIS的性能。大多数Linux系统管理员在日常操作中处理nginxweb服务器。在本教程中,我们将研究并学习如何使用不同的方法和命令(如systemctl、service、Nginx命令、kill命令等)重新启动Nginx服务器。
为什么重启Nginx?
在重新启动Nginx服务器或服务之前,您应该有一个有效的理由重新启动它。特别是在一个关键的应用程序中,Nginx服务器可能无法正常启动,这将中断服务并给您带来压力。可以列出以下原因来重新启动Nginx服务器。
- Nginx崩溃了,不能正常工作
- 应启用新配置
- 清除web服务器缓存
- 关闭并清除所有用户会话
- 添加新的web服务器或端口实例
强行重启还是优雅重启?
一般来说,nginxweb服务器可以通过两种不同的方式重新启动。它们被称为 强制重启 或 优雅地重新启动 . 强制重启将立即重启主Nginx和子进程,用户会话将丢失。优雅地重新启动将首先使用新配置启动新的子进程,然后停止并启动主进程。
显示Nginx服务状态和上次启动时间
在重新启动Nginx之前,列出并显示Nginx服务和服务器的当前启动状态将非常有用。另外,最后的开始时间可以用systemctl status命令列出,如下所示。Nginx服务名称为Nginx或Nginx.service
$ sudo systemctl status nginx
![图片[1]-如何重启nginxweb服务器?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/08/wisetut_image-44.png)
用systemctl命令重新启动
重新启动Nginx服务器或服务的最简单、直接和可靠的方法是使用systemctl restart命令。大多数Linux发行版(如Ubuntu、Debian、Mint、CentOS、RHEL、SUSE等)都提供了systemctl命令。
$ sudo systemctl restart nginx
如果Nginx服务正确地重新启动而没有出现问题,我们将在命令行上看不到任何内容。如果出现配置、权限等错误,错误将打印到终端/命令行。在下面的示例中,存在权限错误,Nginx服务无法成功启动。
$ systemctl restart nginx
![图片[2]-如何重启nginxweb服务器?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/08/wisetut_image-45.png)
使用systemctl命令优雅地重新启动
我们还可以使用 系统控制重新加载 命令。如前所述,优雅的重新启动将使用新配置创建新的子进程或工作进程,然后正确地停止旧的Nginx进程。
$ sudo systemctl reload nginx
或者使用完整的Nginx服务名称
$ sudo systemctl reload nginx.service
使用/etc/init.d/nginx SystemV脚本重新启动
SystemV是Linux、Unix和BSD系统的一种旧的服务管理方式。甚至可以使用systemd/systemctl SystemV init.d脚本来重新启动Nginx服务。
$ sudo /etc/init.d/nginx restart
优雅地重新启动/etc/init.d/nginx SystemV脚本
SystemV init.d脚本还提供了一个带有 nginx重新加载 脚本如下。
$ sudo /etc/init.d/nginx reload
使用nginx命令重新启动
Nginx可执行文件用于启动web服务器、加载配置创建子进程/工作进程等。Nginx还可以通过发送进程信号来重新启动web服务器。一般来说,nginx二进制文件位于 /sbin/nginx公司 但也可以选择位于 /usr/local/nginx/sbin/nginx 等等。
$ sudo /sbin/nginx -s reload$ $ sudo nginx -s reload
使用服务命令重新启动
service
命令是重启nginxwebserver服务的另一种选择。服务重启将用于重启Nginx服务器,该服务器名为Nginx,如下所示。
$ sudo service nginx restart
使用服务命令优雅地重新启动
service命令还提供了如下所示的service reload命令的良好重启能力。
$ sudo service nginx reload
在Windows中重新启动Nginx
即使Nginx主要用于Linux系统,它也支持windows操作系统,如windows服务器和windows10。与Linux系统类似,Nginx二进制文件可以用来重新启动web服务器。我们将使用 nginx-s重新加载 Nginx安装路径中的命令。以下命令可以在cmd MS-DOS或PowerShell中运行,没有问题,但是您应该在Nginx安装路径中。
> nginx -s reload
使用cron在特定时间段重新启动Nginx
有时您可能会遇到运行在nginxweb服务器上的服务器软件或web应用程序的问题。这个有问题的web应用程序可能会阻塞Nginx服务器或使其崩溃。在这种情况下,定期重启Nginx服务器可能有助于减少问题,即使这不是一个完美的解决方案。您可以使用cron重新启动Nginx服务,如下所示。
测试并检查Nginx服务器配置和错误
Nginx是一个复杂的web服务器,为单个或多个域配置了不同的配置文件。在更改和重新启动过程中,可能会出现语法或打字错误。当Nginx服务重新启动时,如果配置无效,那么它将不会启动并保持停止状态。为了重新开始,应该纠正错误。为了防止出现这种情况,我们可以先检查当前的Nginx配置文件,然后用 nginx-t公司 命令如下。
$ sudo nginx -t
![图片[3]-如何重启nginxweb服务器?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/08/wisetut_image-46.png)