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)。

相关推荐
平头哥~1 小时前
Day 07 _ 那条 1px 的线,为什么在手机上忽粗忽细
前端·css·样式·学习资料
小江的记录本1 小时前
【CSS】CSS 动画:transition、animation、transform、CSS3 新特性(附《思维导图》)
前端·css·安全·spring·前端框架·css3·动画
circuitsosk2 小时前
任务规划器的三种范式对比:ReAct、Plan-and-Execute 与 Tree-of-Thought 在真实业务中的取舍
前端·javascript·python·react.js·llm·ai agent
hzxpaipai3 小时前
企业官网技术架构拆解:前端、后台、数据库、服务器如何协同
前端·数据库·架构
朦胧之3 小时前
PostgreSQL 数据库笔记
人工智能·后端
深念Y5 小时前
Lenovo XiaoXinAir 14 — 性能模式切换
前端·网络
计算机魔术师5 小时前
Meta突然杀进第一梯队:一个新模型,把AI推理成本打下来8倍
前端
IT_陈寒5 小时前
Redis缓存雪崩把我坑惨了,这次长记性了
前端·人工智能·后端
风骏时光牛马6 小时前
提示词工程:大模型效能挖掘与指令设计实战
前端