Nginx发音为engine x是开源的,高性能的HTTP和反向代理服务器,负责处理互联网上一些最大站点的负载。它可以用作独立的Web服务器,也可以用作Apache和其他Web服务器的反向代理。

如果您是开发人员或系统管理员,那么您可能会定期与Nginx打交道。在本教程中,我们将介绍最重要和最常用的Nginx命令,包括启动,停止和重新启动Nginx,测试Nginx配置文件语法错误,重新加载Nginx配置,查看Nginx状态,检查Nginx版本。

在开始之前

所有命令必须以sudo或root用户身份执行,这些命令也适用于所有Linux发行版。如Ubuntu和CentOS 7,Debian 9,RedHat,Arch Linux等。

启动Nginx

启动Nginx非常简单。只需运行以下命令:

sudo systemctl start nginx

成功时,该命令不会产生任何输出。如果您运行的是没有systemd的Linux发行版,可以使用以下命令来启动Nginx:

sudo service start nginx

建议将其设置为在系统启动时启动,而不是手动启动Nginx服务:

sudo systemctl enable nginx

停止Nginx

即使Nignx已经存在打开的socket连接,停止Nginx也会快速关闭所有Nginx woker进程。要停止Nginx,请运行以下命令之一:

sudo systemctl stop nginx
sudo service stop nginx

重启Nginx

重启选项是一种停止然后启动Nginx服务器的快速方法。使用以下命令之一执行Nginx重新启动:

sudo systemctl restart nginx
sudo service restart nginx

这是可能您最常使用的命令。

重新加载Nginx

每当您更改其配置时,您都需要重新加载或重新启动Nginx。重新加载将加载新配置,使用新配置启动新的woker进程并正常关闭旧woker进程。要重新加载Nginx,请使用以下命令之一:

sudo systemctl reload nginx
sudo service reload nginx

测试Nginx配置文件语法

每当您更改Nginx服务器的配置文件时,最好在重新启动或重新加载服务之前测试配置文件语法。使用以下命令测试Nginx配置是否存在任何语法或系统错误:

sudo nginx -t

输出看起来像这样。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果有任何错误,命令将打印详细消息。

查看Nginx状态

要检查Nginx服务的状态,请使用以下命令:

sudo systemctl status nginx

输出看起来像这样:

 nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-04-21 13:57:01 PDT; 5min ago
     Docs: man:nginx(8)
  Process: 4491 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 4502 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 4492 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 4504 (nginx)
    Tasks: 3 (limit: 2319)
   CGroup: /system.slice/nginx.service
           |-4504 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           |-4516 nginx: worker process
           `-4517 nginx: worker process

检查Nginx版本

有时您可能需要知道Nginx的版本,以便调试问题或确定某个功能是否可用。您可以通过运行以下方式检查您的Nginx版本:

sudo nginx -v
nginx version: nginx/1.14.0 (Ubuntu)

-V选项将输出Nginx版本以及编译nginx时使用的configure配置选项。

sudo nginx -V

结论

在本教程中,我们向您展示了一些最重要的Nginx命令。如果您想了解Nginx命令行的更多信息,请访问Nginx文档