Nginx以其丰富的功能指令集和超强的灵活性成为了Linux和BSD用户中最流行的Web服务器之一。如果您是Web开发人员,您很可能正在使用Nginx或Apache服务器。因此,深入了解Nginx的命令行工作原理非常重要。幸运的是,您可以通过掌握一些Nginx命令来提高您的DevOps技能。我们的编辑为您选择了这些常用的命令,并提供了有关启动Linux管理员的全面讨论。那么请阅读本文以了解有关这些命令的更多信息。Linux管理员的Nginx命令与许多Web服务器不同,Nginx仅使用配置文件处理服务器配置。因此,您可以利用的命令行参数非常少。这很有用,因为管理员可以快速找到他们正在寻找的命令。以下是您现在可以使用的一些广泛使用的Nginx命令。在Linux中安装NginxWeb服务器Nginx为不同风格的Linux提供了多个安装包。Nginx可以直接使用包管理器安装,如下所示。$sudoaptinstallnginx#Ubuntu$sudodnfinstallnginx#Fedora$sudoyuinstallepel-release&&yuinstallnginx#RHEL或CentOS也可以从源代码编译Nginx。1.启动Nginx服务器启动Nginx网络服务器非常简单,如下所示。只需使用以下命令之一即可调用标准Web服务器。sudoservicenginxstart发出此命令时,Nginx将由SystemV初始化脚本启动。如果您从基于系统的系统(如UbuntuLinux16.04LTS及更高版本)运行Nginx,则需要使用以下命令。sudosystemctlstartnginx你应该得到一个显示服务器是否成功启动的响应。另一种简单但有效的方法是直接使用二进制路径调用Nginx,如下所示。须藤/usr/bin/nginx2.停止Nginx服务器您也可以使用上面显示的类似方法停止正在运行的Nginx服务器。但是,请记住,当停止正在运行的Nginx服务器时,所有与其关联的系统进程都会被终止。即使您有活动连接,它也会终止。sudoservicenginxstop此命令将停止使用SystemVinit脚本的系统上的Nginx进程。对于基于systemd的机器,可以使用以下命令。sudosystemctlstopginx但是,在繁忙的服务器中,这些命令仍然会花费很多时间。下一个命令演示了如何以更快的方式停止Nginx服务。sudokillall-9nginx3。退出Nginx服务器退出Nginx服务器类似于停止服务器-唯一的区别是。Nginx守护进程采用优雅的退出方式,因为它不会中断任何活动连接。因此,您的客户请求将在关闭前按预期得到处理。sudoservicenginxquit使用此命令从Linuxshell退出Nginx服务器。运行基于Systemd的计算机的用户可以使用下一个命令来完成这项工作。sudosystemctlquitnginx您还可以使用以下Nginx命令之一退出正在运行的服务器。sudonginx-squitsudokill-QUIT$(cat/usr/local/nginx/logs/nginx.pid)4.重启Nginx服务器重启服务器时,Nginx进程只是停止,然后又重新启动。您可以使用以下命令之一从命令行重新启动Nginx守护程序。sudoservicenginxrestart此命令将使用SystemV初始化脚本重新启动Nginx服务器。您可以在基于系统的系统中使用systemctl执行此操作,例如较新的Ubuntu版本,例如较新的Ubuntu。sudosystemctlrestartnginx您也可以通过其他方式执行此操作,如以下示例所示。sudo/etc/init.d/nginxrestart如果你从源代码编译Nginx,你可以使用下一个命令。sudo/usr/local/nginx/sbin/nginx-srestart5.重新加载Nginx服务器重新加载Nginx服务器与重启服务器略有不同。当服务器重新加载时,Nginx将以正常方式关闭。这意味着Nginx守护进程将首先终止,然后解析配置文件以尝试更改,并在不中断操作的情况下启动新的工作进程。sudoservicenginxreloadsudosystemctlstatusnginx第一个命令使用SystemV初始化脚本,而最后一个命令用于基于systemd的Linux发行版。您也可以调用以下脚本来完成这项工作。sudo/etc/init.d/nginxreload如果您从源代码编译了Nginx,则应使用下一个命令。sudo/usr/local/nginx/sbin/nginx-sreloadnext命令是另一种优雅重启Nginx服务器的便捷方式。sudonginx-sreload6。检查Nginx状态有时,您可能需要在对Nginx服务器执行任何操作之前查看其当前状态。使用以下命令之一可以非常快速地完成此操作。请记住对您的命令执行sudo或切换到root用户。sudoservicenginxstatus正如前面的一些命令所示,此命令通过初始化SystemV初始化脚本来工作。您可以在使用systemd的系统上使用下一个命令。systemctlstatusnginx执行此操作的另一种方法是直接使用Nginxinit.d脚本,如以下命令所示。sudo/etc/init.d/nginxstatus如果Nginx是源码编译的,则需要执行下一条命令。sudo/usr/local/nginx/sbin/nginx-sstatus7.检查Nginx配置由于Nginx广泛的定制能力,网络管理员经常需要调整配置文件以添加/解锁新功能。但是,您应该始终测试您的配置文件是否存在潜在错误。否则,恶意用户可能会利用服务器配置中的错误。sudonginx-t这是一个简单的命令,可以为您完成这项工作。当您运行此命令时,您基本上是在告诉Nginx检查配置文件中的语法错误并避免运行服务器。您可以使用以下命令在终端控制台上转储配置测试的结果。sudonginx-T您还可以使用以下Nginx命令之一来测试Nginx服务器的配置。sudoservicenginxconfigtest#SystemVInitsudosystemctlconfignginx#systemd-based8。向Nginx管理员发送信号可以向Nginx守护进程发送各种有用的信号。在发送实际信号之前,您需要使用-s标志向Nginx发出信号。当我们使用它退出并重新加载Nginx服务器时,我们已经看到了信号的作用。在这里,我们按顺序指定它们。$sudonginx-sstop#停止正在运行的Nginx服务器$sudonginx-squit#退出Nginx服务器$sudonginx-sreload#正常重启Nginx$sudonginx-sreopen#重新打开服务器日志文件但是,你的Nginx版本应该至少为0.7.53或更高。否则,您将无法向Nginx进程发送信号。
