当前位置:首页>Linux>Linux从零部署实战指南(四):域名绑定、HTTPS证书与CI/CD自动化

Linux从零部署实战指南(四):域名绑定、HTTPS证书与CI/CD自动化

  • 2026-08-18 23:11:34
Linux从零部署实战指南(四):域名绑定、HTTPS证书与CI/CD自动化

Linux 从零部署项目实战指南(四):域名绑定、HTTPS 证书与 CI/CD 自动化

本系列面向零基础或初中级开发者,手把手教你将一个项目从零部署到 Linux 服务器,并解决过程中遇到的常见问题。


一、前言

前三篇文章我们完成了:

  • • 第一篇:服务器选购与初始化 ✔️
  • • 第二篇:Nginx + MySQL + Redis 环境搭建 ✔️
  • • 第三篇:.NET Web 应用部署与环境配置 ✔️

现在应用已经在服务器上跑起来了,但还有几个关键问题没解决:

  1. 用 IP 访问很不方便
    ,记不住,而且换个服务器 IP 就变了
  2. 没有 HTTPS
    ,浏览器提示"不安全",微信小程序等平台也要求 HTTPS
  3. 每次更新代码都要手动连接服务器部署
    ,太麻烦

本篇一次性解决这三个问题:域名 → HTTPS → 自动化部署


二、域名购买与 DNS 解析

2.1 域名是什么?

域名就是网站的"门牌号",比如 google.comgithub.com。用户通过域名访问你的网站,而不是记一串 IP 地址。

域名(好记)          DNS 解析               IP 地址(难记)yourdomain.com ──────────────────▶ 123.123.123.123

2.2 在哪里买域名?

国内主流域名注册商:

服务商
后缀
参考价格
特点
阿里云(万网)
.com / .cn / .net
首年 ~55元
备案方便,与云服务器同平台
腾讯云(DNSPod)
.com / .cn / .xyz
首年 ~45元
DNS 解析快,免费套餐够用
华为云
域名种类多
首年 ~50元
企业级服务
Cloudflare
功能强大
注册价 + 0 加价
国外厂商,自带免费 CDN 和 SSL

省钱技巧

  • • .com 域名首年一般 45-65 元,续费约 60-80 元/年
  • • .xyz 等新后缀首年可能低至 10 元,但续费可能更贵
  • • 建议一次买 3 年,避免忘记续费导致域名被别人抢注

2.3 DNS 解析配置

域名购买后,需要在域名管理后台添加 DNS 解析记录,将域名指向你的服务器 IP。

以阿里云为例,登录控制台 → 域名 → DNS 设置 → 添加记录:

记录类型:A(将域名指向一个 IPv4 地址)主机记录:@           (表示 yourdomain.com 本身)记录值:123.123.123.123(你的服务器公网 IP)TTL:10 分钟(默认即可)记录类型:A主机记录:www         (表示 www.yourdomain.com)记录值:123.123.123.123(与上面相同的 IP)TTL:10 分钟记录类型:CNAME(可选,用于验证域名所有权)主机记录:_dnsauth记录值:根据服务商提供

DNS 记录类型说明

类型
用途
示例
A
域名 → IPv4 地址
@
 → 123.123.123.123
AAAA
域名 → IPv6 地址
@
 → 2400:...
CNAME
域名 → 另一个域名
www
 → yourdomain.com
MX
域名 → 邮件服务器
@
 → mail.yourdomain.com
TXT
文本记录(验证/SPF等)
用于域名所有权验证
NS
域名服务器
指定 DNS 服务商

2.4 验证域名解析

配置完 DNS 后,需要等待解析生效(通常几分钟到几小时):

# 在本地电脑上测试ping yourdomain.com# 如果返回的 IP 是你的服务器 IP,说明解析生效# 查看 DNS 解析详情nslookup yourdomain.com# 或使用 dig(如果安装了 dnsutils)dig yourdomain.com# 查看域名的 DNS 服务器nslookup -type=NS yourdomain.com

三、ICP 备案(国内服务器必须)

3.1 什么是备案?

根据中国法律,使用国内服务器提供互联网信息服务,必须进行 ICP 备案。未备案的域名无法绑定到国内服务器。

备案流程

购买域名 → 实名认证 → 提交备案申请 → 管局审核 → 获取备案号    ↓          ↓             ↓             ↓            ↓  1-2天     1-2天        3-5天        5-20天        永久有效

3.2 备案怎么做?

以阿里云为例:

# 登录阿里云控制台 → ICP 备案# 按照指引填写:# 1. 主体信息(个人/企业)# 2. 网站信息(网站名称、服务内容)# 3. 域名信息(已购买的域名)# 4. 上传资料(身份证正反面、域名证书、核验单等)# 关键步骤:# ① 域名实名认证 - 域名必须完成实名认证才能备案# ② 备案信息填写 - 网站名称不能太随意(如"我的网站"不行)# ③ 幕布拍照 - 部分地区需要手持身份证拍照# ④ 管局审核 - 等待通信管理局审核,一般 5-15 个工作日# ⑤ 获取备案号 - 审核通过后会在网站底部显示备案号

3.3 免备案方案

如果不想备案,有以下选择:

方案一:使用香港服务器  优点:无需备案,速度快  缺点:价格稍贵,无国内节点方案二:使用海外服务器(新加坡/美国/日本)  优点:无需备案,全球覆盖  缺点:国内访问速度慢方案三:使用 Cloudflare CDN 代理  优点:可以隐藏真实服务器 IP  缺点:仍需备案才能使用国内服务器

四、配置 HTTPS 证书

4.1 为什么需要 HTTPS?

HTTP          VS          HTTPS  │                        │  │ 明文传输               │ 加密传输  │ 数据可被窃听            │ 数据加密保护  │ 浏览器标记"不安全"      │ 浏览器显示🔒  │ 微信小程序不兼容        │ 微信小程序必须  │ 影响 SEO 排名           │ 提升 SEO 排名

4.2 使用 Let's Encrypt 免费证书

Let's Encrypt 是一个免费、自动化的证书颁发机构,证书有效期为 90 天,但可以通过 Certbot 自动续期。

# 安装 Certbot 和 Nginx 插件sudo apt install -y certbot python3-certbot-nginx# 申请证书(需要域名已解析到本服务器)sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com# 按照提示操作:# 1. 输入邮箱地址(用于接收证书到期通知)# Saving debug log to /var/log/letsencrypt/letsencrypt.log# Enter email address (used for urgent renewal and security notices):# 请输入你的邮箱:admin@yourdomain.com# 2. 同意服务条款# Please read the Terms of Service at...# (A)gree/(C)ancel: A# 3. 选择是否将 HTTP 重定向到 HTTPS# Please choose whether to redirect HTTP traffic to HTTPS...# 1: No redirect# 2: Redirect - Make all requests redirect to secure HTTPS access# 选择:2(强烈推荐)# 成功后输出:# Congratulations! Your certificate and chain have been saved at:#   /etc/letsencrypt/live/yourdomain.com/fullchain.pem# Your key file has been saved at:#   /etc/letsencrypt/live/yourdomain.com/privkey.pem

4.3 自动续期配置

Let's Encrypt 证书有效期只有 90 天,但 Certbot 会自动配置续期任务:

# 查看 Certbot 的定时器状态sudo systemctl status certbot.timer# 输出应显示:active (running)# 测试续期是否正常工作sudo certbot renew --dry-run# 手动续期(如果需要)sudo certbot renew# 查看证书信息sudo certbot certificates# 输出示例:# Found the following certs:#   Certificate Name: yourdomain.com#     Domains: yourdomain.com www.yourdomain.com#     Expiry Date: 2026-10-27 12:00:00+00:00 (VALID: 89 days)#     Certificate Path: /etc/letsencrypt/live/yourdomain.com/fullchain.pem#     Private Key Path: /etc/letsencrypt/live/yourdomain.com/privkey.pem

4.4 Certbot 自动生成的 Nginx 配置

Certbot 会自动修改你的 Nginx 配置,添加 SSL 相关配置。配置完成后,查看效果:

# 查看 Certbot 生成的配置sudo cat /etc/nginx/sites-available/myproject

Certbot 生成的配置大概长这样:

server {    # HTTP 请求自动跳转到 HTTPS    listen 80;    listen [::]:80;    server_name yourdomain.com www.yourdomain.com;    return 301 https://$server_name$request_uri;}server {    listen 443 ssl;    listen [::]:443 ssl;    server_name yourdomain.com www.yourdomain.com;    # SSL 证书路径    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;    include /etc/letsencrypt/options-ssl-nginx.conf;    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;    # 你原来的站点配置    root /home/www/myproject/static;    index index.html;    location / {        proxy_pass http://127.0.0.1:5000;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header X-Forwarded-Proto $scheme;    }    location /static/ {        alias /home/www/myproject/static/;        expires 30d;    }    location /uploads/ {        alias /home/www/myproject/static/uploads/;        expires 7d;    }}

4.5 验证 HTTPS

# 测试 HTTPS 访问curl -I https://yourdomain.com# 输出应包含:HTTP/2 200# 测试 HTTP 自动跳转curl -I http://yourdomain.com# 输出应包含:301 Moved Permanently# Location: https://yourdomain.com/# 查看 SSL 证书详情curl -vI https://yourdomain.com 2>&1 | grep -E "SSL|certificate|issuer"# 输出应显示 SSL 连接信息和证书颁发者

4.6 手动配置 SSL(如果 Certbot 方式不行)

如果 Certbot 自动配置失败,或者你想手动调整配置:

# 手动配置 Nginx 的 SSLsudo tee /etc/nginx/sites-available/myproject << 'EOF'# HTTP → HTTPS 跳转server {    listen 80;    listen [::]:80;    server_name yourdomain.com www.yourdomain.com;    return 301 https://$server_name$request_uri;}# HTTPS 站点server {    listen 443 ssl http2;    listen [::]:443 ssl http2;    server_name yourdomain.com www.yourdomain.com;    # SSL 证书    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;    ssl_trusted_certificate /etc/letsencrypt/live/yourdomain.com/chain.pem;    # SSL 安全配置    ssl_protocols TLSv1.2 TLSv1.3;    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;    ssl_prefer_server_ciphers off;    ssl_session_cache shared:SSL:10m;    ssl_session_timeout 1d;    ssl_session_tickets off;    # HSTS(强制浏览器使用 HTTPS,有效期 6 个月)    add_header Strict-Transport-Security "max-age=15768000" always;    # 其他配置与之前一致    root /home/www/myproject/static;    index index.html;    location / {        proxy_pass http://127.0.0.1:5000;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header X-Forwarded-Proto $scheme;    }    location /static/ {        alias /home/www/myproject/static/;        expires 30d;    }    location /uploads/ {        alias /home/www/myproject/static/uploads/;        expires 7d;    }}EOF# 测试配置并重新加载sudo nginx -t && sudo systemctl reload nginx

五、CDN 加速(可选)

5.1 CDN 是什么?

CDN(Content Delivery Network)将你的网站内容缓存到全球各地的节点上,用户访问时从最近的节点获取数据,速度更快。

用户(北京)                  CDN 节点(北京)                 源站(上海)    │                              │                              │    │  请求 yourdomain.com          │                              │    ├─────────────────────────────▶│                              │    │                              │  缓存未命中,回源请求         │    │                              ├─────────────────────────────▶│    │                              │  ◀─────────────── 返回数据   │    │  ◀─── 缓存并返回 ────────────┤                              │    │                              │                              │    │  下次同一用户或附近用户       │                              │    │  CDN 节点直接返回缓存         │                              │    ├─────────────────────────────▶│                              │    │  ◀────── 直接返回缓存 ───────┤                              │

5.2 配置 CDN(以阿里云 OSS + CDN 为例)

方案一:全站 CDN 加速

# 1. 在阿里云控制台 → CDN 服务 → 添加域名# 2. 填写域名:yourdomain.com# 3. 源站信息:你的服务器 IP# 4. 加速类型:全站加速# 5. 配置完成后,将域名 DNS 解析改为 CNAME 到 CDN 分配的域名# 修改 DNS 解析:# 记录类型:CNAME# 主机记录:@# 记录值:yourdomain.com.w.alikunlun.com(CDN 分配的域名)# TTL:10 分钟

方案二:静态资源 CDN 加速(推荐,成本更低)

# 静态资源(图片、CSS、JS)走 CDN,动态请求直接回源# 优点:CDN 流量比全站 CDN 便宜,且效果更好# 在 Nginx 中配置静态资源分离:location /static/ {    alias /home/www/myproject/static/;    expires 30d;    add_header Cache-Control "public, immutable";    # 如果配置了 CDN,添加 CDN 回源验证    add_header X-Cache $upstream_cache_status;}location /uploads/ {    alias /home/www/myproject/static/uploads/;    expires 7d;    add_header Cache-Control "public, immutable";}

5.3 使用 Cloudflare 免费 CDN

Cloudflare 提供免费的 CDN 和 SSL 证书,适合个人项目:

# 1. 注册 Cloudflare 账号(https://dash.cloudflare.com)# 2. 添加你的域名 yourdomain.com# 3. Cloudflare 会自动扫描现有的 DNS 记录# 4. 修改域名的 NS 服务器为 Cloudflare 提供的地址# 5. 在 Cloudflare 控制台开启 SSL/TLS(Full 或 Flexible 模式)# 修改 DNS 服务器(在域名注册商的控制台修改):# 将 NS 记录改为:# dave.ns.cloudflare.com# marge.ns.cloudflare.com

六、CI/CD 自动化部署

6.1 什么是 CI/CD?

CI(持续集成):代码推送到仓库后,自动编译、测试。CD(持续部署):测试通过后,自动部署到服务器。

之前的手动部署流程

本地修改代码 → git push → 登录服务器 → cd 项目目录 → git pull→ dotnet publish → systemctl restart → 验证

CI/CD 自动化后的流程

本地修改代码 → git push    ↓GitHub Actions 自动执行:    ├── 编译代码    ├── 运行测试    ├── 发布项目    └── 通过 SSH 推送到服务器并重启    ↓部署完成(无需手动操作)

6.2 配置 SSH 免密登录(为 CI/CD 准备)

CI/CD 工具需要能够通过 SSH 连接到你的服务器,所以需要配置 SSH 密钥:

# 在本地电脑上生成部署专用的 SSH 密钥对ssh-keygen -t rsa -b 4096 -f ~/.ssh/deploy_key -C "ci-cd@yourdomain.com"# 将公钥添加到服务器的 authorized_keysssh-copy-id -i ~/.ssh/deploy_key.pub deploy@yourdomain.com# 测试连接ssh -i ~/.ssh/deploy_key deploy@yourdomain.com "echo 'CI/CD 连接成功'"

6.3 创建 GitHub Actions 工作流

在项目根目录创建 .github/workflows/deploy.yml

name: Deploy to Production# 触发条件:推送到 main 分支时on:  push:    branches: [ main ]jobs:  deploy:    runs-on: ubuntu-latest    steps:      # 步骤 1:检出代码      - name: Checkout code        uses: actions/checkout@v4      # 步骤 2:安装 .NET SDK      - name: Setup .NET        uses: actions/setup-dotnet@v4        with:          dotnet-version: 8.0.x      # 步骤 3:还原依赖      - name: Restore dependencies        run: dotnet restore      # 步骤 4:编译(Release 模式)      - name: Build        run: dotnet build --no-restore -c Release      # 步骤 5:运行测试      - name: Test        run: dotnet test --no-build -c Release      # 步骤 6:发布      - name: Publish        run: dotnet publish -c Release -o ./publish      # 步骤 7:通过 SSH 部署到服务器      - name: Deploy to Server        uses: appleboy/scp-action@v0.1.7        with:          host: ${{ secrets.SERVER_HOST }}          username: ${{ secrets.SERVER_USER }}          key: ${{ secrets.SERVER_SSH_KEY }}          source: "./publish/*"          target: "/home/www/myproject/publish"          strip_components: 2          rm: true      # 步骤 8:重启服务      - name: Restart Application        uses: appleboy/ssh-action@v1.0.3        with:          host: ${{ secrets.SERVER_HOST }}          username: ${{ secrets.SERVER_USER }}          key: ${{ secrets.SERVER_SSH_KEY }}          script: |            sudo chown -R deploy:deploy /home/www/myproject/publish            sudo chmod -R 755 /home/www/myproject/publish            sudo systemctl restart mywebapi            sleep 3            curl -s http://localhost:5000/health

6.4 配置 GitHub Secrets

在 GitHub 仓库中配置以下 Secrets(Settings → Secrets and variables → Actions):

Secret Name
说明
SERVER_HOSTyourdomain.com
 或 123.123.123.123
服务器域名或 IP
SERVER_USERdeploy
部署用户
SERVER_SSH_KEY~/.ssh/deploy_key
 的内容
SSH 私钥(粘贴完整内容)

添加 Secrets 步骤

  1. 打开 GitHub 仓库 → Settings → Secrets and variables → Actions
  2. 点击 "New repository secret"
  3. 输入名称和值
  4. 点击 "Add secret"

6.5 简化版部署脚本(替代 GitHub Actions)

如果你不想用 GitHub Actions,也可以用我们之前创建的部署脚本,配合 Git Hooks 实现自动部署:

# 在服务器上设置 Git Hooks 自动部署sudo tee /home/www/myproject/source/MyWebApi/.git/hooks/post-merge << 'EOF'#!/bin/bashecho "检测到代码更新,开始自动部署..."bash /home/www/myproject/deploy.shEOFsudo chmod +x /home/www/myproject/source/MyWebApi/.git/hooks/post-merge

七、域名绑定后更新 Nginx 配置

绑定域名后,需要更新 Nginx 配置中的 server_name

# 更新 Nginx 配置中的 server_namesudo tee /etc/nginx/sites-available/myproject << 'EOF'server {    listen 80;    listen [::]:80;    server_name yourdomain.com www.yourdomain.com;    # ========== 日志 ==========    access_log /var/log/nginx/myproject_access.log;    error_log /var/log/nginx/myproject_error.log;    # ========== 静态文件 ==========    location /static/ {        alias /home/www/myproject/static/;        expires 30d;        add_header Cache-Control "public, immutable";    }    location /uploads/ {        alias /home/www/myproject/static/uploads/;        expires 7d;    }    # ========== 反向代理 ==========    location / {        proxy_pass http://127.0.0.1:5000;        proxy_http_version 1.1;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header X-Forwarded-Proto $scheme;        proxy_set_header Upgrade $http_upgrade;        proxy_set_header Connection keep-alive;        proxy_connect_timeout 60s;        proxy_send_timeout 60s;        proxy_read_timeout 60s;        client_max_body_size 100m;    }}EOF# 测试配置并重新加载sudo nginx -t && sudo systemctl reload nginx

八、完整验证

域名和 HTTPS 配置完成后,做一次全面验证:

# ========== DNS 解析 ==========echo "=== DNS 解析 ==="ping -c 2 yourdomain.comnslookup yourdomain.com# ========== HTTP 访问 ==========echo "=== HTTP 访问 ==="curl -I http://yourdomain.com# 应该返回 301 跳转到 HTTPS# ========== HTTPS 访问 ==========echo "=== HTTPS 访问 ==="curl -I https://yourdomain.com# 应该返回 200 OK# ========== SSL 证书 ==========echo "=== SSL 证书 ==="curl -vI https://yourdomain.com 2>&1 | grep -E "SSL handshake|issuer|subject"# 或者使用 opensslopenssl s_client -connect yourdomain.com:443 -servername yourdomain.com < /dev/null 2>/dev/null | openssl x509 -noout -dates# ========== API 接口 ==========echo "=== API 接口 ==="curl https://yourdomain.com/healthcurl https://yourdomain.com/api/test# ========== 安全头 ==========echo "=== 安全头 ==="curl -sI https://yourdomain.com | grep -i "strict-transport-security"

九、常见问题

❓ Q1:域名解析后无法访问网站

原因:DNS 解析未生效、Nginx 未配置正确的 server_name、防火墙未放行。

排查步骤

# ① 检查 DNS 是否解析到正确的 IPping yourdomain.com# 如果 IP 不对,去域名注册商检查 DNS 记录# ② 检查 Nginx 是否配置了你的域名sudo nginx -T | grep server_name# 应该能看到 yourdomain.com# ③ 检查防火墙是否放行 80/443 端口sudo ufw status | grep -E "80|443"# ④ 检查云平台安全组是否放行 80/443# 登录云平台控制台 → 安全组 → 入方向规则

❓ Q2:Certbot 申请证书失败 "DNS problem: NXDOMAIN"

原因:域名还没有正确解析到服务器 IP。

解决方案

# 确认域名解析已生效dig yourdomain.com +short# 如果返回的是你的服务器 IP,说明解析正常# 如果返回空或错误的 IP,等待 DNS 生效或检查 DNS 记录# DNS 解析可能需要 10 分钟到 48 小时不等# 可以先用临时域名测试,或者等解析生效后再申请

❓ Q3:HTTPS 配置后网站显示 "不安全"

原因:混合内容(Mixed Content)问题,页面中加载了 HTTP 资源。

解决方案

# 检查你的页面中是否引用了 HTTP 资源# 常见问题:图片、CSS、JS 链接使用了 http:// 而不是 https://# 修复方法:# ① 将所有资源链接改为 https:// 或使用 // 协议相对路径# ② 在 Nginx 中添加 Content-Security-Policy 头add_header Content-Security-Policy "upgrade-insecure-requests";# ③ 或者在 HTML 的 head 中添加:<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

❓ Q4:Let's Encrypt 证书续期失败

# 检查续期日志sudo tail -f /var/log/letsencrypt/letsencrypt.log# 手动续期调试sudo certbot renew --dry-run -v# 常见原因:# ① 80 端口被防火墙拦截# ② Nginx 配置错误导致验证请求被拒绝# ③ 域名解析异常# 强制手动续期sudo certbot certonly --nginx -d yourdomain.com

❓ Q5:GitHub Actions 部署失败

排查步骤

# ① 检查 SSH 密钥是否正确# 在 GitHub Secrets 中确认 SERVER_SSH_KEY 是否包含完整的私钥内容# 私钥以 -----BEGIN OPENSSH PRIVATE KEY----- 开头# ② 检查服务器是否能接受 SSH 连接ssh -i ~/.ssh/deploy_key deploy@yourdomain.com# 如果连接不上,检查:#   - 服务器防火墙是否放行了 22 端口#   - 云平台安全组是否放行了 22 端口#   - deploy 用户的 authorized_keys 是否包含了公钥# ③ 检查 deploy 用户的 sudo 权限# 在 GitHub Actions 中的重启命令需要 sudo 权限# 确认 deploy 用户有 sudo 权限且无需密码:sudo visudo# 添加以下行:# deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart mywebapi# deploy ALL=(ALL) NOPASSWD: /usr/bin/chown -R deploy:deploy /home/www/myproject/publish# deploy ALL=(ALL) NOPASSWD: /usr/bin/chmod -R 755 /home/www/myproject/publish

❓ Q6:备案审核被驳回

常见驳回原因

驳回原因:网站名称不符合要求  解决方案:网站名称不能是"个人网站""我的网站"等泛称  应使用具体的名称,如"IT在线自学""张三的技术博客"驳回原因:主体信息不完整  解决方案:检查身份证信息是否与备案信息一致驳回原因:域名信息不一致  解决方案:确认域名实名认证的信息与备案主体信息一致驳回原因:核验单填写有误  解决方案:重新下载核验单,按要求填写并上传

❓ Q7:CDN 配置后网站访问异常

# ① 清除 CDN 缓存# 在 CDN 控制台操作# ② 临时绕过 CDN 直接访问源站curl -H "Host: yourdomain.com" http://服务器IP/health# ③ 检查 CDN 回源配置# 确认回源地址和端口正确# ④ 如果使用 Cloudflare,开启 Development Mode 临时绕过缓存# Cloudflare 控制台 → Speed → Development Mode

十、总结

至此,你的网站已经具备了专业级生产环境的所有要素!

本文要点回顾:

第四篇:域名绑定、HTTPS 证书与 CI/CD 自动化├── ✅ 域名购买与 DNS 解析│   ├── A 记录指向服务器 IP│   └── 验证解析生效├── ✅ ICP 备案说明│   ├── 国内服务器必须备案│   └── 免备案方案(海外服务器)├── ✅ HTTPS 配置│   ├── Let's Encrypt 免费证书│   ├── Certbot 自动续期│   └── SSL 安全最佳实践├── ✅ CDN 加速(可选)│   ├── 全站 CDN vs 静态资源 CDN│   └── Cloudflare 免费 CDN├── ✅ CI/CD 自动化部署│   ├── GitHub Actions 工作流│   ├── SSH 密钥配置│   └── 自动编译、测试、部署└── ✅ 常见问题排查    ├── DNS 解析问题    ├── SSL 证书问题    ├── CI/CD 连接问题    └── 备案问题

下一篇预告:《Linux 从零部署项目实战指南(五):性能优化、监控与日志》我们将配置性能监控、日志收集、告警通知,让服务器运行状态一目了然。同时总结整个系列,形成一个完整的部署运维知识体系。


如果你在操作过程中遇到任何问题,欢迎在评论区留言交流!

📌 本系列持续更新中,关注 IT在线自学 第一时间获取最新教程。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 19:12:41 HTTP/2.0 GET : https://f.mffb.com.cn/a/508125.html
  2. 运行时间 : 0.414274s [ 吞吐率:2.41req/s ] 内存消耗:4,563.52kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2fb3f0ca35b9729907b1286c87951eda
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000911s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001517s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.002788s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000773s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001508s ]
  6. SELECT * FROM `set` [ RunTime:0.010735s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001664s ]
  8. SELECT * FROM `article` WHERE `id` = 508125 LIMIT 1 [ RunTime:0.036501s ]
  9. UPDATE `article` SET `lasttime` = 1787310761 WHERE `id` = 508125 [ RunTime:0.010146s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000690s ]
  11. SELECT * FROM `article` WHERE `id` < 508125 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001248s ]
  12. SELECT * FROM `article` WHERE `id` > 508125 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.005644s ]
  13. SELECT * FROM `article` WHERE `id` < 508125 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.056483s ]
  14. SELECT * FROM `article` WHERE `id` < 508125 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.022354s ]
  15. SELECT * FROM `article` WHERE `id` < 508125 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.093315s ]
0.417940s