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


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

Nginx是Linux和BSD用户中最受欢迎的web服务器之一,因为它具有丰富的功能指令集和优越的灵活性。如果您是一名Web开发人员,那么您可能正在使用Nginx或Apache服务器。因此,深入了解Nginx如何从命令行工作是很重要的。幸运的是,您可以通过掌握一些Nginx命令来提高DevOps技能。我们的编辑为您选择了这些经常使用的命令,并为启动Linux管理员提供了全面的讨论。

适用于Linux管理员的Nginx命令

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

9. 显示Nginx版本信息

Nginx的某些较新功能仅适用于最新版本。因此,管理员可能会在旧版服务器上遇到一些兼容性问题。您可以轻松确定您的Nginx版本,以查看您的问题是否与服务器版本有关。

  1. [linuxidc@localhost ~/www.linuxboy.net]$nginx -v 
  2. nginx version: nginx/1.14.1 

nginx version: nginx/1.14.1以下命令可用于显示有关Nginx安装的其他信息,例如配置变量和编译器版本。

  1. [linuxidc@localhost ~/www.linuxboy.net]$sudo service nginx -V 
  2. service ver. 1.1 
  3. sudo systemctl -V nginx 

另外,如果您正在运行基于Ubuntu或Debian的Linux服务器,则可以使用以下命令查找您的Nginx版本。

  1. sudo apt-cache policy nginx 

10. 显示帮助页面

Nginx帮助页面对于初学者和经验丰富的Linux管理员都是一个很好的参考点。您可以使用以下Nginx命令之一从Linux终端仿真器查看此参考。

  1. sudo service nginx -h  #System V Init使用 
  2. [linuxidc@localhost ~/www.linuxboy.net]$systemctl -h nginx #用于基于systemd的发行版 

参考帮助页面始终是一个很好的选择,因为它们可以让您快速了解用户可用的选项。

11. 使用替代配置

Nginx Web服务器提供了无止境的自定义功能列表。管理员可以轻松地调整Nginx配置文件,以向其服务器添加其他功能。大多数系统上的默认Nginx配置文件是/etc/nginx/nginx.conf。但是,通常最好先在其他配置文件上实现自定义。

  1. sudo nginx -c ~/linuxidc.conf 

请注意,我们假设您的新配置文件名为test.conf。用您的配置文件的实际名称替换这部分。现在,您可以使用以下命令测试新配置。

  1. sudo nginx -t -c ~/linuxidc.conf 

您也可以指示Nginx在从源代码进行编译时在其他目录中查找默认配置。在配置安装时只需传递此目录即可。

  1. ./configure --conf-path=/etc/some/other/nginx.conf 

12. 禁止显示非错误消息

测试新配置时,通常会收到错误消息。但是,在检查自定义项时,您还将获得很多不相关的信息。幸运的是,Nginx守护程序提供了一个简单的选项来抑制这些非错误消息,如下所示。

  1. sudo nginx -q -t -c ~/linuxidc.conf 

此命令将测试一个名为linuxidc.conf的自定义配置文件,并将忽略输出中不必要的信息。这对于远程服务器管理任务非常有用。

13. 变更全局指令

全局指令包含Nginx服务器可用的所有配置参数。这是您的Web服务器最敏感的部分之一,需要认真注意。该-g选项允许管理员定义自己的Web服务器Nginx的个性化指令。

  1. sudo nginx -g "pid /var/run/test.pid; worker_processes 2;" 

该命令为PID指定全局Nginx指令,并定义工作进程数,在这种情况下为2。现在,我们可以使用先前使用的备用配置文件对此进行测试。

  1. sudo nginx -t -c ~/test.conf -g "pid /var/run/test.pid; worker_processes 2;" 

14. 更改Nginx前缀路径

前缀路径包含Nginx Web服务器使用的所有文件。它也是用于配置设置相对路径(库源除外)的目录。默认情况下,Nginx使用/usr/local/nginx目录作为前缀。下面的命令演示了如何从命令行覆盖它。

  1. sudo nginx -p /path/to/new/prefix 

该-p标志允许我们通过新的前缀的位置。在测试新服务器时,它通常会派上用场。但是,此选项不适用于版本低于0.7.53的Nginx服务器。

15. 检查stub_status模块

该stub_status模块公开有关Nginx的一些非常重要的指标。管理员经常使用它来监视其Linux邮件服务器或代理服务器。尽管所有预构建的Nginx二进制文件都随该模块一起提供,但是如果您从源代码编译了Nginx,则您的Nginx服务器可能没有此二进制文件。您可以使用以下命令测试是否已安装。

  1. sudo nginx -V 2>&1 | grep --color -- --with-http_stub_status_module 

如果发现缺少此模块,则始终可以从源代码重建Nginx。如下所示,在配置Nginx时只需包含–with-http_stub_status_module参数。

  1. ./configure --with-http_stub_status_module 

16. 检查Nginx路径

有几个Nginx命令可用于检查Nginx安装路径。就像日常的Linux终端命令一样,您始终可以使用which / whereis命令来检查Nginx路径。

  1. [linuxidc@localhost ~/www.linuxboy.net]$which nginx 
  2. /usr/sbin/nginx 
  3. [linuxidc@localhost ~/www.linuxboy.net]$whereis nginx 
  4. nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz 

上面的命令将显示包含与Nginx设置相关的文件的所有系统位置。您可以通过使用ps命令并grepping所需信息来另一种方式。

  1. [linuxidc@localhost ~/www.linuxboy.net]$ps aux | grep nginx 

现在应该可以清楚地看到Nginx守护进程的位置。这对于没有服务器机器底层特权的开发人员非常有用。

相关内容