精华内容
下载资源
问答
  • 运维日记

    2020-09-18 16:56:09
    1、migrate次数过多 https://blog.csdn.net/cf313995/article/details/84342187 2、uwsgi报错链接库 https://www.cnblogs.com/dbf-/p/11031910.html 3、安装mysqlclient 4、mysql初始化

    1、migrate次数过多

    https://blog.csdn.net/cf313995/article/details/84342187

    2、uwsgi报错链接库

    https://www.cnblogs.com/dbf-/p/11031910.html

    3、安装mysqlclient

    4、mysql初始化

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql' WITH GRANT OPTION;

    mysql -u root -p

     

    ##解决跨域、配置VUE

     第四步,配置访问规则或白名单:

    # 允许所有域名跨域(优先选择)
    CORS_ORIGIN_ALLOW_ALL = True

    # 或配置白名单:

     
    1. # CORS_ORIGIN_WHITELIST = (

    2. # '*'

    3. # # '127.0.0.1:8000',

    4. # # 'localhost:8000',

    5. # # '127.0.0.1:8080',

    6. # # 'localhost:8080',

    7. # # 'ads-cms-api.aataotao.com:8000' #

    8. # # 'taoduoduo-test.oss-cn-shenzhen.aliyuncs.com:80', # 线上

    9. # # '10.0.2.187:8080' # 本地

    10. # )

     第五步,允许携带cookie:

    CORS_ALLOW_CREDENTIALS = True

    4.注意一个重要问题:

    如果使用了nginx,注意正确配置.

    sudo vim /usr/local/nginx/conf/nginx.conf

     location / {

         proxy_pass 127.0.0.1:8000/;

    }

    6、restfulframework静态文件不显示

            # 指定静态文件路径
            location /static {
            alias /data/datav2/static;
            }

     

    展开全文
  • 运维日记

    2021-04-06 14:57:20
    我的运维日记本 记录我日常运维的琐事和相关的技术分享 运维日记:为实际新建网络项目中的新交换机升级

    我的运维日记本

    记录我日常运维的琐事和相关的技术分享

    运维日常

    Juniper与Junos

    VMware

    展开全文
  • 运维日记

    2020-11-03 17:13:08
    运维日记一 文章目录运维日记一前言一、基础环境 前言 提示:这里记录一些工作时候遇到的一些坑,以及选择架构搭建是的考虑等等 一、基础环境 基础环境是微软云提供的,所以一些可能我认为是默认已安装的工具实际...

    运维日记一


    前言

    提示:这里记录一些工作时候遇到的一些坑,以及选择架构搭建时的考虑等等

    一、基础环境

    基础环境是微软云提供的,所以一些可能我认为是默认已安装的工具实际上普通创建的虚拟机要手动安装

    以前部署服务的方式采取的是微服务 + DOCKER-COMPSOE 的方式来部署,就是利用 YAML 文件做规范。
    那时候的负载均衡器用的是 nginx-proxy,基于 nginx 做的扩展,GITHUB 上的一个开源项目,对于单节点服务部署是比较友好的,支持热更新,自动服务发现,配合 letsencrypt 的一个组件,可以自动发布证书文件支持 HTTPS 访问方式,日志和监控都没有。
    将服务的域名访问方式配置在 nginx-proxy 后端中的时候遇到了一些问题:
    DOCEKRFILE 文件中如果指定了 expose 的端口,那么 nginx-proxy 的 virtualPort 就不能是其他的端口,否则会报上游服务 down 的错误。
    这里我当时有一个误区,因为对于 DOCKER 方式运行的容器来说,容器之间的端口是都可以访问的,完全开放,所以如果 DOCKERFILE 中没有指定 expose 字段,那么应用运行时所在的端口可以直接指定为 nginx-proxy 的虚拟端口,但是如果 expose 端口被指定,比如说是 80 端口,那么应用运行的端口和虚拟端口都必须是 80,否则 nginx-proxy 无法访问。
    这里更新了一个更新的问题,因为对于应用来说有的时候只是需要测试一些比较小的更新,但是不希望用 docker-compose restart 这种方式来做更新了,因为这样会停掉所有的容器再重启是有一段时间无法访问的,如果更新失败了更麻烦,导致每次都要深夜更新。
    当时的需求应该是在 nginx-proxy + docker-compose 这一套架构下能不能实现一个服务自动发现以及应用热更新的问题,现在想来,既然 nginx-proxy 挂载的是 docker.sock 文件,那么单节点的服务自动发现应该本身就是已经实现了,而且额外还有一个更新 nginx 配置文件 default.conf 后能后自动重新加载的功能,组合起来就是单节点模式下自动发现容器的实时更新并且更新访问列表。在当时应该已经实现了这个需求。
    所以应用更新会停止服务的问题并不是由于 nginx-proxy 引起的,对于 docker-compose 来说,一个服务对应一个容器,我无法启动容器副本的功能来接收访问流量,并且由于只有一个容器所以更新的时候还是需要停掉服务来更新,这也是刚开始的时候提出的需求,当时我以为是由于 nginx-proxy 的问题,思考后发现其实 nginx-proxy 有对应的功能,所以问题在于 docker-compose,我们需要至少两个容器并且启用滚动更新来保证服务不会中断。这个时候需要的就是容器编排工具,docker swarm 和 kubernetes。鉴于时间精力和开发者的熟悉程度等因素,先选用的是 docker swarm,其实我自己的话更倾向于直接上 K8S。
    Docker-compose 和 docker swarm 其中一点不同是对于 service 这个概念的理解,docker-compose 中 service 就是一个容器,一对一,而 docker swarm 的 service 指的是一组容器副本,一对多,所以 docker swarm 中提供了对 service 进行更新的功能,这里的更新就是容器的滚动更新,配置好更新策略后只需要用 docker service update --force 的命令就可以实现容器的不停机更新了。
    初始化 docker swarm 后,理所当然的加上了多节点的配置用于服务扩容,但是这时候 nginx-proxy 出现了问题,之前说过 nginx-proxy 是使用挂载 docker.sock 文件的方式监听 docker info 的信息从而获取到容器的状态更新,但是这种方式只能适用于单节点的 docker 引擎更新,因为 docker swarm 是使用集群数据库的方式保存整个集群的状态的,docker.sock 只保存单点更新信息,所以 nginx-proxy 是无法胜任多节点负载均衡器的功能的,并且其作者也无意去实现,虽然 GITHUB 上有类似的功能扩展,但是 star 数量并不多,更多的开发者推荐使用 TRAEFIK 作为多节点集群的边缘路由器。
    TRAEFIK 在 GITHUB 上的 star 数量远远超出其他几款边缘路由器,得益于它的高度扩展,适配各种环境以及性能优越,可配置等等首屈一指,所以当时也选用 TRAEFIK + docker swarm 作为新的基础架构。
    关于这些组件的部署过程我看情况可能整理一些文档出来,现在看来确实是很简单,但是当时部署的时候也花了挺多的时间,有些坑的。
    解决了多节点的边缘路由器的问题,此时已经实现的是以域名方式无需后缀端口访问服务,自动服务发现,应用热更新,多节点,多副本集群,还有 TRAEFIK 提供数字证书给网站然后可以以 HTTPS 方式访问。
    再然后的需求是日志与监控,日志又分成容器内生成的日志文件以及容器本身的日志,也就是用 logs 命令可以查看的日志数据,因为两者的收集方式是不同的所以需要不同的方式来收集,当时考虑的是 EFK 或者 ELK 通过配置文件规则来分别收集,监控使用的是 PROMETHUS + GRAFANA 的方式收集展示。
    EFK:kibana,logstash,elasticsearch,fluented
    ELK:kibana,logstash,elasticsearch,filebeat
    由于 ELK 中的 logstash 本身太大而且功能与 fluented,filebeat 高度重合所以使用这二者来代替减少资源损耗。filebeat 的方式是实现成功了,而 fluentd 由于本身并不支持 log 类型的文件收集,所以需要编写规则文件来收集,尝试没有成功。
    后来由于 ELF 的架构的资源损耗还是太大,对于只有少数节点的集群来说并不适用所以在建议下使用了 LOKI 和 docker driver + grafana 的组合来做日志工具,LOKI 由于将 elasticsearch 的数据处理,时间排序,多副本排序等等移除后,成为了 “轻量型日志工具”,但是实质上 LOKI 仅仅只能作为一个时序数据库,并且无法处理多副本的日志,这会导致日志乱序输出的问题,仅能适用于 docker swarm 单副本的情况下查看容器日志。
    监控工具的选择就是经典的 prometheus + grafana,已经支持容器方式部署了,都是比较方便的。

    展开全文
  • SQLSERVER 运维日记-数据库状态 背景 新年伊始,小伙伴是不是还处于假期综合症的状态。我们在日常运维数据库的时候,会时常查看数据库的状态,检查数据库是否正常运行。对于这些状态的熟悉对于我们处理数据库无法...

    SQLSERVER 运维日记-数据库状态

    背景

    新年伊始,小伙伴是不是还处于假期综合症的状态。我们在日常运维数据库的时候,会时常查看数据库的状态,检查数据库是否正常运行。对于这些状态的熟悉对于我们处理数据库无法访问的

    问题非常重要。当数据库突然变成一个你没有见到过的状态时,你就会非常慌乱,手足无措。这里给小伙伴普及下数据库的各个状态。已经他们是怎么转换的

     

    案例

     

    前两天在处理一个客户问题,突然某个数据库无法访问了。数据库下面的表也无法查看。从SSMS界面上看数据库是正常的状态(就是数据库名字后面没有显示特别的状态)。查看

    SYS.DATABASES 查看状态列,发现是ONLINE。此时其他数据库是正常的,就这个库有问题。肯定是数据库状态不对。 那么问题出在哪里呢? 仔细观察发现这个问题的数据库 collation_name 是null 值。

    原来问题在这,

    刚刚联机的数据库不一定马上能接受连接。 要确定数据库何时可以接受连接,可以查询 sys.databases 的 collation_name 列或 DATABASEPROPERTYEX 的 Collation 属性。 在数据库排序规则返回非 Null 值之后,数据库就可以接受连接了。

     

    于是用命令把数据库设置为脱机,然后马上联机,再查看sys.databases 的 collation_name 列 变成了非null值。此时数据库恢复正常。

     

     

    状态的转换

    数据库有很多状态。他们是如何在这些状态之间进行切换的呢?下面这个图非常清晰的标示了各个状态的切换。在我刚学习数据库的时候,这个图给了我很大的帮助,

    让我对数据库各个状态的转换有了很清楚的认识。

     

     

    ONLINE (在线) 

    数据库可正常运行

    RESTORING (正在还原)

    数据库正在还原,当我们还原数据库使用NORECOVERY 模式时,数据库就会变成该状态

    RECOVERING (正在恢复)

    数据库启动,数据库创建,ALTER ONLINE,RESTORE WITH RECOERY 时,会经过这个状态,进行REDO,UNDO等操作。此时如果遇到问题就进入RECOVERY_PENDING。如果正常就会变成ONLINE。

    RECOVERY_PENDING(等待恢复)

    数据库在还原时遇到跟资源相关的错误,表明还原进程被挂起,数据库不能开始数据库的数据和日志的还原进程,这种情况下,最可能的原因是丢失数据文件或日志文件。

    SUSPECT  (置疑)

    数据库可能损坏了

    EMERGENCY (紧急)

    供DBA用来修复数据库的状态

    OFFLINE (脱机)

    离线状态

     

    总结

    了解数据库处于的状态非常重要。我们如果还不熟悉的小伙伴可以看看。

     

    作者:Owen Zeng

    出处:https://www.cnblogs.com/OwenZeng/

    如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

    展开全文
  • 运维日记004 - 关于开发和运维的点滴感悟我是一个末流大学的教师,为了不至于因为长期脱离工业界而导致能力退化,成为只会在课堂上满嘴跑火车而实际上百无一用的超级卢瑟,我找到了一家互联网公司从事兼职,从最初的...
  • 运维日记013 - Linux下的压缩工具在Windows下很多人已经习惯了用winzip或者winrar进行文件的打包压缩,而在Linux下打包和压缩通常是分开进行的。Linux下有专门的打包工具和压缩工具,压缩工具通常只能处理一个文件,...
  • Oracle运维日记

    2020-03-10 18:20:06
    最近实验室一直的一个运维项目频频在Oracle上出错,想着错误还挺典型,做一个记录,以供后续参考学习使用。 运维记录 1. ORA-01000: 超出打开游标的最大数 问题描述:需要开多进程遍历对象集合,并且将对象数据...
  • 运维日记:为实际新建网络项目中的新交换机升级 新手初入这个行业记录记录一下第一次参加项目的过程 一、关于机房 进入机房又要穿鞋套,还不能带水,机房很热,但是机柜里边有很冷,所以穿衣服要注意,机房里面可是...
  • 觉人间 万事到秋来 都摇落 主要参考mysql官方手册,mysql版本:mysql Ver 8.0.12 for osx10.14 on x86...mysql运维日记(一):安装与配置 安装 mysql的安装一般都是用yum/apt/brew等命令安装,线上环境也有专门的...
  • 运维日记012 - Linux下的tar命令Tar是Linux下的“打包工具”。所谓“打包”,就是将多个目录或者文件打包成一个大文件。而且tar命令还可以通过调用gzip/bzip2等压缩命令将打包文件进行压缩。Tar的本意是TAp aRchive...
  • 运维日记010 - Linux下的链接文件

    千次阅读 2016-08-11 19:21:51
    运维日记010 - Linux下的链接文件几个基本概念Linux下的链接文件可以分为硬链接(hard link)与软链接(soft link)。要理解它们,必须先要理解几个基本概念。 inode 文件除了纯数据本身之外,还必须包含有对这些纯...
  • 运维日记020- Linux下netstat命令的使用方法Linux下的netstat命令用于显示各种网络相关信息,如网络连接,路由表等。输出信息的含义# netstat激活Internet连接 (w/o 服务器) Proto Recv-Q Send-Q Local Address ...
  • 美创科技运维日记|关于Oracle补丁体系及其迭代阶段 之前一起熟悉了Oracle数据库的软件版本、服务周期,今天我们一起来了解下,Oracle发布的基础版本之上,常说的补丁到底是什么?Oracle补丁体系及其迭代阶段。 ...
  • MySQL运维日记

    2018-05-18 18:36:19
     原则一:正常的运维影响正常的业务访问  数据库备份  表修改  热点数据频繁访问 --水平拆分,减少锁粒度  原则二:表设计不合理,需要对某些字段进行垂直拆分  原则三:某些数据表出现无穷增长的情况  原则...
  • mysql运维日记

    2018-05-04 18:51:00
     原则一:正常的运维影响正常的业务访问  数据库备份  表修改  热点数据频繁访问 --水平拆分,减少锁粒度  原则二:表设计不合理,需要对某些字段进行垂直拆分  原则三:某些数据表出现无穷增长的...
  • 我的运维日记

    2017-07-11 21:36:37
    运维工作如何能做的更好
  • 运维日记| MySQL/Oracle深度解析之一:逻辑读 原创: 吕海波 新运维新数据 今天 各位新朋友~记得先点蓝字关注我哦~ 前言 THE FIRST 比较数据库优劣、异同的文章有很多了,使用压测工具,进行不同压力下的测试,就...
  • 运维日记015 -- RHEL6救援模式的使用

    千次阅读 2016-10-27 21:29:54
    运维日记015 – RHEL6救援模式的使用在Linux下一般有两种情况需要进入救援模式:一种是文件系统损毁,另一种是忘记root用户密码及grub密码。本文以RHEL6为例说明救援模式的使用。1、进入grub菜单界面,选择rescue...
  • 运维日记014 - RHEL6启动及初始化相关总结几个与内核版本和运行级别相关的命令 如何查看redhat的版本号 文件/etc/redhat-release保存了当前redhat发行版的版本号。$ cat /etc/redhat-release Red Hat Enterprise ...
  • k8s运维日记

    2021-01-22 19:49:03
    目录 k8s部署和应用 4 一. Ansible脚本部署 4 1.Yum install epel-release -y 4 yum install git python-pip -y 4 安装bug收集 4 二. K8s的dashboard登录和使用 4 三....四....五....六....七....八....2.共享主机网络占
  • 运维日记011 - Ubuntu下更改初始用户名的方法引子Ubuntu每两年一次发布的LTS版本都会倍加引入关注,因为LTS版本有长达五年的支持周期,对于我等不是太喜欢折腾尝鲜而是希望几年之内不用重装系统的用户颇有吸引力。...
  • 运维日记016 – RHEL6基础网络配置总结Linux下的基础网络配置主要包含网卡IP地址、网卡别名、子网掩码、网关以及DNS等的配置,以使得Linux主机可以和网络上的其他主机互联互通。以下对相关内容做一总结。网卡名称...
  • 运维日记018 – Linux下的cron定时任务管理当最小化安装RHEL6后,定时器服务crond已经安装并默认开启了。定时器crond这个服务使得系统可以安排定时任务。# chkconfig --list | grep crond crond 0:关闭 1:关闭 2:...
  • 运维日记009 - 认识Linux上的桑巴舞——Samba什么是Samaba?在现代的办公局域网络中,大部分的工作站使用的是Windows系统,而这类机器没有使用NFS Server的能力。Windows系统之间使用Microsoft和IBM合作开发的SMB...
  • 运维日记003-那些曾经令人头痛的乱码“回车”与”换行“在Linux上用vi编辑好的文件,传给别人的Windows电脑上后,打开发现所有的文字都变成了一行;反之,Windows系统上编辑好的文本文件,拿到Linux上也会出现问题。...
  • 运维日记002-extundelete恢复Linux系统误删除的文件关于extundeleteextundelete是一个用来恢复ext3/ext4分区的文件的工具。它会利用分区中的日志信息尝试恢复被删除的文件。但是,并非每个被删除的文件都能确保被...
  • 运维日记019 – Linux下使用at执行定时任务在Linux中cron机制适宜于处理周期性执行的规律工作,但如果仅仅想把任务安排在某个预定时间执行一次,则应该用at。at既可以接收来自stdin的命令,也接收预先写在文件中的...
  • 运维日记005 - vim操作总结(一)vim是一款功能超级强大的文本编辑器,需要学习的东西很多,是Linux下程序员的至爱。作为一名运维人员,主要是用vim编辑一些配置文件和书写脚本程序,掌握vim的一些基本的操作及其...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,071
精华内容 828
关键字:

运维日记