ddrwode 976e9afa88 哈哈
2026-02-09 17:56:23 +08:00
2026-02-09 14:18:42 +08:00
2026-02-09 16:52:28 +08:00
2026-02-09 16:52:28 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 14:18:42 +08:00
2026-02-09 14:28:56 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 14:28:56 +08:00
2026-02-09 16:52:28 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 14:18:42 +08:00
2026-02-09 16:52:28 +08:00
2026-02-09 16:52:28 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 14:18:42 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 14:18:42 +08:00
2026-02-09 14:18:42 +08:00
2026-02-09 14:18:42 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 15:02:31 +08:00
2026-02-09 14:18:42 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 17:56:23 +08:00
2026-02-09 16:52:28 +08:00

云服务器价格对比 (VPS Price)

云服务器 VPS 价格对比网站:支持后台手动添加/编辑数据、广告位Google AdSense、SEO 优化、每条数据跳转官网。

功能

  • 前台:多厂商 VPS 方案对比表,按厂商/区域/内存筛选,人民币/美元切换,每条可点击「官网」跳转
  • 后台:登录后添加、编辑、删除云服务器方案,支持填写官网链接
  • 广告位:页头、表格上方、页脚三处占位,可接入 Google AdSense
  • SEOmeta 描述/关键词、canonical、Open Graph、sitemap.xml、robots.txt、JSON-LD 结构化数据

运行

# 安装依赖
pip install -r requirements.txt

# 首次运行:初始化数据库并导入示例数据
python init_db.py

# 开发时直接跑
python app.py
# 或
python main.py

生产环境Gunicorn 后台常驻Ubuntu systemd

让 gunicorn 一直在后台运行,断线自启、开机自启:

1. 安装 gunicorn

cd /opt/vps_price   # 或你的项目目录
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install gunicorn

2. 创建 systemd 服务

sudo nano /etc/systemd/system/vps_price.service

粘贴下面内容,/opt/vps_price/opt/vps_price/venv 改成你实际的项目路径(若用 root 跑可把 User=www-data 改为 User=root

[Unit]
Description=VPS Price Gunicorn
After=network.target

[Service]
Type=notify
User=www-data
Group=www-data
WorkingDirectory=/opt/vps_price
Environment="PATH=/opt/vps_price/venv/bin"
ExecStart=/opt/vps_price/venv/bin/gunicorn -w 4 -b 127.0.0.1:5001 app:app
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

3. 启用并启动

sudo systemctl daemon-reload
sudo systemctl enable vps_price
sudo systemctl start vps_price
sudo systemctl status vps_price

之后 gunicorn 会一直后台运行,重启服务器也会自动起来。常用命令:

  • 查看状态:sudo systemctl status vps_price
  • 重启:sudo systemctl restart vps_price
  • 看日志:journalctl -u vps_price -f

环境变量(可选)

变量 说明 默认
ADMIN_PASSWORD 后台登录密码 admin123
SECRET_KEY Flask 会话密钥 开发用固定值
SITE_URL 站点完整 URLSEO、sitemap https://example.com
DB_HOST MySQL 主机 199.168.137.123
DB_PORT MySQL 端口 3309
DB_USER MySQL 用户名 vps
DB_NAME MySQL 数据库名 vps
DB_PASSWORD MySQL 密码 (见 config.py
DATABASE_URL 完整数据库连接串(若设置则优先于上述 DB_* 由 DB_* 拼成 MySQL URI

生产环境请务必设置 ADMIN_PASSWORDSECRET_KEYSITE_URL,并妥善保管 DB_PASSWORD

当前默认站点域名:https://vps.ddrwode.cn(可通过环境变量 SITE_URL 覆盖)。

UbuntuNginx + HTTPSLet's Encrypt

Ubuntu 服务器上按顺序执行即可为 vps.ddrwode.cn 启用 HTTPS。

1. 安装 Nginx 和 Certbot

sudo apt update
sudo apt install nginx certbot python3-certbot-nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

2. 先写 Nginx 配置(只开 80方便 Certbot 验证域名)

sudo nano /etc/nginx/sites-available/vps.ddrwode.cn

写入(确保本机 Flask/gunicorn 已监听 5001 端口):

server {
    listen 80;
    server_name vps.ddrwode.cn;
    location / {
        proxy_pass http://127.0.0.1:5001;
        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;
    }
}

保存后启用并检查、重载:

sudo ln -sf /etc/nginx/sites-available/vps.ddrwode.cn /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

3. 申请 HTTPS 证书(自动改 Nginx 为 443

sudo certbot --nginx -d vps.ddrwode.cn

按提示输入邮箱、同意条款;选「重定向 HTTP 到 HTTPS」即可。Certbot 会自动加上 443 和证书路径。

4. 确认访问

  • 打开:https://vps.ddrwode.cn
  • 证书会自动续期(certbot renew),可加定时任务:sudo certbot renew --dry-run

项目根目录下的 deploy/nginx-vps.ddrwode.cn.conf 为上述配置的参考副本,便于你复制到服务器。

接入 Google 广告

  1. Google AdSense 注册并获取广告代码。
  2. 打开模板 templates/index.html,找到三个 ad-slot 区域(id="ad-slot-1"ad-slot-2ad-slot-3)。
  3. 将注释中的示例替换为你的 AdSense 代码,或把获得的 <script><ins> 粘贴到对应 div 内。

广告位位置:页头横幅、表格上方、页脚前。

项目结构

vps_price/
├── app.py              # Flask 应用、路由、后台
├── config.py           # 配置(含环境变量)
├── models.py           # 数据库模型 VPSPlan
├── init_db.py          # 初始化 DB + 导入示例数据
├── requirements.txt
├── templates/
│   ├── index.html      # 首页(含 SEO、广告位
│   └── admin/
│       ├── login.html
│       ├── dashboard.html
│       └── plan_form.html
└── static/
    ├── css/style.css
    ├── css/admin.css
    └── js/main.js

SEO 说明

  • metadescription、keywords、canonical、Open Graph
  • sitemap/sitemap.xml(需在线上将 SITE_URL 设为真实域名)
  • robots/robots.txt 允许抓取并指向 sitemap
  • JSON-LDWebApplication + Table 结构化数据,便于搜索引擎理解

价格与官网链接以各云厂商为准,后台可随时修改。

Description
No description provided
Readme 1.1 MiB
Languages
Python 35.5%
HTML 28%
JavaScript 21%
CSS 15.5%