Nginx安装与ufw防火墙实操完整总结(含命令+全部踩坑)

2026年5月6日 Nginx 5 分钟阅读 6 次阅读
📖 文章摘要

本文整理云服务器搭建静态网站实操内容,讲解 Nginx 目录结构、配置加载规则、站点核心指令,实操区分 root 与 alias 路径映射、location 匹配规则、静态缓存、自定义 404 页面,梳理 403、404 等报错排查方案;同时介绍 ufw 防火墙命令,分清本机防火墙与云安全组双层放行逻辑,汇总实操规范与常见踩坑,适合 Nginx 入门学习。

Nginx安装与ufw防火墙实操完整总结(含命令+全部踩坑)

一、Nginx安装相关操作

更新软件源索引:

sudo apt update

一键安装Nginx(自动确认安装):

sudo apt install nginx -y

二、Nginx服务管理全套命令

错误写法(无 sudo,会触发权限验证弹窗):

systemctl start nginx

标准正确操作:

# 启动Nginx服务
sudo systemctl start nginx
# 设置开机自启
sudo systemctl enable nginx
# 查看运行状态,确认active(running)
sudo systemctl status nginx
# 修改配置后完整重启服务
sudo systemctl restart nginx
# 重载配置,不中断在线访问
sudo systemctl reload nginx
# 校验配置文件语法错误
sudo nginx -t
# 本地测试网页是否正常输出
curl localhost

三、ufw防火墙完整操作命令

# 查看系统内置防火墙应用模板
sudo ufw app list
# 基础查看防火墙状态
sudo ufw status
# 详细模式查看防火墙状态
sudo ufw status verbose
# 放行SSH远程登录端口(必须优先执行)
sudo ufw allow ssh
# 标准放行80/443,严格匹配大写名称
sudo ufw allow 'Nginx Full'
# 错误放行写法:小写名称,仅生成自定义标签,不会自动开放网页端口
sudo ufw allow 'nginx full'
# 删除错误小写规则
sudo ufw delete allow 'nginx full'
# 启用防火墙,弹窗输入y确认开启
sudo ufw enable

四、本次实操全部踩坑记录

踩坑1:systemctl操作不加sudo

现象:终端弹出身份验证,要求输入服务器登录密码

原理:系统服务属于root权限操作,普通用户无操作权限

解决:所有systemctl命令前追加sudo

踩坑2:ufw未激活(inactive)时看不到放行规则

现象:sudo ufw status仅输出Status: inactive,无端口列表

原理:防火墙关闭时规则仅保存配置,不会加载运行

解决:执行sudo ufw enable激活防火墙后才能查看完整规则

踩坑3:使用小写'nginx full'放行端口

现象:提示规则更新成功,但不会自动开放80、443;删除该规则时会模糊匹配,连带删掉大写'Nginx Full',网站端口被拦截

两种规避方案:

方案1:严格使用大写模板名称

sudo ufw allow 'Nginx Full'

方案2:直接放行数字端口,无大小写匹配bug(推荐)

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

踩坑4:混用防火墙命令firewall-cmd

现象:Ubuntu执行firewall-cmd --list-all提示命令不存在

原理:firewall-cmd是CentOS、红帽系专用;Ubuntu默认防火墙工具为ufw,两套工具不互通

解决:全程仅使用ufw系列命令

踩坑5:只配置本机ufw,忽略腾讯云安全组

现象:服务器内部curl localhost正常,外网浏览器无法访问网站

原理:腾讯云存在双层防护,系统ufw + 云端安全组,安全组未开放80/443外网直接拦截

解决:登录腾讯云控制台,实例安全组添加入站规则放行80、443端口

踩坑6:开启防火墙前未放行ssh端口

风险:开启ufw后22端口阻断,直接断开远程连接,无法再次登录服务器

解决:启用防火墙前先执行sudo ufw allow ssh

五、无坑推荐防火墙完整配置(直接放行端口)

# 放行远程登录
sudo ufw allow 22/tcp
# 放行网页http、https
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 开启防火墙
sudo ufw enable
# 核对放行规则
sudo ufw status

补充概念说明

  1. apt:Ubuntu/Debian软件包管理工具,用于更新、安装程序

  2. systemctl:系统服务管理器,管控Nginx启停、自启

  3. ufw:Ubuntu简易防火墙;(v6)代表IPv6网络规则,系统自动生成无需手动修改

  4. 识别腾讯云服务器依据:主机名VM-0-14-ubuntu、软件源mirrors.tencentyun.com

最后更新:2026年6月30日CC BY-NC-SA 4.0

评论

暂无评论,来写第一条吧

© 2026 My Blog. Built with Nuxt.js + FastAPI.