基于Python+Flask的简单博客应用。

SongZihuan 4d20f7de6c feat: 添加许可证 2 年之前
aliyun b792948252 feat: 允许阿里云OSS通过ACL公共读访问 2 年之前
app 24233462b7 fix: 修改删除博文的反馈错误 2 年之前
configure f0bc981366 style: 修复拼写错误 2 年之前
object 65b274bfeb feat: 加入HBlog相关API 2 年之前
send_email 4dc526d5c0 feat: 自定义sender 2 年之前
sql f0bc981366 style: 修复拼写错误 2 年之前
static 7a76ab8f02 feat: 文字列表使用bootstrap卡片 2 年之前
templates 57183cb8cb feat: 优化评论界面的间距 2 年之前
.dockerignore 28ab152c3d feat: 新增docker支持 3 年之前
.gitignore a75ab4e201 git: 忽略log文件夹 2 年之前
.gitmodules 1cba7a3cb1 fix: editor模块使用https 2 年之前
Dockerfile 4613290e74 feat: 增加gunicorn支持 3 年之前
LICENSE 4d20f7de6c feat: 添加许可证 2 年之前
README.md 60fd89b76f docx: 修改README.md文件 2 年之前
gunicorn.conf.py 5331092786 fix: 修复gevent和ssl一起使用的错误 2 年之前
init.sql 8447cdf2f2 feat: 去除视图archive_with_count 2 年之前
main.py 05ce05beb9 refactor: 环境变量重命名为HBLOG_CONF 2 年之前
requirements.txt b11a2f8f38 feat: 使用连接池 2 年之前

README.md

HBlog

介绍

HBlog是基于Python和Flask的博客系统。

  • 具有博文、博文评论、博文归档的功能。
  • 具有博客留言的功能。
  • 访客注册、角色管理的功能。
  • 文件存储的功能。
  • 具有管理员管理后台。

部署

下载

$ useradd hblog -m
$ git clone https://github.com/SuperH-0630/HBlog.git /home/hblog/.HBlog

下载依赖

$ sudo -u hblog python3.10 -m pip install -r /home/hblog/.HBlog/requirements.txt --user
$ sudo -u hblog python3.10 -m pip install gunicorn gevent --user

配置

创建配置文件etc/hblog/conf.json,配置文件内容如下:

{
  "DEBUG_PROFILE": false,
  "SECRET_KEY": "随机密钥",

  "BLOG_NAME": "",
  "BLOG_DESCRIBE": "",
  "INTRODUCE": {
    "介绍的名称": "可任意创建更多介绍"
  },
  "INTRODUCE_LINK": {
    "连接名称": "可任意创建更多连接"
  },
  "ABOUT_ME_PAGE": "about_me.html静态页面的地址",
  "FOOT": "页脚信息",

  "MYSQL_URL": "",
  "MYSQL_PORT": 3306,
  "MYSQL_NAME": "",
  "MYSQL_PASSWD": "",
  "MYSQL_DATABASE": "",

  "REDIS_HOST": "",
  "REDIS_PORT": 6379,
  "REDIS_NAME": "",
  "REDIS_PASSWD": "",
  "REDIS_DATABASE": 0,

  "CACHE_REDIS_HOST": "",
  "CACHE_REDIS_PORT": 6379,
  "CACHE_REDIS_NAME": "",
  "CACHE_REDIS_PASSWD": "",
  "CACHE_REDIS_DATABASE": 0,

  "MAIL_SERVER": "SMTP服务地址",
  "MAIL_PORT": 465,
  "MAIL_USE_TLS": false,
  "MAIL_USE_SSL": true,
  "MAIL_USERNAME": "",
  "MAIL_PASSWORD": "@0630",
  "MAIL_SENDER": "名字 <发件人地址>",

  "USE_ALIYUN": true,
  "ALIYUN_KEY": "阿里云OOS的账号Key",
  "ALIYUN_SECRET": "",
  "ALIYUN_BUCKET_ENDPOINT": "",
  "ALIYUN_BUCKET_IS_CNAME": false,
  "ALIYUN_BUCKET_NAME": "",
  "ALIYUN_BUCKET_USE_SIGN_URL": false,

  "LOG_LEVEL": "debug",
  "LOG_HOME": "log",
  "LOG_SENDER": true,

  "LOGO": "Logo的文件名,存储在static目录的相对路径",
  "ICP": {
    "备案的域名": "ICP备案"
  },
  "GONG_AN": {
    "备案的域名": "公安备案"
  }
}

静态AboutMe.html页面

一个普通的HTML页面,必须包含<div class="about-me"> </div>,这部分内容会被显示在博客上。

创建systemd服务文件

[Unit]
Description=HBlog server on 8080
After=network.target auditd.service

[Service]
User=hblog
Group=hblog
WorkingDirectory=/home/hblog/.HBlog/
ExecStart=python3.10的路径 -m gunicorn -c /home/hblog/.HBlog/gunicorn.conf.py main:app --preload -b 0.0.0.0:8080
Type=simple
Environment="HBLOG_CONF=/etc/hblog/conf.json"
 
[Install]
WantedBy=multi-user.targe

样例博客

我的博客就是用HBlog搭建的,访问:是桓的小窝