从 Nginx 欢迎页到 HTTPS 安全博客:我的 WordPress LNMP 部署排坑记录

Nginx 基础配置与冲突解决

问题点现象根源分析解决方案
Nginx 欢迎页冲突浏览器持续显示 "Welcome to nginx!",无法显示 WordPress。Nginx 默认配置 (/etc/nginx/sites-enabled/default) 优先级高于或覆盖了自定义的 wordpress.conf 配置。禁用默认配置: 彻底删除或移除 /etc/nginx/sites-enabled/default 符号链接。
Nginx 配置未生效删除了默认配置后,仍然显示默认页。Nginx 主配置文件未正确加载自定义配置文件,或没有正确执行 systemctl restart nginx确认 /etc/nginx/nginx.conf 包含 include /etc/nginx/sites-enabled/*;,并执行 sudo systemctl restart nginx
IPv6 访问失败使用 IPv6 地址访问时显示 “未发送任何数据” (ERR_EMPTY_RESPONSE)。Nginx 配置文件中只监听了 listen 80;,但在某些系统上可能未启用 IPv6 监听,或服务器防火墙未放行 IPv6 流量。明确启用 IPv6 监听: 在 Nginx server 块中添加 listen [::]:80;listen [::]:443 ssl http2;

WordPress 核心功能与权限问题

问题点现象根源分析解决方案
FTP 凭证提示安装插件/主题时,WordPress 要求输入 FTP 登录凭证。WordPress 核心文件所有者(通常是 root 或用户)与 Web 服务器运行用户(www-data)不一致,导致 Web 服务器没有写入权限。修复文件所有权和权限: 将 WordPress 目录的所有权递归地更改为 www-data:www-data,并设置标准权限(目录 755,文件 644)。
样式丢失网站内容显示,但没有排版,出现 “裸奔” 状态。通常是 WordPress 地址设置错误(siteurlhome)或 Nginx 配置未能正确处理静态资源。确认 Nginx 配置正确后,检查数据库中 wp_options 表的 siteurlhome 字段,确保它们是正确的 http://https:// 域名。

HTTPS、证书与混合内容挑战

问题点现象根源分析解决方案
Certbot 证书警告使用 IP 地址或浏览器绕过 Cloudflare 访问时,出现 “证书不受信任” 警告。Cloudflare Origin 证书仅用于加密 Cloudflare 和源服务器之间 的流量,不被公共浏览器信任。浏览器直接连接服务器时会报错。强制 Cloudflare 代理: 在 Cloudflare DNS 设置中,确保 blog.skadi.ltd 记录为 橙色云朵 ☁️ (Proxied) 状态,并强制用户通过域名访问。
图片加载失败文章中的图片显示为占位符,但媒体库中可见。数据库中文章内容的图片链接仍是旧的 http:// 链接,导致 HTTPS 浏览器发出 混合内容(Mixed Content) 警告并阻止加载。数据库 URL 批量替换: 使用 Better Search Replace 插件或 SQL 命令,将所有 http://blog.skadi.ltd 替换为 https://blog.skadi.ltd

PS:不得不说,迁移个wordpress是真的麻烦

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇