django搭建一个小型的服务器运维网站

前言

  不管是运维还是开发抑或是测试,工作中不免会和Linux服务器打交道,常见的操作譬如:查看CPU或内存状态、查看和修改服务器时间、查看或者修改服务器配置文件、实时查看或回看系统的日志、重启服务器中某个进程等。如果不在服务器旁,一般会选择利用Xshell这样的远程SSH工具登陆到服务器去执行所需操作。如果有一个Web工具,该工具将会很方便的给目标用户提供服务,对于开发来说,可以更注重自己代码本身,对于运维而言可以方便直接的知道服务器的状态,对于测试人员而言,提高测试的效率。
  本人在开发这个基于django的Web工具前并没有网站开发经验,都是摸着石头过河,所以在开发过程中遇到很多的问题,并且逐个解决并达成需求,其中也直接拿来一些代码复用。这些文章中会包含一些前端的技术(websocket、ajax、路由)和一些后端的小模块(paramiko、openid、webserver、MySQL),在这些小零件的拼凑中又会衍生很多小的细节和方法。此篇文章会做一个回顾,虽然很多功能有更好的实现方法,里面涉及的技术难度也不大,但是也希望能够帮助到有需求的童鞋。

内容介绍

  文章默认读者已经具备了django的开发经验,文章直接略过了纷繁的初学内容,直接开始小项目,主要内容包括:

  1. 拿来即用的bootstrap模板
  2. 服务器SSH服务配置与python中paramiko的使用
  3. 用户登陆与session;
  4. 最简单的实践之修改服务器时间
  5. 查看和修改服务器配置与数据库的路由
  6. 基于websocket的实时日志实现
  7. 查看服务器中的日志与前端的datatable的利用
  8. 重启服务器进程

  这些功能其实都很简单,就像搭积木一样,关键是遇到和解决的问题是否可以让需要的童鞋少走一点弯路。网站风格如下图1和图2所示(这里是主页面,没有截登陆界面和其他功能界面):

图1 登陆界面

图2 服务器Web工具.png

源码

环境

  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中找到适合的。

猜你喜欢

转载自www.cnblogs.com/homehtml/p/11958380.html
今日推荐