Nginx安装与ufw防火墙实操完整总结(含命令+全部踩坑)
本文整理云服务器搭建静态网站实操内容,讲解 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
补充概念说明
apt:Ubuntu/Debian软件包管理工具,用于更新、安装程序
systemctl:系统服务管理器,管控Nginx启停、自启
ufw:Ubuntu简易防火墙;(v6)代表IPv6网络规则,系统自动生成无需手动修改
识别腾讯云服务器依据:主机名VM-0-14-ubuntu、软件源mirrors.tencentyun.com
评论
暂无评论,来写第一条吧
