欢迎光临
专业Linux运维二十年

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

是和bsd用户中广受欢迎的web服务器之一,因其功能丰富的指令集和卓越的灵活性而备受青睐。如果您是一名web开发人员,那么您可能正在使用nginx或服务器。因此,深入了解nginx如何通过命令行操作是非常重要的。幸运的是,通过掌握一些常用的nginx命令,您可以提升devops技能。我们的编辑为您精选了这些常用命令,并为linux管理员提供了详细的讨论。请继续阅读本文,了解更多关于这些命令的信息。

适用于Linux管理员的Nginx命令

与许多其他Web服务器不同,Nginx仅通过配置文件来管理服务器设置。因此,可用的命令行参数相对较少。这对于管理员来说非常便捷,因为他们可以快速找到所需的命令。以下是一些常用的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

您也可以从源代码编译Nginx。

1、启动Nginx服务器

启动Nginx Web服务器非常简单。只需使用以下命令之一来启动标准Web服务器:

sudo service nginx start

此命令通过System V初始化脚本启动Nginx。如果您在基于systemd的系统(如Ubuntu Linux 16.04 LTS及更高版本)上运行Nginx,则需要使用以下命令:

sudo systemctl start nginx

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

sudo /usr/bin/nginx

2、停止Nginx服务器

您也可以使用类似的方法停止正在运行的Nginx服务器。但请注意,停止Nginx服务器时,所有相关系统进程都会被终止,即使您有活动的连接,也会被中断。

sudo service nginx stop

此命令将在使用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

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

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

4、重新启动Nginx服务器

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

sudo service nginx restart

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

sudo systemctl restart 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

第一个命令使用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的系统使用以下命令:

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

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

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

8、向Nginx发送信号

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

$ sudo nginx -s stop # 停止正在运行的Nginx服务器$ sudo nginx -s quit # 退出Nginx服务器$ sudo nginx -s reload # 正常重启Nginx$ sudo nginx -s reopen # 重新打开服务器日志文件

但是,您的Nginx版本至少应为0.7.53或更高。否则,您将无法向Nginx进程发送信号。

以上就是开发人员和管理员必须掌握的25个Nginx命令(上)的详细内容,更多请关注php中文网其它相关文章!

脚本之家
赞(0) 打赏
未经允许不得转载:Linux老运维 » 开发人员和管理员必须掌握的25个Nginx命令(上)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫