如何使用 CLI 在 Linux 上重新启动 Nginx
如果您运行的是 Linux 或类 Unix 系统,Nginx 是 Web 服务器的绝佳选择。Nginx 是免费的开源软件。本页提供了有关如何使用命令行界面 (CLI) 重新启动 Nginx Web 服务器的说明。
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 是的 |
要求 | Linux 终端 |
类别 | Web 服务器 |
操作系统兼容性 | Alma • Alpine • Amazon Linux • Arch • CentOS • Debian • Fedora • Linux • Mint • openSUSE • Pop!_OS • RHEL • Rocky • Stream • SUSE • Ubuntu • WSL |
预计阅读时间 | 4 分钟 |
$ cat /etc/os-release
NAME="openSUSE Leap" VERSION="15.5" ID="opensuse-leap" ID_LIKE="suse opensuse" VERSION_ID="15.5" PRETTY_NAME="openSUSE Leap 15.5" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:leap:15.5" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/" DOCUMENTATION_URL="https://en.opensuse.org/Portal:Leap" LOGO="distributor-logo-Leap"
Linux 重新启动 Nginx Web 服务器
重新启动Nginx的步骤如下:
- 打开终端或使用 ssh 命令登录远程服务器。例如:
$ ssh vivek@server1.example.com
- 在 Linux 下使用 systemd init 重新启动 Nginx:
$ sudo systemctl restart nginx.service
- 较旧版本的 Linux 带有 sysv init,输入:
$ sudo service nginx restart
要重新启动 Nginx 服务器,您需要使用的命令取决于您的 Linux init 类型,可以是 systemd、sysvinit、OpenRC 或其他。您可以根据您的 init 类型和 Linux 发行版找到适当的命令来重新启动 Nginx 服务器。让我们详细了解所有命令和示例。
Debian/Ubuntu/RHEL/CentOS Linux(sysv init)
Debian 或 Ubuntu Linux 重新启动 Nginx 网络服务器,运行:
# /etc/init.d/nginx restart
或者
# /etc/init.d/nginx reload
,可以使用基于 sysv init 系统的服务命令:
# service nginx restart
或者,
# service nginx reload
如果您使用的是基于systemd的 Linux 发行版:
$ sudo systemctl restart nginx
或者,
$ sudo systemctl reload nginx
要查看状态:
# service nginx status
或者
$ sudo systemctl status nginx
图 01:重新启动或重新加载 Nginx 服务器
如何在 Alpine Linux 上重新启动 Nginx
在 Alpine Linux 上运行以下命令:
# /etc/init.d/nginx restart
使用 nginx 命令二进制文件重新启动或重新加载服务器
Nginx 内置了向主进程发送信号的选项。这应该适用于任何 Linux 发行版或类 Unix 操作系统。语法如下:
# nginx - s signal
您可以使用 type 命令或 command 命令找到 nginx 二进制文件的完整路径。例如:
# type nginx
这是我看到的:
/usr/sbin/nginx
重新加载Nginx Web服务器
传递重新加载选项如下:
# nginx -s reload
或
# /usr/sbin/nginx -s reload
停止 Nginx Web 服务器
您需要停止服务器吗?运行:
# nginx -s stop
或
# /usr/sbin/nginx -s stop
这将快速关闭您的 Nginx 网络服务器。
退出 Nginx Web 服务器
发送 SIGQUIT 到主进程并退出:
# nginx -s quit
或者此选项将正常
# /usr/sbin/nginx -s quit
关闭 Nginx 网络服务器。
如果 nginx 从源代码编译安装
如果 nginx 二进制文件安装在 /usr/local/nginx/sbin/nginx,请输入:
# /usr/local/nginx/sbin/nginx -s reload
如何启动、停止或重新启动 Nginx 服务器
以下是可以传递给 systemctl 命令或 service 命令的所有命令的摘要:
选项 | 描述 | 示例 |
---|---|---|
开始 | 启动 Nginx Web 服务器 | sudo systemctl 启动 nginx sudo 服务 nginx 启动 |
停止 | 在 Linux 上停止 Nginx | sudo systemctl 停止 nginx sudo 服务 nginx 停止 |
重启 | 停止然后启动 Nginx Web 服务器服务 | sudo systemctl 重新启动 nginx sudo 服务 nginx 重新启动 |
重新加载 | 配置更改后优雅地重启 Nginx 服务 | sudo systemctl 重新加载 nginx sudo 服务 nginx 重新加载 |
地位 | 获取 Linux 中的服务或服务器状态 | sudo systemctl 状态 nginx sudo 服务 nginx 状态 |
如何检查 nginx 服务器配置错误
您需要将 传递-t给 nginx 命令以测试配置并退出。例如:
# nginx -t
将 传递-T给测试配置,将其转储到屏幕上并退出,运行:
# nginx -T
如何向 Nginx 发送信号
Linux 和 Unix 用户的语法如下:
# nginx -s signal
信号可以是 stop、quit、reopen 和 reload。例如,我们可以以 root 用户身份发送 reload 信号,如下所示:有关更多信息,
请参阅此处的 nginx文档。
# nginx -t
# nginx -s reload
打印 Nginx 服务器版本
传递-v或-V选项:
# nginx -v
Outputs:
nginx version: nginx/1.21.5
# nginx -V
nginx version: nginx/1.21.5 built by gcc 7.5.0 (SUSE Linux) built with OpenSSL 1.1.1l 24 Aug 2021 SUSE release SUSE_OPENSSL_RELEASE (running with OpenSSL 1.1.1l 24 Aug 2021 SUSE release 150500.15.4) TLS SNI support enabled configure arguments: --prefix=/usr/ --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/run/nginx.pid --lock-path=/run/nginx.lock --http-client-body-temp-path=/var/lib/nginx/tmp/ --http-proxy-temp-path=/var/lib/nginx/proxy/ --http-fastcgi-temp-path=/var/lib/nginx/fastcgi/ --http-uwsgi-temp-path=/var/lib/nginx/uwsgi/ --http-scgi-temp-path=/var/lib/nginx/scgi/ --user=nginx --group=nginx --without-select_module --without-poll_module --with-threads --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-perl=/usr/bin/perl --with-mail=dynamic --with-mail_ssl_module --with-stream=dynamic --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --with-pcre-jit --with-cc-opt='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -fPIC -D_GNU_SOURCE' --with-ld-opt='-Wl,-z,relro,-z,now -pie' --with-compat
结论
在本教程中,您学习了如何使用命令行选项在 Linux 系统上启动、停止和重新启动 Nginx Web 服务器。此外,使用 man 命令或 help 命令阅读以下手册页。例如:
$ man nginx
$ man systemctl
$ man service
$ systemctl --help