适用 Ubuntu 16.04 / 18.04 / 20.04 / 22.04 所有主流版本,包含两种安装方式,按需选择即可:
一、方式一:apt 包管理器安装 Nginx(优先选择)
步骤 1:更新系统软件源缓存
Ubuntu 的软件源列表需要定期更新,确保安装的是最新稳定版,避免依赖问题,执行命令:
sudo apt update && sudo apt upgrade -y
sudo:管理员权限,必须加,否则会权限不足。
apt update:更新软件源的包索引。
apt upgrade -y:自动更新本地已安装的软件包(可选,但建议执行)。
步骤 2:一键安装 Nginx
直接执行官方源安装命令,系统会自动处理所有依赖,无需手动配置:
sudo apt install nginx -y
安装完成后,Nginx 会被自动设置为【开机自启】+【立即启动】,无需手动启动!
步骤 3:检查 Nginx 安装状态 & 验证是否启动成功
方式 1:查看 Nginx 运行状态
sudo systemctl status nginx
- 出现active (running) 绿色字样 → 启动成功
- 出现inactive (dead) → 未启动,执行启动命令即可
方式 2:验证 Nginx 版本
nginx -v
输出类似 nginx version: nginx/1.18.0 (Ubuntu) 即代表安装成功。
方式 3:浏览器访问验证
本地浏览器输入服务器的 IP 地址 即可(无需加端口,默认 80 端口),例如 http://192.168.1.100
如果看到 Ubuntu 默认的 Nginx 欢迎页面 → 部署成功。
二、Nginx 核心常用命令
Ubuntu 下 Nginx 的服务管理,统一使用 systemctl 命令(兼容所有新版本 Ubuntu),所有命令都需要 sudo 管理员权限,按场景整理如下:
基础启停重启
# 启动 Nginx
sudo systemctl start nginx
# 停止 Nginx
sudo systemctl stop nginx
# 重启 Nginx(修改配置文件后,必须执行重启才生效!)
sudo systemctl restart nginx
# 重新加载配置(推荐!修改配置后,不中断服务平滑生效,生产环境优先用这个)
sudo systemctl reload nginx
开机自启配置
# 设置 Nginx 开机自动启动(apt安装默认已开启,源码安装需要手动执行)
sudo systemctl enable nginx
# 关闭 Nginx 开机自启
sudo systemctl disable nginx
状态查询
# 查看 Nginx 当前运行状态
sudo systemctl status nginx
三、Nginx 核心目录结构
不管是 apt安装 还是 源码安装,必须记住目录位置,否则无法修改配置、查看日志,以下是 apt 安装的标准目录(重中之重):
/etc/nginx/ # Nginx 主配置根目录(所有配置都在这里)
├── nginx.conf # Nginx 核心主配置文件(全局配置)
├── sites-available/ # 存放所有网站的【站点配置文件】(默认有default)
├── sites-enabled/ # 启用的站点配置(软链接到sites-available里的文件)
/var/www/html/ # Nginx 默认的网站根目录(放你的前端项目代码)
/var/log/nginx/ # Nginx 日志目录 → access.log(访问日志) error.log(错误日志)
/usr/sbin/nginx # Nginx 可执行程序路径
关键说明:
四、Ubuntu 防火墙放行 Nginx 端口
Ubuntu 默认安装了 ufw 防火墙,默认是关闭的,但生产环境必须开启防火墙,否则外网无法访问 Nginx!
Nginx 默认使用 80 端口(HTTP) 和 443 端口(HTTPS,配置 SSL 证书后用),必须放行这两个端口,提供两种放行方式,任选其一即可:
方式 1:直接放行 80/443 端口
# 放行80端口(HTTP)
sudo ufw allow 80/tcp
# 放行443端口(HTTPS)
sudo ufw allow 443/tcp
# 启用防火墙(执行一次即可,启用后不会影响已放行的端口)
sudo ufw enable
# 查看防火墙放行规则(验证是否生效)
sudo ufw status
方式 2:直接放行 Nginx 服务
# 直接允许 Nginx 所有相关端口
sudo ufw allow 'Nginx Full'
# 启用防火墙
sudo ufw enable
# 查看状态
sudo ufw status
放行成功后,浏览器才能正常访问你的 Nginx 服务!
五、方式二:源码编译安装 Nginx
适用场景:
- 需要安装指定版本的 Nginx(比如最新版、稳定版)
- 需要自定义编译 Nginx 模块(比如 ssl、gzip、第三方模块)
- 对 Nginx 有定制化需求,apt 安装的版本满足不了时使用
完整编译安装步骤
步骤 1:安装编译依赖环境
sudo apt update && sudo apt install -y gcc g++ make libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
步骤 2:下载 Nginx 源码包
# 进入下载目录
cd /usr/local/src
# 下载最新稳定版(可去nginx官网换最新版本号)
wget https://nginx.org/download/nginx-1.24.0.tar.gz
# 解压源码包
tar -zxvf nginx-1.24.0.tar.gz
# 进入解压目录
cd nginx-1.24.0
步骤 3:配置编译参数(核心,指定安装路径 + 模块)
sudo ./configure –prefix=/usr/local/nginx \\
–with-http_ssl_module \\
–with-http_gzip_static_module \\
–with-http_stub_status_module
- –prefix:指定 Nginx 安装目录 → /usr/local/nginx
- 后面的参数是启用常用模块(SSL / 压缩 / 状态监控),按需添加即可
步骤 4:编译 + 安装
# 编译(多核CPU可加 -j4 加速,比如 make -j4)
sudo make
# 安装
sudo make install
步骤 5:源码安装的 Nginx 常用命令
# 启动
sudo /usr/local/nginx/sbin/nginx
# 停止
sudo /usr/local/nginx/sbin/nginx -s stop
# 重启
sudo /usr/local/nginx/sbin/nginx -s reload
# 查看版本
/usr/local/nginx/sbin/nginx -v
步骤 6:源码安装 必做:设置开机自启
源码安装的 Nginx不会自动配置开机自启,需要手动添加系统服务,执行以下命令即可:
sudo echo '[Unit]
Description=nginx – high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target' > /lib/systemd/system/nginx.service
# 重新加载系统服务
sudo systemctl daemon-reload
# 设置开机自启
sudo systemctl enable nginx
之后就可以和 apt 安装一样,使用 systemctl start/stop/restart nginx 命令了。
六、部署前端项目(Vue/React/ 静态 HTML)快速实操
部署 Nginx 的核心目的就是运行前端项目,这里给最简步骤,所有前端项目通用:





