个人博客系统开发
 

Django-Hexo

本blog系统基于国光大佬基于 Hexo 重写的 django 项目模板二次开发 源项目链接:https://github.com/sqlsec/Django-Hexo-Matery

更新清单

  • 支持docker容器部署
  • 使用了以前博客的数据库字段
  • 修改归档接口
  • 修改搜索接口
  • 添加redis对登录session和文章mkdown解析缓存
  • editor编辑器图片上传路径调整
  • 封面图片支持url链接地址
  • 添加文章编辑按钮
  • 添加自定义url
  • 自定义站点设置
  • 修复原有项目页面bug
  • 全局变量文件调整
  • 后台设置站点信息(待调试)

后期更多内容见https://gitee.com/attacker/django-hexo/blob/master/README.md

新建数据库

CREATE database wy_web CHARACTER SET utf8; -- 创建库
CREATE USER  'admin'@'%' identified by 'passL1ve!';  -- 创建用户
GRANT ALL PRIVILEGES ON wy_web.*  TO 'admin'@'%' WITH GRANT OPTION; --  数据库赋权 ;WITH GRANT OPTION 选项表示可以将自己拥有的权限授权给别人,可不加
flush privileges; -- 刷新权限

settings.py 配置文件

# 数据库配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'wy_web',
        'USER': 'admin',
        'PASSWORD': 'passL1ve!',
        'HOST': '192.168.0.102'

    }
}

# django-redis缓存
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {"max_connections": 100},
            # "PASSWORD": "密码",
        }
    }
}

docker 方式启动

sudo docker run --name blog -d \
 --restart=always \
 -p 8000:8000 \
 -e DB_HOST=attacker.club \
 -e DB_PORT=3306 \
 -e DB_USER=admin \
 -e DB_PASSWORD='pass123456' \
 -e DB_NAME=blog \
 lghost/blog
# 启动容器

docker logs -f blog
# 打印日志

本地部署启动

bash run.sh dev 
# 开发调试

bash run.sh prod
# 部署线上

备注

prod默认使用supervisord 启动,没有的话化切换到nohup启动

run.sh # 启动脚本

  which  supervisord
  if [ $? -eq 0 ]; then
    pkill supervisord
    supervisord
  else
    echo "Supervisord not installed"
    nohup  python manage.py runserver 0.0.0.0:8000 > /tmp/blog.log &
  fi

# prod环境如果没有安装supervisord守护进程,默认用nohop来启动

文章:

后台管理:

自定义设置:


文章作者: 以谁为师
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源!

  目录