Ubuntu 上 Nginx 安装详细指南(新手零踩坑版)
大家好~ 今天给大家带来 Ubuntu 系统下 Nginx 的完整安装指南,不管你是刚接触 Linux 的新手,还是需要快速部署 Web 服务器的开发者,这篇文章都能帮你从头到尾搞定 Nginx 环境搭建,全程步骤清晰、指令可直接复制,避开所有常见踩坑点。
先简单科普下 Nginx:Nginx(发音为"engine x")是一款开源、高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。它的核心优势是 高并发、低内存占用、配置灵活,目前被广泛用于生产环境,无论是搭建个人博客、企业官网,还是作为反向代理、负载均衡服务器,Nginx 都是首选工具之一✨
本文适配 Ubuntu 20.04 / 22.04 / 24.04 LTS 版本(最常用、最稳定的版本),涵盖 2种核心安装方式(APT 仓库安装、官方源安装),以及配置文件解读、服务管理、基础测试、常见问题排查,新手跟着操作,10分钟就能完成 Nginx 安装并正常运行。
一、前置准备(必做步骤)
在安装任何软件前,建议先更新系统软件包索引,确保获取最新的版本和安全补丁,避免安装过程中出现依赖冲突(这是新手最容易忽略,也最容易踩坑的一步)。
打开 Ubuntu 终端(快捷键 Ctrl+Alt+T),依次执行以下两条命令:
bash
# 更新软件包索引(获取最新的软件包信息)
sudo apt update
# 可选但推荐:升级已安装的软件包(提升系统稳定性,避免依赖兼容问题)
sudo apt upgrade -y
提示:输入 sudo 命令后,需要输入当前用户的密码(输入时不显示明文,正常输入即可),确认权限后等待执行完成,一般1-3分钟(取决于网络速度)。
补充:如果执行 sudo apt upgrade -y 时出现提示,直接按回车确认即可,无需额外操作。
二、Nginx 安装(2种方式,按需选择)
推荐新手优先选择 方式1(APT 仓库安装),最简单快捷,无需额外配置,安装后自动配置服务、设置开机自启;如果需要安装最新稳定版 Nginx(如 Nginx 1.25+),则选择方式2(官方源安装)。
方式1:APT 仓库安装(最推荐,新手首选)
Ubuntu 官方仓库中已包含 Nginx 稳定版(通常为 Nginx 1.18 或 1.21 版本),无需额外添加源,直接通过 apt 命令即可完成安装,步骤如下:
-
执行安装命令,自动安装 Nginx 及相关依赖:
sudo apt install nginx -y"-y" 参数表示自动确认安装,无需手动输入 "y" 确认,节省操作步骤;如果不添加 "-y",安装过程中会提示"是否继续",输入 "y" 并回车即可。 -
安装完成后,检查 Nginx 服务状态,确认是否正常启动:
sudo systemctl status nginx如果输出中出现active (running)(如下所示),说明 Nginx 已成功启动,恭喜你,安装第一步完成!● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2026-03-16 10:00:00 CST; 1min ago Docs: man:nginx(8) Process: 1234 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 1235 (nginx) Tasks: 3 (limit: 4915) Memory: 3.2M CGroup: /system.slice/nginx.service ├─1235 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ├─1236 nginx: worker process └─1237 nginx: worker process -
测试 Nginx 是否能正常访问:
两种测试方式,任选一种即可:
-
方式A:终端执行命令,查看 Nginx 欢迎页内容:
curl http://localhost如果输出包含 "Welcome to nginx!" 字样,说明 Nginx 运行正常。 -
方式B:打开 Ubuntu 自带浏览器,输入
http://localhost或http://127.0.0.1,如果能看到 Nginx 官方欢迎页(蓝色背景、白色文字),则说明安装成功。
-
方式2:官方源安装(获取最新稳定版)
如果官方仓库的 Nginx 版本较低,无法满足你的需求(比如需要使用 Nginx 最新特性),可以通过 Nginx 官方提供的源进行安装,步骤稍多,但全程可复制执行:
-
安装依赖工具(用于添加官方源和验证密钥,避免安装非官方软件):
sudo apt install lsb-release curl gpg -y -
导入 Nginx 官方 GPG 密钥(用于验证软件包完整性,防止被篡改):
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg执行后无明显输出,说明密钥导入成功。 -
添加 Nginx 官方源到系统软件源列表(根据 Ubuntu 版本自动适配):
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说明:$(lsb_release -cs)会自动获取当前 Ubuntu 版本的代号(如 22.04 为 jammy,20.04 为 focal),无需手动修改。 -
更新软件包索引,使官方源生效:
sudo apt update -
安装 Nginx(此时安装的是官方最新稳定版):
sudo apt install nginx -y -
验证安装和启动状态(同方式1):
sudo systemctl status nginx确认输出包含active (running),再通过curl http://localhost或浏览器访问,验证 Nginx 正常运行。
三、Nginx 核心配置解读(新手必懂)
安装完成后,Nginx 会自动生成默认配置文件,新手无需过度修改,但需要了解核心配置文件的路径和基础结构,方便后续修改(如搭建网站、配置反向代理)。
1. 核心配置文件路径(重点记忆)
Ubuntu 上 Nginx 的配置文件主要集中在以下几个路径,新手重点记住前3个:
-
/etc/nginx/nginx.conf:Nginx 主配置文件,全局配置(如 worker 进程数、日志路径、内存限制等)。 -
/etc/nginx/sites-available/:站点配置文件目录,存放所有站点的配置(默认有一个default配置文件,对应默认欢迎页)。 -
/etc/nginx/sites-enabled/:启用的站点配置目录,只有软链接到这里的配置文件才会生效(默认已链接default配置)。 -
/var/www/html/:默认网站根目录,Nginx 欢迎页的文件(index.nginx-debian.html)就存放在这里。 -
/var/log/nginx/:Nginx 日志目录,包含访问日志(access.log)和错误日志(error.log),排查故障时常用。
2. 备份配置文件(重要!)
修改任何配置文件前,建议先备份原文件,避免误操作导致 Nginx 无法启动(新手必做):
bash
# 备份主配置文件
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
# 备份默认站点配置文件
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
后续如果配置出错,可通过以下命令恢复备份(以主配置文件为例):
bash
sudo cp /etc/nginx/nginx.conf.bak /etc/nginx/nginx.conf
3. 基础配置修改(新手入门)
这里以修改默认网站根目录和首页为例,教大家如何修改 Nginx 配置,步骤如下:
-
编辑默认站点配置文件:
sudo nano /etc/nginx/sites-available/default使用nano编辑器(简单易操作),如果未安装 nano,执行sudo apt install nano -y即可安装。 -
修改网站根目录(默认是
/var/www/html):找到配置文件中的
root /var/www/html;行,将其修改为自定义路径(如/var/www/myblog):root /var/www/myblog; -
修改默认首页(默认是
index index.nginx-debian.html index.html index.htm;):如果需要设置自定义首页(如
index.php或index.html),可修改为:index index.html index.htm; -
保存配置并退出:
按
Ctrl+O保存文件,按Ctrl+X退出 nano 编辑器。 -
创建自定义网站根目录,并添加测试首页:
`# 创建自定义目录
sudo mkdir -p /var/www/myblog
创建测试首页(写入简单内容)
sudo echo "
My First Nginx Page!
" > /var/www/myblog/index.html
设置目录权限(避免 Nginx 无法访问)
sudo chown -R www-data:www-data /var/www/myblog
sudo chmod -R 755 /var/www/myblog`
-
检查配置文件语法(关键步骤,避免配置错误):
sudo nginx -t如果输出nginx: configuration file /etc/nginx/nginx.conf test is successful,说明配置语法正确;如果出现错误,根据提示修改配置文件即可。 -
重启 Nginx 服务,使配置生效:
sudo systemctl restart nginx -
测试效果:打开浏览器输入
http://localhost,此时会显示我们自定义的首页内容("My First Nginx Page!"),说明配置修改成功。
四、Nginx 服务管理(常用命令,必记)
通过 systemctl 命令可快速管理 Nginx 服务(启动、停止、重启、设置开机自启等),适用于 APT 或官方源安装的 Nginx,新手记住以下几个命令即可:
bash
# 1. 启动 Nginx 服务(安装后默认已启动)
sudo systemctl start nginx
# 2. 停止 Nginx 服务(如需卸载或维护时使用)
sudo systemctl stop nginx
# 3. 重启 Nginx 服务(修改配置后必须执行,使配置生效)
sudo systemctl restart nginx
# 4. 重新加载 Nginx 服务(修改配置后,无需停止服务,仅重新加载配置,推荐)
sudo systemctl reload nginx
# 5. 查看 Nginx 服务状态(确认是否正常运行)
sudo systemctl status nginx
# 6. 设置 Nginx 开机自启(默认已开启,可重新确认)
sudo systemctl enable nginx
# 7. 取消 Nginx 开机自启(如需卸载时使用)
sudo systemctl disable nginx
# 8. 查看 Nginx 服务日志(排查故障用,如无法启动、无法访问等)
sudo journalctl -u nginx
# 9. 查看 Nginx 版本(确认安装的版本)
nginx -v
补充:修改配置后,优先使用 sudo systemctl reload nginx(重新加载配置),比重启服务更高效,不会中断正在运行的请求。
五、常见问题排查(新手必看,避坑指南)
安装或使用过程中遇到问题,不要慌,参考以下排查方法,大部分问题都能快速解决。
问题1:Nginx 服务启动失败,提示"failed"
症状:执行 sudo systemctl status nginx 显示 active (failed),无法启动服务。
核心解决方法:查看日志,定位错误原因,日志是排查 Nginx 故障的关键。
-
查看 Nginx 错误日志(最直接):
sudo cat /var/log/nginx/error.log -
常见原因及解决方法:
-
配置文件语法错误:执行
sudo nginx -t检查配置语法,根据提示修改错误(如括号不匹配、路径错误等),修改后重新加载配置。 -
端口 80 被占用(Nginx 默认使用 80 端口,若其他软件占用,会启动失败):
`# 查看 80 端口占用情况(找到占用进程 ID)
sudo lsof -i:80
关闭占用进程(替换 1234 为进程 ID)
sudo kill -9 1234
重启 Nginx 服务
sudo systemctl restart nginx
常见占用 80 端口的软件:Apache(httpd)、Tomcat 等,可选择关闭该软件,或修改 Nginx 监听端口(在主配置文件中修改listen 80;为其他端口,如listen 8080;`)。- 权限不足:确保网站根目录(如
/var/www/html)的权限正确,执行以下命令修复:
sudo chown -R www-data:www-data /var/www sudo chmod -R 755 /var/www
-
问题2:浏览器访问 localhost 显示"404 Not Found"
症状:Nginx 服务正常运行,但访问时提示 404 错误。
解决方法:
-
检查网站根目录是否存在,以及目录下是否有默认首页(如 index.html):
# 查看根目录内容(以默认根目录为例) ls /var/www/html如果没有 index.html 文件,创建一个测试文件即可:sudo echo "Test Page" > /var/www/html/index.html。 -
检查站点配置文件中的
root路径是否正确,确保路径指向的目录存在,且有默认首页。 -
检查配置文件后,重新加载 Nginx 服务:
sudo systemctl reload nginx。
问题3:无法远程访问 Ubuntu 上的 Nginx
症状:本地访问 http://localhost 正常,但远程电脑访问 http://Ubuntu 的 IP 地址 时,无法访问(提示"无法连接"或"超时")。
解决方法:
-
确认 Ubuntu 的 IP 地址正确(执行
ip addr查看,通常是eth0或wlp2s0下的inet地址)。 -
开放 Ubuntu 防火墙 80 端口(Nginx 默认端口,远程访问需要开放):
`# 开放 80 端口(永久生效)
sudo ufw allow 80
启用防火墙(若未启用)
sudo ufw enable
查看防火墙规则,确认 80 端口已开放
sudo ufw status`
- 确认 Nginx 配置中监听的是所有 IP(默认已配置,无需修改):
查看站点配置文件,确保有listen 80;或listen 0.0.0.0:80;,表示监听所有网络接口。
问题4:安装 Nginx 时提示"无法定位软件包 nginx"
症状:执行 sudo apt install nginx -y 时,提示"E: 无法定位软件包 nginx"。
解决方法:
-
重新更新软件包索引:
sudo apt update(确保网络正常)。 -
如果是方式2(官方源安装),检查官方源是否添加成功,重新执行方式2的步骤3-4。
-
若仍无法解决,可更换 Ubuntu 软件源(如阿里云源),具体步骤可自行搜索(新手可暂时放弃,改用方式1安装)。
六、Nginx 卸载(可选,如需重新安装)
如果需要卸载 Nginx,执行以下命令,彻底删除 Nginx 及相关配置文件:
bash
# 1. 停止 Nginx 服务
sudo systemctl stop nginx
# 2. 卸载 Nginx 软件包
sudo apt remove nginx -y
# 3. 彻底删除 Nginx 相关配置文件和依赖
sudo apt purge nginx -y
sudo apt autoremove -y
卸载完成后,可重新执行本文的安装步骤,重新安装 Nginx。
七、总结
到这里,Ubuntu 上 Nginx 的安装、配置、服务管理和常见问题排查就全部讲解完成了。总结一下核心要点,方便新手记忆:
- 新手优先用 APT 安装,简单快捷,无需额外配置;需要最新版本用官方源安装。
- 修改配置前,一定要备份原配置文件,避免误操作导致服务无法启动。
- 修改配置后,先执行
sudo nginx -t检查语法,再执行sudo systemctl reload nginx重新加载配置。 - 遇到问题,优先查看 Nginx 错误日志(
/var/log/nginx/error.log),大部分故障都能通过日志定位解决。 - 常用命令:记住启动、停止、重启、重新加载、查看状态这5个核心命令,满足日常使用需求。