本文概述
以下是一些用于启动, 停止, 重新启动或重新加载Nginx的基本操作命令的列表。
启动Nginx
Nginx可以从以下命令行启动:
$ sudo systemctl start nginx
该命令不产生任何输出。
如果你使用的是不带systemd的Linux发行版, 则要启动Nginx, 请键入以下命令:
$ sudo service start nginx
或对于较旧的Ubuntu Linux版本:
sudo /etc/init.d/nginx start
启用Nginx服务
上面的命令仅在此期间启动服务。每次重新启动后, 我们都必须手动启动它。
建议不要在系统启动时自动启动Nginx服务, 而要使其自动启动。要启用Nginx服务, 请使用以下命令:
$ sudo systemctl enable nginx
或者, 如果你使用的是不带systemd的Linux发行版, 请使用以下命令:
$ sudo service nginx enable
停止Nginx
即使存在打开的连接, 停止Nginx也会直接关闭所有Nginx worker进程。我们可以通过两种方式停止Nginx进程。
第一种方法是使用stop命令调用Nginx。使用以下命令之一来停止Nginx:
$ sudo systemctl stop nginx
或者, 如果你使用的是不带systemd的Linux发行版, 请使用以下命令:
$ sudo service stop nginx
或者从源代码编译并安装nginx:
$ sudo /usr/bin/nginx -s stop
或对于较旧的Ubuntu Linux版本:
$ sudo /etc/init.d/nginx stop
停止Nginx的第二种方法是向Nginx主进程发送信号。默认情况下, Nginx将其主进程ID存储到/usr/local/nginx/logs/nginx.pid。
这是将QUIT(正常关机)信号发送到Nginx主进程的命令:
$ kill -QUIT $( cat /usr/local/nginx/logs/nginx.pid )
重新启动Nginx
重新启动选项是停止然后启动Nginx服务器的快速操作。
使用以下命令之一重新启动Nginx:
$ sudo systemctl restart nginx
或者, 如果你使用的是不带systemd的Linux发行版, 请使用以下命令:
$ sudo service restart nginx
或对于较旧的Ubuntu Linux版本:
sudo /etc/init.d/nginx restart
重新加载Nginx
每当我们对其配置进行更改时, 我们都需要重新启动或重新加载Nginx。
reload选项将加载新配置, 使用新配置启动新工作进程, 并正常关闭旧工作进程。
要重新加载Nginx, 请键入以下命令之一:
$ sudo systemctl reload nginx
或者, 如果你使用的是不带systemd的Linux发行版, 请使用以下命令:
$ sudo service reload nginx
测试Nginx配置
每当我们更改或编辑Nginx服务器的配置文件时, 最好在重新启动或重新加载服务之前测试配置。
使用以下命令测试Nginx配置是否存在语法或系统错误:
$ sudo nginx -t
Or
service nginx configtest
两者的输出将如下所示:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果有任何错误, 这些命令将打印详细信息。