Nginx系列03(基本使用及详细步骤)

目录

Linux 系统(以 Ubuntu 为例,其他基于 systemd 的 Linux 发行版类似)

Windows 系统

macOS 系统

Docker 环境


以下是关于 Nginx 基本使用的详细步骤以及完整代码示例,涵盖了启动、停止、重新加载配置、查看状态、查看日志和测试配置文件语法等操作,在不同操作系统下的实现方式:

Linux 系统(以 Ubuntu 为例,其他基于 systemd 的 Linux 发行版类似)

  • 启动服务
# 使用 systemctl 命令启动 Nginx 服务
sudo systemctl start nginx
# 可以通过查看服务状态确认是否启动成功
sudo systemctl status nginx
  • 停止服务
# 立即停止 Nginx 服务
sudo systemctl stop nginx
# 或者使用优雅停止(等待当前请求处理完成后停止)
sudo systemctl graceful-stop nginx
# 再次查看服务状态确认是否已停止
sudo systemctl status nginx
  • 重新加载配置
    当修改了 Nginx 的配置文件(如 /etc/nginx/nginx.conf 或其包含的其他配置文件)后,需要重新加载配置使更改生效。
# 修改配置文件后,执行以下命令重新加载配置
sudo systemctl reload nginx
# 可以再次查看服务状态确认配置加载是否成功
sudo systemctl status nginx
  • 查看状态
# 使用 systemctl 命令查看 Nginx 服务的详细状态信息
sudo systemctl status nginx
# 还可以使用 service 命令(在一些系统中也可用)
sudo service nginx status
  • 查看日志
    • 访问日志:默认路径为 /var/log/nginx/access.log
# 实时查看访问日志
sudo tail -f /var/log/nginx/access.log
  • 错误日志:默认路径为 /var/log/nginx/error.log
# 实时查看错误日志
sudo tail -f /var/log/nginx/error.log
  • 测试配置文件语法
# 使用 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

Windows 系统

  • 启动服务
    • 方法一:通过可执行文件启动。在 Nginx 安装目录(如 C:\nginx)中,找到 nginx.exe 文件,双击即可启动 Nginx 服务。
    • 方法二:通过命令行启动。打开命令提示符(CMD)或 PowerShell,进入 Nginx 安装目录,执行以下命令:
# 进入 Nginx 安装目录
Set-Location -Path "C:\nginx"
# 启动 Nginx
.\nginx.exe
  • 停止服务
    • 方法一:快速停止。打开命令提示符(CMD)或 PowerShell,进入 Nginx 安装目录,执行以下命令:
# 进入 Nginx 安装目录
Set-Location -Path "C:\nginx"
# 快速停止 Nginx
taskkill /F /IM nginx.exe
  • 方法二:优雅停止。执行以下命令向 Nginx 主进程发送信号实现优雅停止(需要知道 Nginx 主进程的 PID,可通过任务管理器查看):
# 假设 Nginx 主进程 PID 为 12345
Stop-Process -Id 12345 -Force
  • 重新加载配置
    修改配置文件(如 C:\nginx\conf\nginx.conf)后,需要重新加载配置。可以先停止 Nginx 服务,再启动服务;或者通过向 Nginx 主进程发送特定信号来实现(需要知道 Nginx 主进程的 PID)。
# 假设 Nginx 主进程 PID 为 12345
# 发送信号重新加载配置(模拟类似 Linux 的 HUP 信号)
$process = Get-Process -Id 12345
$process.StandardInput.WriteLine("reload")
  • 查看状态
    可以通过任务管理器查看 Nginx 进程是否正在运行。在任务管理器的 “进程” 选项卡中,查找 nginx.exe 进程。
  • 查看日志
    Nginx 在 Windows 下的日志默认位于安装目录的 logs 文件夹(如 C:\nginx\logs)。可以使用文本编辑器(如 Notepad++)打开 access.log 和 error.log 文件查看日志内容。
  • 测试配置文件语法
    打开命令提示符(CMD)或 PowerShell,进入 Nginx 安装目录,执行以下命令:
# 进入 Nginx 安装目录
Set-Location -Path "C:\nginx"
# 测试配置文件语法
.\nginx.exe -t

macOS 系统

  • 启动服务
# 使用 brew services 命令启动 Nginx 服务
brew services start nginx
# 或者使用 launchctl 命令启动
sudo launchctl load -w /usr/local/opt/nginx/homebrew.mxcl.nginx.plist
# 查看服务状态确认是否启动成功
brew services status nginx
  • 停止服务
# 使用 brew services 命令停止 Nginx 服务
brew services stop nginx
# 或者使用 launchctl 命令停止
sudo launchctl unload -w /usr/local/opt/nginx/homebrew.mxcl.nginx.plist
# 再次查看服务状态确认是否已停止
brew services status nginx
  • 重新加载配置
    修改配置文件(如 /usr/local/etc/nginx/nginx.conf)后,执行以下命令重新加载配置:
# 使用 brew services 命令重新加载配置
brew services restart nginx
# 或者使用以下命令先停止再启动
sudo launchctl unload -w /usr/local/opt/nginx/homebrew.mxcl.nginx.plist
sudo launchctl load -w /usr/local/opt/nginx/homebrew.mxcl.nginx.plist
  • 查看状态
# 使用 brew services 命令查看 Nginx 服务的详细状态信息
brew services status nginx
# 也可以使用 launchctl 命令查看状态
sudo launchctl list | grep nginx
  • 查看日志
    • 访问日志:默认路径为 /usr/local/var/log/nginx/access.log
# 实时查看访问日志
sudo tail -f /usr/local/var/log/nginx/access.log
  • 错误日志:默认路径为 /usr/local/var/log/nginx/error.log
# 实时查看错误日志
sudo tail -f /usr/local/var/log/nginx/error.log
  • 测试配置文件语法
# 使用 nginx 命令检查配置文件语法是否正确
sudo nginx -t

Docker 环境

  • 启动容器(如果已停止)
# 启动名为 nginx 的容器
docker start nginx
# 查看容器状态确认是否启动成功
docker ps
  • 停止容器
# 停止名为 nginx 的容器
docker stop nginx
# 再次查看容器状态确认是否已停止
docker ps -a
  • 重新加载配置
    对于 Docker 中的 Nginx 容器,通常需要进入容器内部,然后发送信号给 Nginx 进程来重新加载配置。
# 进入名为 nginx 的容器
docker exec -it nginx bash
# 在容器内部,向 Nginx 主进程发送 HUP 信号重新加载配置
kill -HUP $(cat /var/run/nginx.pid)
# 退出容器
exit
  • 查看状态
# 查看名为 nginx 的容器状态
docker ps
# 或者查看容器的详细信息
docker inspect nginx
  • 查看日志
# 查看名为 nginx 的容器的日志
docker logs nginx
# 如果需要实时查看日志,可以使用 -f 参数
docker logs -f nginx
  • 测试配置文件语法
# 进入名为 nginx 的容器
docker exec -it nginx bash
# 在容器内部,测试 Nginx 配置文件语法
nginx -t
# 退出容器
exit

以上就是不同操作系统和环境下 Nginx 基本使用的详细步骤及完整代码示例,希望对大家有所帮助。

你可能感兴趣的:(Nginx系列,nginx,运维开发)