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 ...
随机推荐
- CentOS 7.6 RPM方式安装Oracle19c的过程
1. 下载需要的安装包: 1.1 preinstall http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/orac ...
- tomcat启动失败的三种方法
Tomcat启动失败的解决办法 1. 重复映射 用eclipse开发时,用Eclipse开发,新建了的servlet会有一个url-pattern声明: 这样就不需要再在web.xml中添加映射,如果 ...
- Linux命令学习(0)
作为一名前端,可能接触到linux的机会并不多,但这不代表就不需要学.对我而言,学习linux主要是为了方便部署我的项目到服务器,我并没有花时间去学这些,只是上网查怎么部署项目,然后按教程一步一步来, ...
- [2019上海网络赛J题]Stone game
题目链接 CSLnb! 题意是求出给定集合中有多少个合法子集,合法子集的定义为,子集和>=总和-子集和$\& \&$子集和-(子集的子集和)<=总和-子集和. 其实就是很简 ...
- C++中的析构顺序和cosnt对象
1,当程序中存在多个对象的时候,如何确定这些对象的析构顺序? 2,单个对象创建时构造函数的调用顺序(工程经验总结): 1,调用父类的构造过程: 2,调用成员变量的构造函数(调用顺序与声明顺序相同): ...
- ajax实现异步请求模态登陆
ajax实现模态登陆 j2ee课程项目实现 Ajax 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML),是指一种创 ...
- Java创建二叉树
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/yeweiouyang/article/details/37814461 二叉树的值保存在数组中,以0 ...
- Pose &&Get的区别
从一个页面转向另一个页面的请求方式有两种,Post和Get. 如果从原理上来探究他们的区别,涉及到Http传输协议的细节,本文不加探究,只讨论一下表象. 1.Post传输数据时,不需要在URL中显示出 ...
- Ubuntu 14.04 下的MAC OS X 主题安装
Ubuntu 14.04 下的MAC OS X 主题安装 安装 MAC OS X 主题会帮助你的 Ubuntu 14.04 看起来更像MAC OS X.在这里我们介绍的Macbuntu安装包包含了GT ...
- R语言模型选择之精度准则与最大值法问题
在模型选择中我们一般用caret包train函数建立模型,并对模型进行评判 方法1: ) tr_control<-trainControl(method = ) # 创建随机森林模型 model ...