基于Flask的个人博客搭建

前言

源码可直接运行,支持markdown语法,支持邮箱注册,任何问题均可参考《Flask Web开发:基于Python的Web应用开发实战》。

博客网址:http://www.unrealblue.cc
项目地址:https://github.com/linanwx/unrealblue-blog

效果预览

基于Flask的个人博客搭建_第1张图片
image.png
基于Flask的个人博客搭建_第2张图片
markdown语法
基于Flask的个人博客搭建_第3张图片
登录
基于Flask的个人博客搭建_第4张图片
首页

部署过程

首先为了验证程序功能,需要在本机上部署,之后使用nginx反向代理工具,可以将端口号暴露出去,这样其他人就可以在公网访问你的博客了,之后在服务器进行同样的步骤。具体过程如下。

  1. 安装virtualenv python虚拟环境,pip install virtualenv 或者 pip3 install virtualenv 。然后使用virtualenv在一个合适的目录,例如在该项目下面建立venv环境virtualenv venv
  2. 激活virtualenv环境,运行venv目录下的activate,. venv/bin/activate, 注意点的位置,之后你会看到命令行前面多了(venv)这个标记。
  3. 在虚拟环境下安装所有requirements.txt中的模块, pip3 install -r requirements.txt。如果安装太慢,你可能需要配置pip的国内源。更改pip源的方法参见pip官方页面。
  4. 导入坏境变量,在项目目录下创建文件 env ,输入如下字段:
  • [email protected] (服务器发验证码用的邮箱,开启了smtp服务的邮箱账号,程序里默认使用qq邮箱,修改config文件可成其它类型邮箱)
  • MAIL_PASSWORD=password (上面邮箱的密码,注意qq邮箱使用特殊16位专用密码)
  • [email protected] (服务器运行后,使用该邮箱创建账号就是管理者)
  • MAIL_SERVER=smtp.qq.com(邮箱服务器地址)
  • [email protected](发送人)
  1. 安装数据库迁移。输入以下命令
  • python manager.py db init (使用init命令创建迁移仓库,此时会多出 migrations 文件夹)
  • python manager.py db migrate -m "initial migration"(migrate命令用来自动创建迁移脚本)
  • python manager.py db upgrade(更新数据库,第一次使用该命令会新建一个数据库data-dev.sqlite)
  1. 部署程序, python manager.py deploy
  2. 在本地运行程序, python manager.py runserver打开 http://127.0.0.1:5000 端口查看,按Ctrl+C退出程序。
  3. 如果在服务器运行,要保留数据,则可以复制数据库 migrations 文件夹以及数据库 data-dev.sqlite 到服务器,然后使用 ./venv/bin/gunicorn -w 4 -b 127.0.0.1:8080 manager:app 此时应该可以查看8080端口显示了网页,且该端口是暴露外网的。在本地浏览器输入服务器地址,此时就可以看到博客了。

你可能感兴趣的:(基于Flask的个人博客搭建)