YangBlog YangBlogDemo 地址技术栈实现功能待完成更新 20171206感谢使用模块部署方法 介绍
YangBlog
- Tornado Blog
Demo 地址
技术栈
-
基于 Py3 + Tornado
-
前端框架 Bootstrap + JQuery
-
富文本编辑框 bootstrap-wysiwyg
-
字体图标 Font Awesome
-
按钮 Buttons
-
图片存储 QiniuYun 对象存储
-
画图使用 matplotlib
实现功能
-
/admin/login 登录,使用Tornado的secure_cookie 认证
待完成
更新 20171206
-
/admin/index 管理页面主页,展示服务器状态,目前仅Linux可用,
-
/admin/article 由原来的index迁移到此路由,管理文章
-
/admin/tag 管理tag
-
/admin/profile 管理个人资料
-
/admin/blog 管理博客的基本设置
-
/admin/flink 管理友链设置
-
先完成这些吧,暂时不会经常更新了
感谢
-
开源软件
-
Qiniu云的免费对象存储
使用模块
-
qiniu
-
matplotlib
部署方法
-
config.py 中填写自己的qiniu对象存储的ACCESS_KEY,SECRET_KEY,BUCKET_NAME,BASE_STATIC_URL
-
使用 python app.py 启动,建议使用supervisor 管理程序运行
-
脚本如下
import pyMysqL.cursors
import datetime
import random
import subprocessconfig = {
‘host’:‘127.0.0.1’,
‘port’:3306,
‘user’:’root’,
‘password’:’‘,
‘db’:’blog’,
‘charset’:’utf8’,
‘cursorclass’:pyMysqL.cursors.DictCursor,
}def inster_data(status_data):
connection = pyMysqL.connect(**config)
try:
with connection.cursor() as cursor:
# 执行sql语句,插入记录
sql = ‘INSERT INTO serverstatus (cpu_load_1, cpu_load_5, cpu_load_15, mem, created_date, update_date) VALUES (%s, %s, %s, %s, %s, %s)’
cursor.execute(sql, (status_data[‘cpu’][0], status_data[‘cpu’][1], status_data[‘cpu’][2], status_data[‘mem’], datetime.datetime.Now(), datetime.datetime.Now()));
# 没有设置默认自动提交,需要主动提交,以保存所执行的语句
connection.commit()
finally:
connection.close()ret = subprocess.check_output(“uptime |awk -F ‘average:’ ’{print $2}’“,shell=True)
ret = ret.decode(‘utf-8’).replace(‘ ’, ’‘).strip(‘\n’)
cpu_status_data = ret.split(‘,’)
ret = subprocess.check_output(“free -m|awk ’/Mem/{print $NF}’“,shell=True)
ret = ret.decode(‘utf-8’).replace(‘ ’, ’‘).strip(‘\n’)
mem_status_data = ret
save_status = {‘cpu’:cpu_status_data,’mem’: mem_status_data}print(save_status)
inster_data(save_status)
YangBlog YangBlogDemo 地址技术栈实现功能待完成更新 20171206感谢使用模块部署方法 官网
https://github.com/lgphone/YangBlog
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。