摘要: 场景1 小型Web/App应用, 企业官网等静态展示网站 对于小型Web/APP应用, 在上线初期访问量会维持在一个较低的水平, 可以先采购一台较低配置的通用型主机, 将应用程序, 代码, 配置文件, 静态文件, 甚至数据库都部署在此服务器上, 无需复杂的架构, 即可实现应用的上线 随着业务的增加, 阅读全文
posted @ 2019-12-13 15:26 cjw1219 阅读(235) 评论(0) 推荐(0) 编辑
摘要: nginx基于uwsgi部署Django (单机搭建) 参考链接: 安装nignx 安装依赖包 安装uwsgi,django 创建django项目 创建app 修改myapp/settings.py myapp是django项目的主目录 修改myapp/urls.py 修改 myapp/web/vi 阅读全文
posted @ 2019-12-05 00:20 cjw1219 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 自动化运维工具 shell脚本 ansible saltstack 服务器部署的流程 服务器 安装操作系统 环境部署 软件部署 配置部署 启动服务 加入集群 Ansible基础架构 Ansible安装配置 准备机器 管控节点安装ansilbe ssh部署公钥到被管控节点 ansible 命令格式 s 阅读全文
posted @ 2019-12-05 00:18 cjw1219 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 什么是nginx nginx 是一个开源且高性能, 可靠的Http web服务, 代理服务, 负载均衡 开源: 直接获取源代码 高性能: 高并发 可靠: 服务稳定 轻量: 占用资源少 常见的HTTP Web服务 httpd 由apache基金会 IIS 微软服务器版 GWS google开发 Ope 阅读全文
posted @ 2019-12-04 01:33 cjw1219 阅读(356) 评论(0) 推荐(0) 编辑
摘要: Devops 是什么 一种共同协作的理念 狭义指 和`运维`的协作 广义指的是参与软件过程生命周期中的所有角色, 包括 , , , 参与软件开发过程中的所有角色 为什么要有devops 本质上提高代码质量, 提升产品质量, 通过 把所有人为重复性的工作自动化 来完成 如何提高产品质量 自动化测试 ( 阅读全文
posted @ 2019-12-02 02:12 cjw1219 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 容器间的互连 启动一个容器 在启动一个容器并进入容器内, 通过 连接上一个容器, 可以查看到 参数可以在容器内多添加一条本地反向dns解析的字符串 在容器外查看容器的IP地址 使用docker运行zabbix server 启动一个空的Mysql服务器实例 启动Zabbix server实例,并关联 阅读全文
posted @ 2019-12-02 02:10 cjw1219 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 手动制作docker镜像 手动制作openssh的docker镜像 启动一个容器, 安装服务 把刚才安装好服务的容器, 提交为镜像 docker commit 测试 前台启动sshd服务, 会夯住 输入 ssh root@192.168.221.10 1222, 成功登陆 手动制作http和ssh的 阅读全文
posted @ 2019-11-27 01:27 cjw1219 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 什么是容器 容器就是在隔离的环境里面执行的命令产生的一个进程, 如果进程停止, 容器就会销毁。 容器运行的隔离环境有系统文件,ip地址, 主机名等。 容器和虚拟化的区别 kvm虚拟化 需要硬件的支持, 需要模拟硬件(CPU, 网卡, 内存等), 可以运行不同的操作系统, 启动时间分钟级(走开机启动流 阅读全文
posted @ 2019-11-26 20:25 cjw1219 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 监控组件之间的关系 微信报警 第一步: 注册企业微信 企业微信注册网址(如果有直接登陆即可) "https://work.weixin.qq.com" API接口文档 https://work.weixin.qq.com/api/doc 90000/90003/90487 在企业微信中需要获取知道的 阅读全文
posted @ 2019-11-25 14:58 cjw1219 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 什么是监控, 为什么需要监控 监控: 监视, 控制 随着用户的增多, 服务器随时可能会被OOM(out of memory), 内核为了防止系统崩溃, 就会杀进程来释放内存 当系统的内存不足的时候, 会触发OOM 当swap分区被大量占用, 系统会特别卡 压力测试工具, 测出网站的瓶颈 并发 单位时 阅读全文
posted @ 2019-11-24 13:55 cjw1219 阅读(438) 评论(0) 推荐(0) 编辑
摘要: Xadmin安装 第一步: 下载 https://github.com/sshwsfc/xadmin/archive/master.zip 解压缩, 得到xadmin文件夹, 复制到项目的extra_apps 在Django中的根目录下创建python package, 命名为extra_apps 阅读全文
posted @ 2019-11-23 18:53 cjw1219 阅读(307) 评论(0) 推荐(1) 编辑
摘要: 序列化 什么是序列化 得到一个序列的结果(字符串) 字典/列表/数字/对象 序列化 字符串 为什么要序列化 1. 要把内容写入文件需要使用序列化 2. 网络传输数据时候需要用到序列化 什么是反序列化 字符串 反序列化 字典/列表/数字/对象 序列化方法 json 序列化 序列化字典 输出结果 说明: 阅读全文
posted @ 2019-11-15 00:18 cjw1219 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 目录结构 采集资产信息(硬盘, 主板, 网卡) 唯一标识 sn号 只能采集物理机+接口 主机名 需要用规则和流程去规范化, 在服务器装机时候主机名就定义了 流程: 每台主机上需要有一个文件去保存主机名, 所以分2种情况 没有文件 新增的机器 汇报到api 新增到数据库 api 的响应消息中有主机名 阅读全文
posted @ 2019-11-14 12:13 cjw1219 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 介绍 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式 功能 logger 模块不能做这些事情 自动生成 阅读全文
posted @ 2019-11-13 18:56 cjw1219 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 客户端 类的调用 最后2者的输出结果是一样的, 因为无论是Disk对象还是Memory对象, 他们的属性 指向的都是response这个对象, 所以最后的值是由最后一次赋值的结果 TypeError: Object of type 'Response' is not JSON serializabl 阅读全文
posted @ 2019-11-13 00:39 cjw1219 阅读(492) 评论(0) 推荐(0) 编辑
摘要: python入门(一) 编程语言的分类 机器语言 汇编语言 高级语言 对比 变量 内存回收机制 变量的三大组成 比较 pycharm IDE集成开发环境 python入门(二) 变量的命名规范 常量 python2 和 python 3区别 注释 基本数据类型 为何数据要区分类型 有哪些数据类型 任 阅读全文
posted @ 2019-11-08 12:05 cjw1219 阅读(175) 评论(0) 推荐(0) 编辑
摘要: VMware vmware 模块“Disk”启动失败 解决方案: 打开你存放虚拟机系统硬盘的所在文件夹,注意,是硬盘文件,不是虚拟机的安装目录,也就是你建立虚拟机的时候设置的位置。 然后以下面关键字搜索这个文件夹:*.lck 我这里找到了三个,删除即可,删除后,就不再提示上面第一个图的错误了: MY 阅读全文
posted @ 2019-11-06 22:16 cjw1219 阅读(1681) 评论(0) 推荐(0) 编辑
摘要: 批量插入数据 分页 导入模块 from django.core.paginator import Paginator,EmptyPage Paginator 实现分页功能,跳转到那一页默认情况下需要通过浏览器手动输入 EmptyPage: 跳转到那一页默认情况下需要通过浏览器手动输入,如果输入的页数 阅读全文
posted @ 2019-11-06 01:44 cjw1219 阅读(317) 评论(0) 推荐(0) 编辑
摘要: http协议四大特性 1. 基于TCP/IP作用于应用层的协议 2. 基于请求响应 3. 无状态: 同一个客户端发送多次请求没有任何关联 4. 无连接 会话跟踪技术 多次请求之间记录消息来弥补http无状态保存的缺点(使多次请求有联系)、 cookie 具体一个浏览器针对一个服务器存储其消息的键值对 阅读全文
posted @ 2019-11-06 01:28 cjw1219 阅读(371) 评论(0) 推荐(0) 编辑
摘要: F与Q查询 Django 提供 F() 来做这样的比较。F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值。 F查询 查询卖出数大于库存数的商品 将所有商品的价格提高100块 将所有商品的名字后面都加上一个爆款 Q查询 查询价格是288.88并且名字是衣服同款爆款的 阅读全文
posted @ 2019-11-06 01:16 cjw1219 阅读(357) 评论(0) 推荐(0) 编辑