django搭建一个小型的服务器运维网站
前言
不管是运维还是开发抑或是测试,工作中不免会和Linux服务器打交道,常见的操作譬如:查看CPU或内存状态、查看和修改服务器时间、查看或者修改服务器配置文件、实时查看或回看系统的日志、重启服务器中某个进程等。如果不在服务器旁,一般会选择利用Xshell这样的远程SSH工具登陆到服务器去执行所需操作。如果有一个Web工具,该工具将会很方便的给目标用户提供服务,对于开发来说,可以更注重自己代码本身,对于运维而言可以方便直接的知道服务器的状态,对于测试人员而言,提高测试的效率。
本人在开发这个基于django的Web工具前并没有网站开发经验,都是摸着石头过河,所以在开发过程中遇到很多的问题,并且逐个解决并达成需求,其中也直接拿来一些代码复用。这些文章中会包含一些前端的技术(websocket、ajax、路由)和一些后端的小模块(paramiko、openid、webserver、MySQL),在这些小零件的拼凑中又会衍生很多小的细节和方法。此篇文章会做一个回顾,虽然很多功能有更好的实现方法,里面涉及的技术难度也不大,但是也希望能够帮助到有需求的童鞋。
内容介绍
文章默认读者已经具备了django的开发经验,文章直接略过了纷繁的初学内容,直接开始小项目,主要内容包括:
- 拿来即用的bootstrap模板;
- 服务器SSH服务配置与python中paramiko的使用;
- 用户登陆与session;
- 最简单的实践之修改服务器时间;
- 查看和修改服务器配置与数据库的路由;
- 基于websocket的实时日志实现;
- 查看服务器中的日志与前端的datatable的利用;
- 重启服务器进程。
这些功能其实都很简单,就像搭积木一样,关键是遇到和解决的问题是否可以让需要的童鞋少走一点弯路。网站风格如下图1和图2所示(这里是主页面,没有截登陆界面和其他功能界面):
源码
环境
python版本:python2.7
django版本:python-django-1.11
数据库:Mysql
MySQL_python连接库:https://pan.baidu.com/s/14WpD... 密码:0h5h
源码
网站的源码链接:https://pan.baidu.com/s/1uix-... 密码:j4sw
DASHGUM前端模板:https://pan.baidu.com/s/1FHCX... 密码:bo8d
用法
本地把网站跑起来需要改改下列这些地方。
settings中的服务器登陆配置:
有私钥的需要把私钥放在WebTool/WebTool下面:
在functions中修改一些服务器路径和命令行:
结语
这个小项目用到的技术并不多,但是基本上可以实现和服务器的交互,都是通过网站调用python中的paramiko模块和服务器交互。虽然网站的功能不多,但是其中的交互思路可以举一反三写出更多的功能页(例如:CPU,内存预警等等),有些复杂的服务器功能最好是在服务器中写好shell脚本供给网站后台调用,前端的部件基本都可以在DASHGUM中找到适合的。
django搭建一个小型的服务器运维网站的更多相关文章
- django搭建一个小型的服务器运维网站-查看和修改服务器配置与数据库的路由
目录 项目介绍和源码: 拿来即用的bootstrap模板: 服务器SSH服务配置与python中paramiko的使用: 用户登陆与session; 最简单的实践之修改服务器时间: 查看和修改服务器配 ...
- django搭建一个小型的服务器运维网站-拿来即用的bootstrap模板
目录 项目介绍和源码: 拿来即用的bootstrap模板: 服务器SSH服务配置与python中paramiko的使用: 用户登陆与session; 最简单的实践之修改服务器时间: 查看和修改服务器配 ...
- django搭建一个小型的服务器运维网站-查看服务器中的日志与前端的datatable的利用
目录 项目介绍和源码: 拿来即用的bootstrap模板: 服务器SSH服务配置与python中paramiko的使用: 用户登陆与session; 最简单的实践之修改服务器时间: 查看和修改服务器配 ...
- django搭建一个小型的服务器运维网站-用户登陆与session
目录 项目介绍和源码: 拿来即用的bootstrap模板: 服务器SSH服务配置与python中paramiko的使用: 用户登陆与session; 最简单的实践之修改服务器时间: 查看和修改服务器配 ...
- django搭建一个小型的服务器运维网站-重启服务器的进程
目录 项目介绍和源码: 拿来即用的bootstrap模板: 服务器SSH服务配置与python中paramiko的使用: 用户登陆与session; 最简单的实践之修改服务器时间: 查看和修改服务器配 ...
- 10分钟搭建一个小型网页(python django)(hello world!)
10分钟搭建一个小型网页(python django)(hello world!) 1.安装django pip install django 安装成功后,在Scripts目录下存在django-ad ...
- 谈谈我的windows服务器运维管理
我们开发的页游General War(http://gw.gamebox.com)上线运营也有半年多了,服务器的开发到运维基本都由我一手包办,在服务器上线之后我们又招了一个程序员接手后续功能的开发,而 ...
- 线上Linux服务器运维安全策略经验分享
线上Linux服务器运维安全策略经验分享 https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&a ...
- 《DevOps故障排除:Linux服务器运维最佳实践》读书笔记
首先,这本书是Linux.CN赠送的,多谢啦~ http://linux.cn/thread-12733-1-1.html http://linux.cn/thread-12754-1-1.html ...
随机推荐
- 【扩展事件】跟踪超过3秒的SQL
msdn 扩展事件:点击打开链接 转自:https://blog.csdn.net/yenange/article/details/52592814 -- 删除事件会话 IF EXISTS(SELEC ...
- java8--- (Function、Predicate、Consumer) 通用函数式接口
// public static void main(String[] args) throws InterruptedException { // https://blog.csdn.net/u01 ...
- springBoot 静态变量@value取不到值
在工具类中给静态变量初始化值,使用了springBoot的@Value注解,但是没有赋值成功,得到的是null @Value("${jdbc.url}")private stati ...
- Nginx 2.安装与部署配置
转 https://www.cnblogs.com/wcwnina/p/8728430.html > 下载 官方网站:https://nginx.org/en/download.html Win ...
- P3158 [CQOI2011]放棋子(dp+组合数)
P3158 [CQOI2011]放棋子 放棋子的顺序和方案数无关,所以可以从按颜色递推 设$f[u][p][k]$为放到第$u$种颜色,所剩空间$p*k$的方案数 $g[u][i][j]$表示第$u$ ...
- c# WPF SVG 文件的引用(SharpVectors)
原文:c# WPF SVG 文件的引用(SharpVectors) 阿里巴巴矢量图标库提供了大量的 SVG 图标:https://www.iconfont.cn/ 但是 WPF 本身不支持 SVG 格 ...
- Docker 安装、卸载、启动、停止
1.1 查看当前系统的内核版本 查看当前系统的内核版本是否高于 3.10 英文文档:https://docs.docker.com/ 中文文档:https://docs.docker-cn.com/ ...
- 原生JS滚动条位置处理
// 滚动条位置 var scrollPosition = { // 位置 result: 0, // 监听位置 rememberPosition: function () { var type = ...
- 七、ARM 指令集
7.1 数据处理指令 7.1.1 数据传送类 MOV 类指令:核内寄存器间的数据传送 加载和存储指令(L/S):核内寄存器与挂在存储器总线上器件的数据传送 注意: 核内寄存器就是 R0-R15 外设寄 ...
- Linux内核简介、子系统及分类
一.内核简介 内核:在计算机科学中是一个用来管理软件发出的数据I/O(输入与输出)要求的计算机程序,将这些要求转译为数据处理的指令并交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系 ...