flask-cyblog个人博客部署文档

flask-cyblog个人博客部署文档

  • 写在前面:
    使用python3.6 flask框架开发,前端框架bootstrap 使用了nix主题。
    项目地址:https://github.com/Ch3nYe/flask-cyblog

0x0 项目介绍

这是刚学习flask框架时的练习项目,其实就是东拼西凑来的。

  • 数据库可以使用mysql或者SQLite,下面部署方式为了简便使用后者。
  • 上线后初始用户名和密码是:master@xxx.com root
  • 项目经过测试centos和ubuntu都能部署
  • 需要的库都在requirements.txt中列出
目录结构

flask-cyblog
├─app
│ ├─admin # admin视图
│ ├─auth # auth视图
│ ├─main # main视图
│ ├─static # 静态文件
│ │ ├─css
│ │ ├─fonts
│ │ └─js
│ ├─templates # 静态html模板
│ │ ├─admin
│ │ └─auth
├─migrations
│ ├─versions
├─config.py # 配置文件
├─manage.py # 启动项

如何配置
  • config.py
    需要修改该自己的SECRET_KEY
  • template
    一些html’模板写死了我的留言,可自行修改
  • manage.py
    User.insert_admin()
    这一句是插入admin账号的配置,可自行修改,修改之后初始账号和密码就变了。

注[IMPORTANT]:登录页被我隐藏在页面最下面的ChenYe字样上了,点击可跳转至登录页!!!

0x1部署启动

  1. git clone 源码
  2. 在服务器配置环境,目前测试gunicorn 启动 稳定性和性能有待观察
  • 安装virtualenv:
    pip3 install virtualenv

  • 创建虚拟环境并指定PYTHON版本
    virtualenv venv --python=python3.6

  • 激活虚拟环境
    source venv/bin/activate

  • 可以通过以下命令退出虚拟环境
    deactivate

  • 删除虚拟环境(即为删除虚拟环境文件夹)
    rm -r venv

  • 安装需要的库(有待测试新版本库是否兼容)
    pip3 install -r requirements.txt

  • 在项目目录下生成上线数据库
    python manage.py deploy product
    也可以顺便生成15条测试数据,源码可以为指定条数
    python manage.py deploy test_data

  • 使用gunicorn启动app
    gunicorn -b 0.0.0.0:80 manage:app

  • 后台运行: nohup gunicorn -b 0.0.0.0:80 manage:app > out.file 2>&1 &

异常处理

80端口极有可能被apache或者其他应用占用,解决方法:

  1. 改为其他端口
  2. 停掉所有其他占用80端口的服务
    使用 sudo lsof -i:端口号 查看端口
    使用 sudo kill PID号 杀掉进程

有可能启动以后也无法访问,极有可能是防火墙的问题,可以先把防火墙关掉:
sudo ufw disable

0x2 停止gunicorn:

查看进程树
pstree -ap|grep gunicorn
2. 重启Gunicorn任务
kill -HUP 14226
3. 退出Gunicorn任务
kill -9 进程id

0x3 升级python3.5->python3.6 (不必要)

终端输入python3 -V ,查看版本

  • 挨个执行下面的命令升级
    sudo apt-get install software-properties-common
    sudo add-apt-repository ppa:jonathonf/python-3.6
    sudo apt-get update
    sudo apt-get install python3.6
    最后一条命令输入Y进行安装。
    再次输入python3 -V发现没有变化还是python3.5,还需要下面步骤
    输入
    which python3
    发现python3 路径
    我的是/usr/bin/python3
    cd /usr/bin/
    sudo rm python3 删除原先python3.5
    sudo ln -s python3.6 python3
    创建软链接
    更新 pip
    sudo apt-get install python3-pip
    再次输入 python3 -V
    这时候是python3.6
异常处理
  • 如果 pip 出现 No module named apt_pkg 错误
    sudo apt-get remove --purge python3-apt
    sudo apt-get install python3-apt

  • 如果出现ModuleNotFoundError: No module named ‘pip._internal’
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    python3 get-pip.py --force-reinstall

0x4 图片展示

外链图片转存失败
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值