开发人员和管理员应该掌握的25个Nginx命令(上)

Nginx是Linux和BSD用户中最受欢迎的web服务器之一,因为它具有丰富的功能指令集和优越的灵活性。如果您是一名Web开发人员,那么您可能正在使用Nginx或Apache服务器。因此,深入了解Nginx如何从命令行工作是很重要的。

幸运的是,您可以通过掌握一些Nginx命令来提高DevOps技能。我们的编辑为您选择了这些经常使用的命令,并为启动Linux管理员提供了全面的讨论。那就请你阅读本文以了解关于这些命令的更多信息。

适用于Linux管理员的Nginx命令

与许多Web服务器不同,Nginx仅使用配置文件处理服务器配置。因此,您可以利用的命令行参数很少。这很有用,因为管理员可以快速找到他们要找的命令。下面是一些广泛使用的Nginx命令,您现在就可以使用它们。

开发人员和管理员应该掌握的25个Nginx命令(上)

在Linux中安装Nginx Web 服务器

Nginx提供了几种用于不同版本Linux的安装软件包。可以使用软件包管理器直接安装Nginx,如下所示。

$ sudo apt install nginx                                # Ubuntu 
$ sudo dnf install nginx                                # Fedora 
$ sudo yum install epel-release && yum install nginx    # RHEL 或 CentOS 

开发人员和管理员应该掌握的25个Nginx命令(上)

也可以从源代码编译Nginx。

1. 启动Nginx服务器

如下所示,启动Nginx Web服务器非常容易。只需使用以下命令之一来调用标准Web服务器。

sudo service nginx start 

开发人员和管理员应该掌握的25个Nginx命令(上)

发出此命令时,Nginx正在由System V初始化脚本启动。如果您是从基于系统的系统(如Ubuntu Linux 16.04LTS及更高版本)运行Nginx,则需要使用以下命令。

sudo systemctl start nginx 

您应该得到一个响应,显示服务器是否成功启动。另一个简单但有效的方法是使用二进制路径直接调用Nginx,如下所示。

sudo /usr/bin/nginx 

2. 停止Nginx服务器

您也可以使用上面显示的类似方法停止正在运行的Nginx服务器。但是,请记住,当停止正在运行的Nginx服务器时,与之关联的所有系统进程都会被杀死。即使您有活动的连接,它也会终止。

sudo service nginx stop 

开发人员和管理员应该掌握的25个Nginx命令(上)

该命令将在使用System V初始化脚本的系统中停止Nginx进程。对于基于systemd的计算机,可以使用以下命令。

sudo systemctl stop nginx 

但是,在繁忙的服务器中,这些命令仍会花费大量时间。下一条命令演示如何以更快的方式停止Nginx服务。

sudo killall -9 nginx 

3. 退出Nginx服务器

退出Nginx服务器类似于停止服务器-唯一的区别是。Nginx守护程序采用了一种优雅的方法来退出,因为它不会中断任何活动的连接。因此,您的客户请求将在关闭之前按预期的方式提供。

sudo service nginx quit 

使用此命令从Linux shell退出Nginx服务器。运行基于Systemd的计算机的用户可以利用下一个命令来完成此工作。

sudo systemctl quit nginx 

开发人员和管理员应该掌握的25个Nginx命令(上)

您也可以使用以下Nginx命令之一退出正在运行的服务器。

sudo nginx -s quit 
sudo kill -QUIT $( cat /usr/local/nginx/logs/nginx.pid ) 

4. 重新启动Nginx服务器

重新启动服务器时,Nginx进程只是停止然后重新启动。您可以使用以下命令之一从命令行重新启动Nginx守护程序。

sudo service nginx restart 

此命令将使用System V初始化脚本重新启动Nginx服务器。您可以在新的Ubuntu版本(例如较新的Ubuntu)等基于系统的系统中使用systemctl进行此操作。

sudo systemctl restart nginx 

开发人员和管理员应该掌握的25个Nginx命令(上)

您也可以用其他方式执行此操作,如以下示例所示。

sudo /etc/init.d/nginx restart 

如果从源代码编译了Nginx,则可以使用下一个命令。

sudo /usr/local/nginx/sbin/nginx -s restart 

5. 重新加载Nginx服务器

重新加载Nginx服务器与重新启动服务器略有不同。重新加载服务器时,Nginx将以正常方式关闭。这意味着Nginx守护程序将首先终止,然后解析配置文件以进行尝试的更改,并在不中断操作的情况下启动新的工作进程。

sudo service nginx reload 
sudo systemctl status nginx 

开发人员和管理员应该掌握的25个Nginx命令(上)

第一个命令使用System V初始化脚本,而最后一个命令用于基于systemd的Linux发行版。您也可以调用以下脚本来完成此工作。

sudo /etc/init.d/nginx reload 

如果您已从源代码编译了Nginx,则应使用下一个命令。

sudo /usr/local/nginx/sbin/nginx -s reload 

下一个命令是正常重启Nginx服务器的另一种便捷方法。

sudo nginx -s reload 

6. 检查Nginx状态

有时,您可能需要先查看Nginx服务器的当前状态,然后再对其进行任何操作。使用以下命令之一可以非常快速地完成此操作。切记对您的命令进行sudo或切换到root用户。

sudo service nginx status 

如先前的一些命令所示,此命令通过初始化System V初始化脚本来起作用。您可以对使用systemd的系统使用next命令。

systemctl status nginx 

执行此操作的另一种方法是直接使用Nginx init.d脚本,如以下命令所示。

sudo /etc/init.d/nginx status 

如果Nginx是从源代码编译的,则您需要执行下一个命令。

sudo /usr/local/nginx/sbin/nginx -s status 

7. 检查Nginx配置

由于Nginx的自定义功能范围很广,因此网络管理员经常需要调整配置文件以添加/解锁新功能。但是,您应该始终测试配置文件中是否存在潜在错误。否则,恶意用户可能会利用服务器配置中的错误。

sudo nginx -t 

这是一个简单的命令,可以为您完成这项工作。运行此命令时,基本上是在告诉Nginx检查配置文件中的语法错误,并避免运行服务器。您可以使用以下命令在终端控制台上转储配置测试的结果。

sudo nginx -t 

开发人员和管理员应该掌握的25个Nginx命令(上)

您也可以使用以下Nginx命令之一来测试Nginx服务器的配置。

sudo service nginx configtest  # System V Init 
sudo systemctl config nginx    # systemd-based 

8. 送信号给Nginx

管理员可以向Nginx守护程序发送各种有用的信号。您将需要使用-s标志向Nginx发送信号,然后发送实际信号。当我们使用它退出并重新加载Nginx服务器时,我们已经看到了运行中的信号。在这里,我们按顺序指定它们。

相关推荐