Ubuntu 安装 Nginx

安装

安装前准备

bash 复制代码
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring

这条命令安装必要的工具:

  • curl- 用于下载文件
  • gnupg2- GNU隐私保护工具,用于密钥管理
  • ca-certificates- 证书授权文件
  • lsb-release- 提供Linux发行版信息
  • ubuntu-keyring- Ubuntu的GPG密钥环

导入Nginx官方签名密钥

bash 复制代码
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
  1. 从nginx.org下载签名密钥
  2. 使用gpg进行解密(--dearmor)
  3. 将密钥保存到/usr/share/keyrings/nginx-archive-keyring.gpg

验证密钥

bash 复制代码
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

条命令会显示导入的密钥指纹,输出应包含完整的指纹 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62s,如下所示:

这是Nginx官方签名密钥的指纹,用于验证软件包的真实性。

设置稳定版Nginx仓库

bash 复制代码
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
  1. 添加Nginx官方稳定版仓库
  2. 使用之前导入的密钥进行签名验证
  3. lsb_release -cs会自动获取当前Ubuntu版本的代号

设置仓库优先级

bash 复制代码
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx

这条命令确保优先从Nginx官方仓库安装软件包,而不是 Ubuntu 自带的版本。

安装Nginx

bash 复制代码
sudo apt update
sudo apt install nginx

服务

1. 主配置文件目录

  • /etc/nginx/
    • nginx.conf(主配置文件)
    • conf.d/(额外的配置文件)
    • modules(动态模块)

2. 默认网页根目录

  • /usr/share/nginx/ 这是 Nginx 默认的网站根目录(root),存放静态网页文件(如 index.html)。

3. 日志文件目录

  • /var/log/nginx/
    • access.log(访问日志)
    • error.log(错误日志)

4. Nginx 可执行文件

  • /usr/sbin/nginx 这是 Nginx 的主程序(二进制文件)。

5. 默认服务管理

  • 启动/停止/重启 Nginx:
bash 复制代码
sudo systemctl start nginx    # 启动 
sudo systemctl stop nginx     # 停止 
sudo systemctl restart nginx  # 重启 
sudo systemctl reload nginx   # 重新加载配置(不中断服务) 
sudo systemctl status nginx   # 查看状态

6. 检查 Nginx 安装路径

如果想确认 Nginx 的安装路径,可以运行:

bash 复制代码
which nginx

通常会输出:

bash 复制代码
/usr/sbin/nginx

7. 检查 Nginx 版本和编译参数

bash 复制代码
nginx -V

这会显示 Nginx 的版本信息,以及编译时启用的模块(如 --with-http_ssl_module)。

相关推荐
LLLLYYYRRRRRTT6 分钟前
MariaDB 数据库管理与web服务器
前端·数据库·mariadb
胡gh7 分钟前
什么是瀑布流?用大白话给你讲明白!
前端·javascript·面试
universe_0113 分钟前
day22|学习前端ts语言
前端·笔记
teeeeeeemo17 分钟前
一些js数组去重的实现算法
开发语言·前端·javascript·笔记·算法
Mike_小新17 分钟前
【Mike随想】未来更看重架构能力和业务经验,而非单纯编码能力
后端·程序员
Zz_waiting.18 分钟前
Javaweb - 14.1 - 前端工程化
前端·es6
掘金安东尼20 分钟前
前端周刊第426期(2025年8月4日–8月10日)
前端·javascript·面试
Abadbeginning20 分钟前
FastSoyAdmin导出excel报错‘latin-1‘ codec can‘t encode characters in position 41-54
前端·javascript·后端
ZXT22 分钟前
WebAssembly
前端
卢叁22 分钟前
Flutter开发环境安装指南
前端·flutter