开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
博客专区 - 开源中国社区

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

使用 Docker 搭建 Java Web 运行环境

原料 前提条件 首先,您要准备一个 CentOS 的操作系统,虚拟机也行。总之,可以通过 Linux 客户端工具访问到 CentOS 操作系统就行。 需要说明的是,Ubuntu 或其它 Linux 操作系统也能玩 Docker,只不过本文选择了以 CentOS 为例,仅此而已。 CentOS 具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS 内核: uname -r 如果执行以上命令后,输出的内核版本号低于 3.8,请参考下面的方法来来升级您的 Linux 内核。 对于 CentOS 6.5 而言,内核版本默认是 2.6。首先,可通过以下命令安装最新内核: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm yum -y --enablerepo=elrepo-kernel install kernel-lt 随后,编辑以下配置文件: vi /etc/grub.conf 将default=1修改为default=0。 最后,通过reboot命令重启操作系统。 重启后如果不出意外的话,再次查看内核,您的 CentOS 内核将会显示为 3.10。 如果到这里,您和我们所期望的结果是一致的。恭喜您!下面我们就一起来安装 Docker 了。 安装 Docker 只需通过以下命令即可安装 Docker 软件: ...
郑江江 发布于 7小时前 阅读 92

Iptables详解+实例

Iptabels是与Linux内核集成的包过滤防火墙系统,几乎所有的linux发行版本都会包含Iptables的功能。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则Iptables有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。 netfilter/iptables过滤防火墙系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信 息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。 虽然netfilter/iptables包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。 netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。 iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。 优点 netfilter/iptables的最大优点是它可以配置有状态的防火墙。有状态的防火墙能够指定并记住为发送或接收信息包所建立的连接的状态。防火墙可以从信息包的连接跟踪状态获得...
开源中国首席哲♂学家 发布于 2天前 阅读 195 评论 1 点赞 1

浅析Kubernetes Informer

kubernetes informer
Anzersy 发布于 4天前 阅读 78

CentOS7(mini) 安装 Kubernetes 集群(kubeadm方式)

## CentOS7(mini) 安装 Kubernetes 集群(kubeadm方式) #### 安装CentOS 1. 安装**net-tools** ``` bash [root@localhost ~]# yum install -y net-tools ``` 2. 关闭firewalld ``` bash [root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@localhost ~]# setenforce 0 [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config ``` #### 安装Docker > 如今[Docker](https://docs.docker.com/engine/installation/linux/docker-ce/centos/#install-docker-ce)分为了Docker-CE和Docker-EE两个版本,CE为社区版即免费版,EE为企业版即商业版。我们选择使用CE版。 1. 安装yum源工具包 ``` bash [root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 2. 下载docker-ce官方的yum源配置文件 ``` bash [root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/do...
ChamPly 发布于 5天前 阅读 272 评论 2

快速了解人工智能结晶之语音转换文字

科技解放生产力,人工智能的应用如今是大热,那么今天就来给各位介绍一下IBM在这方面的一个小的尝试,语音转换文字。咱们来看一看相较于传统的转换,结合Watson的IBM是如何做到让识别率飙升的。
IBM Bluemix

如何7步实现根据源码包创建rpm包

### 如何7步实现根据源码包创建rpm包 --- > 本文是"[7 Steps to Build a RPM Package from Source on CentOS / RedHat](http://www.thegeekstuff.com/2015/02/rpm-build-package-example/)"一文的简单翻译。 **version: 0.1.0 2017-11-19** 有时你可能需要获取一个开源应用的源码包,但是可能没有无法通过该应用的RPM文件来安装到系统。 在这种情况下,你既可以编译源码安装,也可以以源码包来创建一个rpm包文件,实现安装应用的功能。 同样存在一种情况即你想要创建一个你自己开发的自定义的RPM包。 这篇指南解释了如何提高源码来创建一个rpm包。 为了创建rpm包,你将需要源码包(通常为一个压缩文件,其内也包含了SPEC文件)。 SPEC文件包含以下说明:如何创建rpm包,包内包含的文件,安装的路径。 RPM将展现创建过程中的测试过程。 执行spec文件中的prep块中定义的系统命令和宏命令。 检测文件列表的内容 执行spec文件中的build块中定义的系统命令和宏命令。在这一步中文件列表中的宏命令也被执行。 创建二进制包文件 创建源码包文件 一旦RPM执行了上述步骤,将创建二进制的包文件和源码包文件。 二进制包文件包含所有安装或卸载包的额外信息的源文件。 通常安装包的所有...
Lu_Castiel 发布于 5天前 阅读 948 评论 7 点赞 2

处理Tomcat日志catalina.out日志文件过大的问题(第二种方法适合各种日志的切割)

一、采用cronlolog工具对日志拆分的方式处理该问题 1、下载cronolog工具,我下载的版本是cronolog-1.6.2 (yum安装:yum install cronolog) 2、将下载好的文件解压,tar xvzf cronolog-1.6.2.tar.gz 3、切换到解压后的文件目录下:cd cronolog-1.6.2 4、初始化和编译安装 ./configure --prefix=/usr/local/cronolog #make #make install #ln -s /usr/local/cronolog/sbin/* /usr/local/sbin/ 5、查看安装版本 #cronolog --version 6、修改tomcat的启动文件(tomcat目录/bin/catalina.sh) vi catalina.sh (1)修改输出日志路径 修改: if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out fi 为: if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out fi (2)删除生成日志文件 注释: touch "$CATALINA_OUT" 为: #touch "$CATALINA_OUT" (3)修改启动脚本参数(两项) 修改: org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&" 为: org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ | /usr/local/sbin/cronolog "$C...
Roles_乐 发布于 1周前 阅读 453 评论 2 点赞 1

【树莓派自动化应用实例】整点提醒自己休息五分钟

不过大部分手机闹钟都不支持这种以小时为单位的周期闹铃。所以,我以前每次都是都手动调整闹钟时间。总感觉有点 Low!于是,我就写了个简单的发邮件的 Lua 脚本,放到树莓派上作为一个shell命令使用;然后在每周一到周五的9点至23点整点各执行一次发邮件的操作。邮件是发到了我的 QQ 邮箱。收到QQ邮件后,左上角会有一个通知悬浮窗,体验比手机的震动声好了很多。
ios122 发布于 1周前 阅读 352 评论 2

漫画 :Apache Nginx80 端口争夺战

嗨,大家好,今天我们来聊聊 80 端口之战。著名的技术漫画站 turnoff.us 有这样的一副漫画,生动的描绘了固守 80 端口的 Apache 和新生代的 Nginx 之间的战争。你知道,80 端口是 Web 端口,就是这个端口构成了我们现在大部分的互联网。 作为新生代的 Nginx 对已经 22 岁之老的 Apache 说,“一边去,老头,这 80 口不用你看着了,你得给新人腾腾地方了!” 头顶羽毛(Apache 的 Logo 形象),身上的写着名字的牌子都是补上去的(a patch,即 Apache 这个词的出处)一脸懵逼,对小毛头 Nginx 说,“放尊重点,你觉得你已经能取代像我这样的老同志了吗?!” “哈?C10K 你解决了吗?事件驱动呢?这些你行吗?”Nginx 说。(C10K 指并发上万连接,由于服务器和网络性能的提升,现在的服务程序面临着处理更大并发的请求,而一些老旧的应用面对这种大量请求显然有点力不从心) “嗯,我可以给你一个‘小小’的列表,这都是我支持的模块……” Apache 顾左右而言它。 “这些都过时了!我猜它们根本就没人用过!” Nginx 看着那“小小”的列表,一脸嫌弃的反驳。(讲真,Apache 的很多模块你可能从未用过,尤其是那些内置的模块,而另外一些年久失修的第三方模块,甚至你都不知...
linuxCool 发布于 1周前 阅读 431 评论 4

Cyber-Security: Linux 容器安全的十重境界

容器安全解决方案需要考虑不同技术栈和容器生命周期的不同阶段。 - 1.容器操作系统与多租户 - 2.容器内容(使用可信源) - 3.容器注册 (容器镜像加密访问) - 4.构建过程安全 - 5.控制集群中可部署的内容 - 6.容器编排:加强容器平台安全 - 7.网络隔离 - 8.存储 - 9.API 管理, 终端安全和单点登录 (SSO) - 10.角色和访问控制管理
RiboseYim 发布于 1周前 阅读 65

苹果IPV6审核环境搭建——阿里云(IPV6+Tengine)

一、搭建步骤:          1、注册Tunnel broker          2、创建通道“Create Regular Tunnel”          3、创建ipv6隧道及路由          4、云主机启用ipv6          5、配置ipv6          6、AAAA解析(※)          7、ping测试及ipv6的DNS          8、nginx代理(※) 二、过程: 1、注册Tunnel broker:            https://www.tunnelbroker.net/register.php   2、创建通道“Create Regular Tunnel”:          ①、填写云服务器ip:          ②、选择Tunnel Servers:ping下对应server的ip,选择延时较小的节点          ③、点击Create Tunnel创建:   3、创建ipv6隧道及路由:     4、云主机启用ipv6:   cp -a /etc/modprobe.d/disable_ipv6.conf /etc/modprobe.d/disable_ipv6.conf_bak vi /etc/modprobe.d/disable_ipv6.conf     alias net-pf-10 off     #alias ipv6 off     options ipv6 disable=0 cp -a /etc/sysconfig/network /etc/sysconfig/network_bak vi /etc/sysconfig/network     NETWORKING_IPV6=yes vi /etc/sysc...
perofu 发布于 2周前 阅读 323 评论 1

RabbitMQ 集群与高可用配置

集群概述 通过 Erlang 的分布式特性(通过 magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服务为对等节点,即每个节点都提供服务给客户端连接,进行消息发送与接收。   这些节点通过 RabbitMQ HA 队列(镜像队列)进行消息队列结构复制。本方案中搭建 3 个节点,并且都是磁盘节点(所有节点状态保持一致,节点完全对等),只要有任何一个节点能够工作,RabbitMQ 集群对外就能提供服务。 环境 · CentOS 6.4,64位 · RabbitMQ 3.1.5 · HAProxy 1.4.22   RabbitMQ 集群安装在 3 个节点上:192.168.1.1、192.168.1.2、192.168.1.3; HAProxy 安装在 192.168.1.4 上,用于对外提供 RabbitMQ 均衡。   配置步骤 1. 安装 erlang、rabbitmq 在 192.168.1.1、192.168.1.2、192.168.1.3 三个节点上安装,然后开启 RabbitMQ 监控插件: rabbitmq-plugins enable rabbitmq_management 2. 修改 /etc/hosts 加入集群 3 个节点的描述: 192.168.1.1 node1 192.168.1.2 node2 192.168.1.3 node3   3. 设置 Erlang Cookie Erlang Cookie 文件:/var/lib/rabbitmq/.erlang.cookie。这里将 node1 的该文件复制到 node2、node3,由于这个文件权限是 400,所以需要先修改...
郑江江 发布于 3周前 阅读 463

lvm讲解,磁盘故障小案例

LVM讲解 一般流程:创建物理分区→物理卷→卷组→逻辑卷→格式化→挂载使用 准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别1G t 改变分区类型为8e 创建物理卷 命令pvcreate(physical volume create) pvcreate /dev/sdb1 pvcreate /dev/sdb2 pvcreate /dev/sdb3 pvdisplay 列出当前物理卷 pvremove /dev/sdb3 删除物理卷 在运行命令# pvcreate /dev/sdb1时,出现未找到命令,可以安装软件包,这里如果忘记软件包的名字,可以根据命令搜索软件包名称 搜索到正确软件包名称lvm2,然后安装完成 然后继续创建三个物理卷,再创建过程中,可能出现没有自动生成 /dev/sdb1文件,这是只要允许partprobe命令即可生成 然后创建,如果 /dev/sdb文件挂载在磁盘上,需要先卸载,再创建完成 物理卷创建完成后,可以用命令pvdisplay查看 还有命令pvs也可以查看,更直观 创建卷组 命令vgcreate(volume group create),命令vgremove删除卷组 创建完可以用命令vgdisplay和命令vgs查看信息 创建逻辑卷 命令lvcreate(logical volume create),用法lvcreate [选项] [参数] -L:指定逻辑卷的大小; -n:指定逻辑卷的名称。 格式化成ext4 挂载 扩容逻辑卷 lvresize -L 300M /dev/vg1/lv...
风流花生 发布于 3周前 阅读 205 点赞 1

lvm讲解、磁盘故障小案例

### lvm讲解 ``` DiskA 分区分别为Physical Volume1、Physical Volume2;DiskB 分区为Physical Volume3,在这里Physical volume1,2,3就是磁盘分区 也就是物理卷;然后由单个或多个物理卷组成物理卷组,最后在物理卷的基础上划分出逻辑卷,而逻辑卷格式化后挂载上就可以使用了 ``` #### 准备磁盘分区阶段 - fdisk /dev/sdb - 创建三个新分区,大小分别为2G - 改变分区类型为8e(fdisk中使用t更改类型) 1. 创建新分区 ``` //这里我创建了5个2G的分区,多出的2个留待测试用 [root@24centos7-01 /]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 //创建第一个分区 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-20971519,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2000M 分区 1 已设置为 Linux 类型,大小设为 2 GiB //创建第二个分区 命令(输入 m 获取帮助):n Partition type: p primary (1 primary, 0 ext...
vitus_feng 发布于 3周前 阅读 1283 评论 4 点赞 2

Linux时间同步(内外网/内网/外网)

内外网集群的时间同步① server端:可以访问外网的机器 client端:在内网里的机器 一、server端安装ntp校时包,修改独立主机 rm -rf /etc/localtime #先清除原有的链接文件 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区到东8区。 date -R #查看的时区设置。 接下来调整系统时间与时间服务器同步 Debian系统安装NTP校时包: 代码如下: apt-get install ntpdate #安装ntp CentOS系统安装NTP校时包: 代码如下: yum -y install ntpdate ntp #安装ntp Ubuntu系统安装NTP校时包: 代码如下: sudo apt-get install -y ntpdate ntp 二、server端修改/etc/ntp.conf配置文件 编辑 /etc/ntp.conf server cn.pool.ntp.org restrict default nomodifynotrapnoquery restrict 127.0.0.1   # 开启内部递归网络接口 lo restrict 192.168.9.0 mask 255.255.255.0 nomodify notrap #在内部子网里面的客户端可以 进行网络校时,但不能修改NTP服务器的时间参数 由于配置的是本地时间 ,所以还需要配置一个使用系统时钟作为时间源的NTP服务器,需要在/etc/ntp.conf文件中添加如下的记录: server 127.127.1.0 fudge 127.127.1.0 stratum 10 然后保存退出 接着输入...
Roles_乐 发布于 3周前 阅读 367

Cyber-Security:警惕Wi-Fi漏洞,争取安全上网

- 1、不可信任的基础设施:Wi-Fi - 2、安全通信协议:HTTPS - 3、历史遗留问题:DNS - 4、最后一英里的安全:VPN
RiboseYim 发布于 4周前 阅读 94

CentOS配置本地Yum源、阿里云Yum源、163Yum源、并配置Yum源的优先级

由于安装centos后的默认Yum源为centos的官方地址,所以在国内使用很慢甚至无法访问,所以一般的做法都是把默认的Yum源替换成aliyun的Yum源或者163等国内的Yum源(下文介绍如何配置)。  但是以上的方法都是需要网络的,当没有网络的时候就无法使用了,所以还有一个常用的方法就是用Centos的ISO镜像搭建本地Yum源,这样安装软件的速度就会飞快,缺点是可能有些包没有。
kangvcar 发布于 4周前 阅读 170

CentOS 7 安装 TinyProxy 代理服务器

米扑科技,是一家专注互联网金融和大数据挖掘的初创互联网公司,正式注册成立于2016年9月,总部位于北京市海淀区中关村核心功能区。 米扑团队,成员来自百度、小米、阿里、创新工场等一线互联网公司,核心技术研发,实战经验丰富,具有浓厚的极客精神和精益的工匠品质。   米扑代理,是米扑科技旗下的一款用于网页抓取、数据采集的代理产品,作为全球代理服务的领导品牌,产品优势如下: 1. 五年来,已经积累超过2000多万的海量代理库,每天可用代理5000个左右 2. 覆盖全球120多个国家,中国34个省市,支持国家批量筛选 3. 支持http、https、socks4、socks5等协议,总能满足您的需求 4. 拥有完全自主研发的代理检测核心引擎,技术研发实力雄厚 5. 拥有几十台云服务器,完全自主搭建的代理服务器,分布于全球十多个国家 6. 作为全球代理的企业级领导品牌,服务于全球5000多家企业客户,日均代理提取数超过10亿个 米扑代理官网:https://proxy.mimvp.com   米扑代理案例 杨小米,最近在公司做爬虫工作,采集股票金融数据,写程序抓取数据的过程并不像平常我们用浏览器打开网页那么简单! 大多数的金融数据网站为了自己站点的性能和数据安全都设置了各种反爬策略。最常见的反...
mimvp 发布于 1个月前 阅读 419

Apache下通过shell脚本提交网站404死链

网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名。   百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链、404页面)进行提交,可快速删除死链,帮助网站SEO优化。在提交死链的文件中逐个手动填写死链的话太麻烦,工作中我们提倡复杂自动化,所以本文我们一起交流分享Apache服务中通过shell脚本整理网站死链,便于我们提交。     1.配置Apache记录搜索引擎 Apache是目前网站建设最为主流的web服务,但是apache的日志文件默认是不记录百度、谷歌等各大搜索引擎的爬取程序的,所以首先需要我们设置Apache的配置文件。 找到Apache的配置文件httpd.conf,在配置文件中找到下面两行:   CustomLog "logs/access_log" common #CustomLog "logs/access_log" combined   默认采用的是common,这里我们只需要将common这一行前面加#注释掉,然后将combined这一行前的#去掉即可。然后保存重启Apache服务。 注:如果你的服务器上添加了多个站点,每个站点有单独的配置文件,则我们只需要在相应站点的配置文件中设置CustomLog项即可,例如:   vim /usr/local/apach...
GavinHsueh 发布于 2个月前 阅读 249 评论 1 点赞 1

Elasticsearch调优——segment memory

1、索引之segment memory:          一个segment是一个完备的lucene倒排索引,而倒排索引是通过词典(Term Dictionary)到文档列表(Postings List)的映射关系,快速做查询的。所以每个segment都有会一些索引数据驻留在heap里。        因此segment越多,瓜分掉的heap也越多,并且这部分heap是无法被GC掉的!        怎么知道segment memory占用情况呢? CAT API可以给出答案。        1)、查看一个索引所有segment的memory占用情况:   curl -s -uelastic:changeme 'http://192.168.58.158:9200/_cat/segments?v' index                             shard prirep ip         segment   generation   docs.count     docs.deleted     size       size.memory      committed searchable version compound www-nginx-tp-2017-08-20        0     p      192.168.58.158 _s9v         36643      58203            0                56.8mb      127077         true      true       6.5.1   fals...
perofu 发布于 2个月前 阅读 282

康威定律——这个50年前就被提出的微服务概念,你知多少?

## 概述 微服务架构是一种非常流行的新概念,即便可供以借鉴的经验比较少,当然不能阻挡它成为热门话题与研究对象。 令人惊讶地是,其实微服务的概念早在五十多年前就已经被提出,多年来,很久研究表明了这些观点的准确性。这就是本文所介绍的——康威定律。现在已经有很多企业正在尝试使用它创建高效的微服务架构。 ![image](https://i.v2ex.co/X5120k76.png) 在这篇文章中最有名的一句话莫过于: 设计系统的企业受限于生产设计,这些设计是企业沟通结构的副本——Melvin Conway(1967)。 这意味着设计系统的企业,它们生产的设计等同于企业内的沟通结构。下图说明了此概念: ![image](https://i.v2ex.co/lAvKd4w4.png) 该图展现了企业现有沟通结构,简单地说:企业结构等于系统设计。 作者这里提到的系统并不局限于应用系统,据说这篇文章最初投稿于哈佛商业评论,但被拒绝,因此康威将其提交到了一个编程杂志,所以被误解为只针对应用开发,起初,作者并没有把这种理论作为定律,只是描述了发现和结论,不过著名的《The Mythical Man-Month》一书介绍了Brooks的理论,并引用了康威的一些观点,于是康威的理论被推崇成为我们现在所熟知的康威定律。 康威定律详细介绍 在文...
数人云 发布于 2个月前 阅读 1280 评论 6 点赞 6

使用 Docker 搭建 Java Web 运行环境

原料 前提条件 首先,您要准备一个 CentOS 的操作系统,虚拟机也行。总之,可以通过 Linux 客户端工具访问到 CentOS 操作系统就行。 需要说明的是,Ubuntu 或其它 Linux 操作系统也能玩 Docker,只不过本文选择了以 CentOS 为例,仅此而已。 CentOS 具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS 内核: uname -r 如果执行以上命令后,输出的内核版本号低于 3.8,请参考下面的方法来来升级您的 Linux 内核。 对于 CentOS 6.5 而言,内核版本默认是 2.6。首先,可通过以下命令安装最新内核: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm yum -y --enablerepo=elrepo-kernel install kernel-lt 随后,编辑以下配置文件: vi /etc/grub.conf 将default=1修改为default=0。 最后,通过reboot命令重启操作系统。 重启后如果不出意外的话,再次查看内核,您的 CentOS 内核将会显示为 3.10。 如果到这里,您和我们所期望的结果是一致的。恭喜您!下面我们就一起来安装 Docker 了。 安装 Docker 只需通过以下命令即可安装 Docker 软件: ...
郑江江 发布于 7小时前 阅读 92

VMware Workstation player 克隆多个CentOS实践

VMware Workstation player 克隆多个CentOS实践
MaxBill 发布于 9小时前 阅读 15

快速了解人工智能结晶之语音转换文字

科技解放生产力,人工智能的应用如今是大热,那么今天就来给各位介绍一下IBM在这方面的一个小的尝试,语音转换文字。咱们来看一看相较于传统的转换,结合Watson的IBM是如何做到让识别率飙升的。
IBM Bluemix

23.5 jumpserver介绍

### 23.5 jumpserver介绍 **开源堡垒机jumpserver介绍:** - 官网www.jumpserver.org - Jumpserver是一款使用Python, Django开发的开源跳板机系统, 助力互联网企业高效 用户、资产、权限、审计 管理 - Auth 统一认证 - CMDB 资产管理 - 统一授权 - 日志审计 - 自动化运维(ansible) - 最新版v0.4.0,基于python3.6, django 1.11,目前还未开发完成,所以我们接下来将要安装v0.3.2 ### 23.6 安装jumpserver **Jumpserver安装(0.4.0)** - yum install -y docker //首先安装docker - systemctl enable docker - systemctl start docker //启动docker服务 - curl -L https://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose //安装docker-compose - chmod 755 /usr/local/bin/docker-compose - git clone https://github.com/jumpserver/jumpserver.git //下载jumpserver源码 - cd jumpserver - 配置docker加速器 http://ask.apelearn.com/question/15126 - 检查是否有监听8080端口的服务,如果有关闭 - screen//进入到一个虚拟终端 - docker-compose up //使用docker-compose安装jumpserve...
脑洞老湿_ 发布于 3周前 阅读 8

线上服务 CPU 100%?一键定位 so easy!

本文主要针对 Java 服务而言
xrzs 发布于 3个月前 阅读 1860 评论 2 点赞 2

Centos 6.8 安装Tomcat8.5

本章主要介绍了在CentOS6.8上如何正确安装Tomcat。 执行以下操作,必须先安装JAVA JDK,如何安装请参照https://my.oschina.net/sdlvzg/blog/1528019 下载:     需要到Tomcat的官网下载安装文件。     联接:http://tomcat.apache.org/     版本:apache-tomcat-8.5.20.tar.gz      安装:     把在官网下载的文件apache-tomcat-8.5.20.tar.gz上传(可用SecureFX上传)的CentOS的服务上,并通过工具SecureCRT联接到CentOS,进入上传文件目录中,解压上传文件即可完成安装。     解压命令: tar zxvf apache-tomcat-8.5.20.tar.gz -C /opt/       解压之后的目录为 :/opt/apache-tomcat-8.5.20 启动关闭:       进入TOMCAT的安装目录中的bin目录中         cd /opt/apache-tomcat-8.5.20/bin     启动         ./startup.sh              关闭         ./shutdown.sh            验证:        通过上面的启动命令启动。然后通过另外一台可以联接到此设备的电脑,通浏览器访问以下联接:         http://xxx.xxx.xxx.xxx:8080,打开以下画面表示安装配置成功。         xxx.xx...
阿刚ABC 发布于 3个月前 阅读 50

Linux 成功运作的秘密

导读 在大量金钱与围绕 Linux 激烈争夺的公司之间,真正给操作系统带来活力的正是那些开发者。事实证明上,Linux 社区是可行的,因为它本身无需太过担心社区的正常运作。尽管 Linux 已经在超级计算机、移动设备和云计算等多个领域占据了主导的地位,但 Linux 内核开发人员更多的是关注于代码本身,而不是其所在公司的利益。 这是一个出现在 Dawn Foster 博士研究 Linux 内核协作开发的博士论文中的重要结论。Foster 是在英特尔公司和木偶实验室的前任社区领导人,他写到,“很多人首先把自己看作是 Linux 内核开发者,其次才是作为一名雇员。” 随着大量的“基金洗劫型”公司开始侵蚀各种开源项目,意图在虚构的社区面具之下隐藏企业特权,但 Linux 依然设法保持了自身的纯粹。问题是这是怎么做到的? 跟随金钱的脚步 毕竟,如果有任何开源项目会进入到企业贪婪的视线中,那它一定是 Linux。早在 2008 年,Linux 生态系统的估值已经达到了最高 250 亿美元。最近 10 年,伴随着数量众多的云服务、移动端,以及大数据基础设施对于 Linux 的依赖,这一数据一定倍增了。甚至在像 Oracle 这样单独一个公司里,Linux 也能提供数十亿美元的价值。 那么就难怪有这样一个通过代码来...
linuxprobe16 发布于 13小时前 阅读 4

Linux性能监控命令——sar详解

sar命令可以从文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等方面进行报告。
jiangwu 发布于 12小时前 阅读 4

shell --当java程序宕掉,执行restart的脚本

vim java_restart.sh #! /bin/bash # check java i=`ps -ef |pgrep java  | grep -v  grep | wc -l` if [ $i -eq 0 ] then sh /usr/local/src/open-rtb-deploy/rtbs-bidder-restart.sh fi   每2分钟执行一次脚本 crontab -e 2 * * * * sh /root/java_restart.sh  
Linux_Anna 发布于 6小时前 阅读 3

Centos 6.8 安装JAVA JDK8

本文档主要介绍如何在CentOS6.8安装JAVA JDK8 下载:     需要直JAVA的官网下载相应的JDK的版本。     联接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html     版本:jdk-8u144-linux-x64.tar.gz      安装:     把在官网下载的文件jdk-8u144-linux-x64.gz上传(可用SecureFX上传)的CentOS的服务上,并通过工具SecureCRT联接到CentOS,进入上传文件目录中,解压上传文件即可完成安装。     解压命令: tar zxvf  jdk-8u144-linux-x64.gz -C /opt/     解压之后的目录为 :/opt/jdk1.8.0_144   配置环境变量:     设置环境变量,增加一个环境配置文件(java.sh),用于存放JAVA环境变量     执行命令: vi /etc/profile.d/java.sh     文档内容如下:         JAVA_HOME=/opt/jdk1.8.0_144         PATH=$JAVA_HOME/bin:$PATH         export JAVA_HOME PATH     文件执行完成之后通过:wq保存退出vi命令              退出之后执行以下命令刷新环境变量         source /etc/profile     通过以下命令查询环境变量配置结果     ...
阿刚ABC 发布于 3个月前 阅读 31

使用goproxy实现内网穿透

proxy是golang实现的高性能http,https,websocket,tcp,socks5代理服务器,支持正向代理和内网穿透.程序本身可以作为一级代理,如果设置了上级代理那么可以作为二级代理,乃至N级代理.如果程序不是一级代理,而且上级代理也是本程序,那么可以加密和上级代理之间的通讯,采用底层tls高强度加密,安全无特征.代理时会自动判断访问的网站是否屏蔽,如果被屏蔽那么就会使用上级代理(前提是配置了上级代理)访问网站;如果访问的网站没有被屏蔽,为了加速访问,代理会直接访问网站,不使用上级代理.另外可以设置域名黑白名单,更加自由的控制网站的访问方式。 本节只使用其内网穿透功能。。。
阿dai 发布于 23小时前 阅读 3

搭建Zabbix 监听Nginx实时状态

0x00 背景        Zabbix 监听 Nginx 的实时状态,本次测试只有一台机器,Server与Agentd全部部署在测试机上。 0x01 介绍              Zabbix是一个企业级的、开源的、分布式的监控套件         Zabbix可以监控网络和服务的监控状况. Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出相应. Zabbix可以利用存储数据提供杰出的报告及图形化方式. 这一特性将帮助用户完成容量规划.         Zabbix支持polling和trapping两种方式. 所有的Zabbix报告都可以通过配置参数在WEB前端进行访问. Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况. Zabbix可以通过尽可能的配置来扮演监控你的IT基础框架的角色,而不管你是来自于小型组织还是大规模的公司. 0x02 软件准备         1. Zabbix : http://www.zabbix.com/download   版本:3.4.4         2. Nginx :  http://nginx.org/en/download.html  版本:1.12.2         3. PHP      :  http://www.php.net/downloads.php  版本:7.1.11          4. libjpeg  :  http://www.ijg.org/files/jpeg...
Danger 发布于 12小时前 阅读 3

linux基础(day30)

## awk复习 ### [awk 中使用外部shell变量](http://ask.apelearn.com/question/199) - awk 中使用外部shell变量 ``` A=44echo "ABCD" | awk -v GET_A=$A ’{print GET_A}’ 说明:-v选项用于定义参数,这里表示将变量A的值赋予GET_A。 有多少个变量需要赋值,就需要多少个-v选项。与之等价的:应用于脚本中: #! /bin/bash sort -n filename |awk -F ':' '{print $1}'|uniq >id.txt for id in `cat id.txt`; do echo "[$id]" awk -v id2=$id -F ':' '$1==id2 {print $2}' filename // 另外的方式为: awk -F ':' '$1=="'id'" {print $2}' filename done 附件: cat filename 1111111:13443253456 2222222:13211222122 1111111:13643543544 3333333:12341243123 2222222:12123123123 运行脚本后结果为: [1111111] 13443253456 13643543544 [2222222] 13211222122 12123123123 [3333333] 12341243123 思路: 先创建一个后缀为 .sh 的文件,然后将内容,添加进入,并将其中failname改为你创建的 后缀为 .sh 的文件 然后去执行shell文件——>sh 加 文件,即可看到结果 ``` ### [awk 合并一个文件](http://ask.apelearn.com/question/493) ### [把一个文件多行连接成一行](http:...
运维小白 发布于 11小时前 阅读 3

FireFox火狐浏览器配置页面about:config参数说明

FireFox火狐浏览器配置页面about:config参数说明 ---------------------------------------------------------------------- 从http://ftp.mozilla.org/pub/firefox/releases/54.0-funnelcake114/win32/en-US/,下载历史版本的firefox浏览器,设置network.http.pipelining * Use HTTP Pipelining options 为加快浏览速度可设置为true
SVD 发布于 1个月前 阅读 17 评论 1

centos7 系统缓存清理

参数存放在这个目录下面 # cat /proc/sys/vm/drop_caches 参数介绍: 0 //默认是0; 1-清空页缓存; 2-清空inode和目录树缓存; 3-清空所有缓存 命令作用和执行: //注意:在清空缓存之前使用sync命令同步数据到磁盘 # sync # free -h              total        used        free      shared  buff/cache   available Mem:           8.8G        1.1G        4.0G         17M        3.7G        7.4G Swap:           14G          0B         14G # echo 3 > /proc/sys/vm/drop_caches 在查看一下buff/cache的值就会减少。  
爱运动的小乌龟 发布于 7小时前 阅读 3

Nginx 手记(十一)分片请求

### http_slice_module 模块 #### 大文件分片请求 ##### 配置语法 ``` #分片请求 语法:slice size; 默认值:slice 0; 上下文:http,server,location ``` ##### 分片处理优缺点 ``` 优势: 每个子请求收到的数据都会形成一个独立文件,一个请求断了,其他请求不受影响。 缺地: 当文件很大或者slice很小的时候,可能会导致文件描述符消耗较大等情况。 ```
神奇Sam 发布于 3个月前 阅读 651

记一次诡异的 ssh 互信免密码登录失败

we did not send a packet, disable method
xrzs 发布于 3个月前 阅读 1529 评论 2 点赞 2

2017年9月编程语言排行榜:Java、C与C++三巨头还能统治排行榜?

过去16年来(自2001年起),TIOBE编程语言排行榜的三甲位置一直被Java、C与C++长期占据。C#与Python虽然已经被广泛认定为下一世代的核心编程语言,但在人气方面却仍然未得到充分体现。C#之所以无法进军三甲,主要是因为其在非Windows领域的采用率仍然不够理想。另一方面,Python的动态类型化特性导致开发者们不倾向在大型以及/或者关键性软件系统中加以运用。不过必须承认,三巨头与其它编程语言间的差距正在迅速缩小。而在三巨头逐渐失去压倒性优势之后,未来前景将如何变化目前还很难给出定论。 事实上,目前的趋势显示杂糅使用正步入主流。以单一编程语言开发的应用程序正变得越来越罕见。按照这样的发展进程,未来TIOBE排行榜上还将出现更多人气缩水的语言选项。激动人心的时刻终于到来,相信大家和我们一样,也期待着看到未来几年中各类编程语言将迎来怎样的命运,又有哪些语言能够登上新时代的三甲宝座。 编程语言排行榜 TOP 20 榜单: 前10名编程语言的走势图: 以下是 21-50 编程语言排名: 后 50 名编程语言如下: 4th Dimension/4D, ABC, ActionScript, APL, AutoLISP, Bash, bc, Bourne shell, C shell, CFML, CL (OS/400), Clipper, Clojure, Common Lisp, Eli...
linuxCool 发布于 1个月前 阅读 18

CentOS 6.8 安装Nginx

本章主要介绍了在CentOS6.8上如何正确安装Nginx。 下载:     需要到Nginx的官网下载安装文件。     联接:http://nginx.org/     版本:nginx-1.12.1.tar.gz      安装所需环境: 一. gcc 安装     安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum install gcc-c++ 二. PCRE pcre-devel 安装     PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令: yum install -y pcre pcre-devel 三. zlib 安装     zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。 yum install -y zlib zlib-devel 四. OpenSSL 安装     OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。 nginx 不仅支持 http 协议,还支持 https(即在s...
阿刚ABC 发布于 3个月前 阅读 66

六周第四次课(11月23日) 复习 扩展

打印某行到某行之间的内容http://ask.apelearn.com/question/559 指定打印的内容里有特殊符号,需要使用脱义把特殊符号识别为单纯的符号。 不使用的话 就会把括号里的字符只要符合的都打印出来 sed转换大小写 http://ask.apelearn.com/question/7758 \b 就近匹配 具体的可以看 https://www.cnblogs.com/newsouls/p/3781812.html   & 在里面所代表的意思开头 sed在某一行最后添加一个数字http://ask.apelearn.com/question/288 sed -r 's/(^a.*)/\1 12/' 1.txt  以a开头的行的末尾 加上 12 的字数 需要先执行操作,然后在打印需要显示的行   删除某行到最后一行 http://ask.apelearn.com/question/213 不明白的点 在 {p:a;N;$!ba;d}'  这串字符的代表的意思。 打印1到100行含某个字符串的行 http://ask.apelearn.com/question/1048 sed -n '1,100{/.*/p}'  filename   .* 代表指定的字符 就可以打印1-100行内含某个字符的行了...
FindDx 发布于 13小时前 阅读 2

lvm讲解,磁盘故障小案例

LVM讲解 一般流程:创建物理分区→物理卷→卷组→逻辑卷→格式化→挂载使用 准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别1G t 改变分区类型为8e 创建物理卷 命令pvcreate(physical volume create) pvcreate /dev/sdb1 pvcreate /dev/sdb2 pvcreate /dev/sdb3 pvdisplay 列出当前物理卷 pvremove /dev/sdb3 删除物理卷 在运行命令# pvcreate /dev/sdb1时,出现未找到命令,可以安装软件包,这里如果忘记软件包的名字,可以根据命令搜索软件包名称 搜索到正确软件包名称lvm2,然后安装完成 然后继续创建三个物理卷,再创建过程中,可能出现没有自动生成 /dev/sdb1文件,这是只要允许partprobe命令即可生成 然后创建,如果 /dev/sdb文件挂载在磁盘上,需要先卸载,再创建完成 物理卷创建完成后,可以用命令pvdisplay查看 还有命令pvs也可以查看,更直观 创建卷组 命令vgcreate(volume group create),命令vgremove删除卷组 创建完可以用命令vgdisplay和命令vgs查看信息 创建逻辑卷 命令lvcreate(logical volume create),用法lvcreate [选项] [参数] -L:指定逻辑卷的大小; -n:指定逻辑卷的名称。 格式化成ext4 挂载 扩容逻辑卷 lvresize -L 300M /dev/vg1/lv...
风流花生 发布于 3周前 阅读 205 点赞 1

Python库打包到PyPI

### 打开pypi官网, 并注册账号 ``` https://pypi.python.org/ ``` ### 创建并编辑.pypirc (注: 家目录下创建) ``` tianshl@tianshl ~ $ vim .pypirc [pypirc] index-servers = pypi pypitest [pypi] repository=https://pypi.python.org/pypi [pypitest] repository=https://testpypi.python.org/pypi [server-login] username:tianshl password:****** ``` ### 前提 ``` 1. 要打包的代码必须是一个包(package) 2. 代码是开源的 ``` ### 包(package) ##### 创建包 ``` 右键 / New / Python Package / 输入包名 / OK ``` ##### 创建成功后,查看目录结构 ``` tianshl@tianshl wechat $ tree . └── wxReply └── __init__.py 实际上就是文件夹中包含__init__.py文件 ``` ### 编写要打包的源代码 ``` tianshl@tianshl wechat $ tree . └── wxReply ├── __init__.py └── wxReply.py 1 directory, 2 files ``` ### 创建README.rst和setup.py文件 ``` README.rst为说明文档 setup.py为安装脚本 (核心) ``` ##### 此时wechat包的目录结构 ``` tianshl@tianshl wechat $ tree . ├── README.rst ├── setup.py └── wxReply ├── __init__.py └── wxRepl...
tianshl 发布于 2周前 阅读 81956 评论 1

xxx is not in the sudoers file

### 问题 ``` 无法使用sudo指令 ``` ### 方法一 ``` 1. 查找sudoers位置(默认会在/etc/sudoers) [tianshl@tianshl ~]# whereis sudoers sudoers: /etc/sudoers /etc/sudoers.bak /usr/share/man/man5/sudoers.5.gz 2. 切换到root身份 [tianshl@tianshl ~]# su - 3. 修改sudoers权限 [root@tianshl ~]# chmod u+w /etc/sudoers 4. 把用户添加到sudoers中 [root@tianshl ~]# vi /etc/sudoers 1. 找到 "root ALL=(ALL)" 2. 另起一行输入 "tianshl ALL=(ALL) ALL" 备注:tianshl为用户名 修改后如下所示: ## Allow root to run any commands anywhere root ALL=(ALL) ALL tianshl ALL=(ALL) ALL 5. 去掉sudoers的写权限 [root@tianshl ~]# chmod u-w /etc/sudoers 6. 退出root用户后就可以利用sudo命令来执行管理员权限了。 ``` ``` 注:如果不去掉写权限,系统不允许执行suoders文件,运行sudo命令时会出现以下错误: sudo: /etc/sudoers is mode 0640, should be 0440 ``` ### 方法二 ``` 1.首需要切换到root身份 [tianshl@tianshl ~]# su - 2. 执行visudo [root@tianshl ~]# visudo 1、移动光标,到最后一行 2、按a,进入append模式 3、输入 "tianshl ALL=(ALL) ALL" 备注...
tianshl 发布于 2周前 阅读 94045

如何7步实现根据源码包创建rpm包

### 如何7步实现根据源码包创建rpm包 --- > 本文是"[7 Steps to Build a RPM Package from Source on CentOS / RedHat](http://www.thegeekstuff.com/2015/02/rpm-build-package-example/)"一文的简单翻译。 **version: 0.1.0 2017-11-19** 有时你可能需要获取一个开源应用的源码包,但是可能没有无法通过该应用的RPM文件来安装到系统。 在这种情况下,你既可以编译源码安装,也可以以源码包来创建一个rpm包文件,实现安装应用的功能。 同样存在一种情况即你想要创建一个你自己开发的自定义的RPM包。 这篇指南解释了如何提高源码来创建一个rpm包。 为了创建rpm包,你将需要源码包(通常为一个压缩文件,其内也包含了SPEC文件)。 SPEC文件包含以下说明:如何创建rpm包,包内包含的文件,安装的路径。 RPM将展现创建过程中的测试过程。 执行spec文件中的prep块中定义的系统命令和宏命令。 检测文件列表的内容 执行spec文件中的build块中定义的系统命令和宏命令。在这一步中文件列表中的宏命令也被执行。 创建二进制包文件 创建源码包文件 一旦RPM执行了上述步骤,将创建二进制的包文件和源码包文件。 二进制包文件包含所有安装或卸载包的额外信息的源文件。 通常安装包的所有...
Lu_Castiel 发布于 5天前 阅读 948 评论 7 点赞 2

CentOS7(mini) 安装 Kubernetes 集群(kubeadm方式)

## CentOS7(mini) 安装 Kubernetes 集群(kubeadm方式) #### 安装CentOS 1. 安装**net-tools** ``` bash [root@localhost ~]# yum install -y net-tools ``` 2. 关闭firewalld ``` bash [root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@localhost ~]# setenforce 0 [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config ``` #### 安装Docker > 如今[Docker](https://docs.docker.com/engine/installation/linux/docker-ce/centos/#install-docker-ce)分为了Docker-CE和Docker-EE两个版本,CE为社区版即免费版,EE为企业版即商业版。我们选择使用CE版。 1. 安装yum源工具包 ``` bash [root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 2. 下载docker-ce官方的yum源配置文件 ``` bash [root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/do...
ChamPly 发布于 5天前 阅读 272 评论 2

处理Tomcat日志catalina.out日志文件过大的问题(第二种方法适合各种日志的切割)

一、采用cronlolog工具对日志拆分的方式处理该问题 1、下载cronolog工具,我下载的版本是cronolog-1.6.2 (yum安装:yum install cronolog) 2、将下载好的文件解压,tar xvzf cronolog-1.6.2.tar.gz 3、切换到解压后的文件目录下:cd cronolog-1.6.2 4、初始化和编译安装 ./configure --prefix=/usr/local/cronolog #make #make install #ln -s /usr/local/cronolog/sbin/* /usr/local/sbin/ 5、查看安装版本 #cronolog --version 6、修改tomcat的启动文件(tomcat目录/bin/catalina.sh) vi catalina.sh (1)修改输出日志路径 修改: if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out fi 为: if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out fi (2)删除生成日志文件 注释: touch "$CATALINA_OUT" 为: #touch "$CATALINA_OUT" (3)修改启动脚本参数(两项) 修改: org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&" 为: org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ | /usr/local/sbin/cronolog "$C...
Roles_乐 发布于 1周前 阅读 453 评论 2 点赞 1

浅析Kubernetes Informer

kubernetes informer
Anzersy 发布于 4天前 阅读 78

漫画 :Apache Nginx80 端口争夺战

嗨,大家好,今天我们来聊聊 80 端口之战。著名的技术漫画站 turnoff.us 有这样的一副漫画,生动的描绘了固守 80 端口的 Apache 和新生代的 Nginx 之间的战争。你知道,80 端口是 Web 端口,就是这个端口构成了我们现在大部分的互联网。 作为新生代的 Nginx 对已经 22 岁之老的 Apache 说,“一边去,老头,这 80 口不用你看着了,你得给新人腾腾地方了!” 头顶羽毛(Apache 的 Logo 形象),身上的写着名字的牌子都是补上去的(a patch,即 Apache 这个词的出处)一脸懵逼,对小毛头 Nginx 说,“放尊重点,你觉得你已经能取代像我这样的老同志了吗?!” “哈?C10K 你解决了吗?事件驱动呢?这些你行吗?”Nginx 说。(C10K 指并发上万连接,由于服务器和网络性能的提升,现在的服务程序面临着处理更大并发的请求,而一些老旧的应用面对这种大量请求显然有点力不从心) “嗯,我可以给你一个‘小小’的列表,这都是我支持的模块……” Apache 顾左右而言它。 “这些都过时了!我猜它们根本就没人用过!” Nginx 看着那“小小”的列表,一脸嫌弃的反驳。(讲真,Apache 的很多模块你可能从未用过,尤其是那些内置的模块,而另外一些年久失修的第三方模块,甚至你都不知...
linuxCool 发布于 1周前 阅读 431 评论 4

阿里云提供的一个监测cpu和内存的shell脚本(get_cpu_mem_info.sh)

阿里云提供的监测cpu和内存相关的一个shell脚本。   使用方式,直接放到/tmp下 然后运行 nohup bash get_cpu_mem_info.sh & 1,下载该文件解压后,上传到 /tmp 目录中。 2,运行 cd 切换到/tmp目录。 3,执行: nohup bash get_cpu_mem_info.sh & 该工具会在 /tmp 目录下生成一个日志文件,记录实时监控系统的 CPU、内存的使用情况,等到系统异常时可以用于分析日志。   get_cpu_mem_info.sh #!/bin/bash #When the free memory very less ,this script to collect CPU/memory usage information and dmessage information. #Version 1.0 time:2014-3-11 #Version 2.0 time:2014-12-23 logfile=/tmp/$0.log check_os_release() { while true do os_release=$(grep "Red Hat Enterprise Linux Server release" /etc/issue 2>/dev/null) os_release_2=$(grep "Red Hat Enterprise Linux Server release" /etc/redhat-release 2>/dev/null) if [ "$os_release" ] && [ "$os_release_2" ] then if echo "$os_release"|grep "release" >/dev/null 2>&1 then os_release=redhat echo "$os_release" else os_rel...
独钓渔 发布于 3天前 阅读 21

各大银行都在使用什么数据库?

各大银行都在使用什么数据库?
linuxprobe16 发布于 4天前 阅读 19

【树莓派自动化应用实例】整点提醒自己休息五分钟

不过大部分手机闹钟都不支持这种以小时为单位的周期闹铃。所以,我以前每次都是都手动调整闹钟时间。总感觉有点 Low!于是,我就写了个简单的发邮件的 Lua 脚本,放到树莓派上作为一个shell命令使用;然后在每周一到周五的9点至23点整点各执行一次发邮件的操作。邮件是发到了我的 QQ 邮箱。收到QQ邮件后,左上角会有一个通知悬浮窗,体验比手机的震动声好了很多。
ios122 发布于 1周前 阅读 352 评论 2

ybg-spring-fast 新版本发布,效果更佳

导读 以SpringBoot 为中心,模块化开发系统,用户可以随意删减除权限框架外 任意的系统模块。复用,组装性强。2种打包方式,传统可运行的tomcat目录 以及直接jar 方式运行。 主要应用技术:Security+Ehcache+quartz+swagger2+Mysql5.6.... Ehcahce 缓存,减少数据库压力quartz 自定义任务执行时间。在线开放API文档 模块,一览系统所有的功能,生成在线API文档,并且可以调试。多维度监控系统,包含sql 监控,内存监控和管理,cpu监控,缓存管理,并发监控,磁盘监控,线程监控和管理,session监控,java 开销监控 等。 1.4.1 重构了社交登陆代码,引进了 spring social 和spring session 技术 1.3.0 简化代码,以及更新界面,使用了LayerUI 技术。 1.2.0 简化代码开发,完善平台基本功能。加入微信注解开发等 1.1.4 添加社交(第三方登陆)配置管理,微信管理部分(微信菜单管理和微信用户标签管理),以及修复了一些BUG 1.1.3 添加支持https 的可配置方式 1.1.2 添加微信账号登陆系统 1.1.1 添加码云账号登陆系统 1.1.0 更改内容:使用VUE.JS渲染数据。 免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/  ...
linuxprobe16 发布于 1个月前 阅读 131

判断某个网络内所有活动的IP地址.

* 假如我们有这么一个需求:查找11.8.129.0/24网段的所有活动IP ** 脚本文件内容如下 ``` #!bin/bash for ((i=2;i<=254;i++)) #1和255属于预留位,所以不能用于活动IP do ping -c 1 11.8.129.$i >> /dev/null #把所有执行结果放入黑洞装置 if [ $? -eq 0 ] #$?表示上一条命令执行是否正确,正确则返回0,错误返回1 then echo "11.8.129.$i is alive" >> sucess.list #把活动IP放入文件中 else echo "11.8.129.$i is not alive" >> error.list fi done ``` 执行该脚本的时候,我们不妨新开一个shell,来实时监控哪些IP是活跃在此网段 ``` tail -f sucess.list ```
lawliets 发布于 4天前 阅读 11

我只想很快找份Linux系统相关工作

想必对于很快就要大学毕业的人,找工作成了家常便饭,也会很怕去找工作的,因为自己没有多少资本的,在大学的时候没有好好学习专业知识,在找工作时就会很心虚的。同时现在出来找的工作工资都是很低的,根本就不够消费的,那么问题就来了,找份工作,工资不要太低,这个问题困恼了我很长一段时间,后来无意发现了IT行业,这个行业工资高很容易找工作,因此我就对岗位进行了分析,看到了linux运维,之后就开始了我的人生之旅。 “我只想很快找份工作”,那时的心情,因为看到同班的同学考研的考研,找工作的找工作,我也开始有找份工作,等到看准了linux运维,那我就开始了学习之旅,开始找班学习,虽然面对高昂的学费,我有点犹豫,但是想到工作后的工资,我也就释怀了,这是物有所值,同时我也找到了网上的一个培训,那就是刘遄老师的培训,专门针对linux运维的,可以让我很快的熟悉运维的工作。同时又有一本书《Linux就该这么学》,详细的介绍了运维的好多实例,到至今我也是一直有看的,受益匪浅啊那么接下来就讲下我是怎么学习linux的。 一、命令行的熟悉 Linux不像windows那样图形化操作,虽然 现在好多Linux版本开始朝着图形化界面发展,但是它的精髓仍然是命令行,所...
问题终结者 发布于 5天前 阅读 10

线上服务 CPU 100%?一键定位 so easy!

本文主要针对 Java 服务而言
xrzs 发布于 3个月前 阅读 1860 评论 2 点赞 2

Nginx 代理Http及TCP请求

0x00 背景     三台机器                 Server: 内网环境,只能访问内网,外网无法访问   192.168.1.200                 ClientA:只能访问外网,没有内网权限   192.168.1.212                 ClientB :既能访问外网,也能访问内网,且能在公网上找到某端口  192.168.1.211     ClientA若想访问Server,则可以通过ClientB搭建反向代理,代理Server的端口,则可实现ClientA访问Server 0x01 准备     1. Linux服务器(需源码编译安装)或Windows服务器     2. Nginx软件,官网:http://nginx.org/en/download.html,注:只下载1.9以上的版本,1.9之后才支持TCP代理     3. nc 用于测试TPC代理(若有其它测试方式,可忽略) 0x02 安装Nginx(只针对Linux,Windows图形界面安装即可)     1. 创建Nginx源码存放目录   mkdir /home/${user}/soft //${user} 为用户目录 mkdir /home/${user}/soft/nginx //${user} 为用户目录     2. 将从官网下载的Nginx源码包传到目录下                  目录:  /home/${user}/soft/nginx           ${user} 为用户目录      3. 解压源码...
Danger 发布于 3天前 阅读 14

Github上推出的区块链项目92%濒临死亡

据知名咨询机构德勤发布的最新报告,2016年在著名开发平台GitHub上推出的超过2.6万个基于区块链技术的新项目中,目前已经有超过92% 的项目长期处于不活跃状态,濒临死亡。 此前,平台在2016年由组织和个人推出的区块链项目数量还曾创下过历史纪录,但开放源代码的项目难以市场化和规模化的案例,最终也落在了区块链的身上。 报告还指出,目前有关比特币的发布活动数量最多,但在专门从事比特币项目开发交易的以太坊(Geth)平台上,与区块链开发相关的项目中仅有 15% 保持活跃。 相关介绍 区块链含义 狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。 通俗解释 区块链技术是指一种全民参与记账的方式。所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本。目前是各自记各自的账。区块链系统中,所有人都可以记账...
linuxCool 发布于 5天前 阅读 9

分别查找主机占用CPU和占用内存最大的进程,要求能查出进程PID,启动目录,启动命令,占用文件描述符数量,占用端口

之前有很长的一段时间,在查找题中所述信息的时候都是通过ps、top、netstat等命令配合grep、sed、awk在做,后来发现/proc文件系统,恍然大悟。。。
阿dai 发布于 5天前 阅读 9

centos7安装PMM监控MYSQL

关于MYSQL监控,之前一直在用percona的监控插件Percona Monitoring Plugins for Zabbix(https://www.percona.com/doc/percona-monitoring-plugins/1.1/zabbix/) 最近使用了percona-monitoring-and-management,简称PMM,才发现这才是我想要的效果。 PMM前身叫fpmmm(FromDual Performance Monitor for MySQL and Mariadb),也叫MPM,但是和apache的MPM名称冲突了,就改名了。(http://www.fromdual.com/mpm-installation-guide) 另外,用了PMM,也抛弃了anemometer慢日志了,因为PMM也有慢日志分析!如果你想要实时查看MYSQL的状态,也可以使用doDBA OK,让我们来试试PMM监控MYSQL(https://www.percona.com/doc/percona-monitoring-and-management/deploy/index.html)   Percona Monitoring and Management(PMM) 简介  PMM是一款管理和监控MySQL,MongoDB性能的开源平台。其由percona公司开发,支持和咨询。  PMM是免费和开源的解决方案,可以运行在自己的环境中提供最大的安全性和可靠性。它提供了全面的基于时间的分析MySQL和MongoDB服务器来确保您的数据尽可能高效地工作 安装可以查看官网,我们用最简单的DOCKER安装。 先在阿里云上购买一台CENTOS7的服务器(本来此...
gaolongquan 发布于 2周前 阅读 17

nginx负载均衡-处理session共享问题

解决方案 1.使用tomcat自带的cluster方式,多个tomcat间自动实时复制session信息,配置起来很简单。但这个方案的效率比较低,在大并发下表现并不好。 2.利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,这个配置更简单。但如果应用是某一个局域网大量用户同时登录,这样负载均衡就没什么作用了。 3.利用memcached或者redis把多个tomcat的session集中管理,前端在利用nginx负载均衡和动静态资源分离,在兼顾系统水平扩展的同时又能保证较高的性能。 4.nginx 解决session共享问题(jvm-route)方式 1.下载安装jvm_route:http ://nginx-upstream-jvm-route.googlecode.com/svn/trunk/nginx-upstream-jvm-route-read-only  cd /usr/src/nginx-1.2.1  patch - p0  < /usr/local/nginx/nginx_upstream-jvm-route-read-only/jvm_route.patch  ./configure --add-module=/usr/local/nginx/nginx-upstream-jvm-route-read-only  make & make install 2.nginx 设置: 修复  upstream www.linuxidc.com {    server 192.168.1.116:8080 srun_id=a;      这里 srun_id=a  对应的是 server1  resin 配置里的 server id="a"    server 192.1...
bz_z 发布于 3天前 阅读 8

苹果IPV6审核环境搭建——阿里云(IPV6+Tengine)

一、搭建步骤:          1、注册Tunnel broker          2、创建通道“Create Regular Tunnel”          3、创建ipv6隧道及路由          4、云主机启用ipv6          5、配置ipv6          6、AAAA解析(※)          7、ping测试及ipv6的DNS          8、nginx代理(※) 二、过程: 1、注册Tunnel broker:            https://www.tunnelbroker.net/register.php   2、创建通道“Create Regular Tunnel”:          ①、填写云服务器ip:          ②、选择Tunnel Servers:ping下对应server的ip,选择延时较小的节点          ③、点击Create Tunnel创建:   3、创建ipv6隧道及路由:     4、云主机启用ipv6:   cp -a /etc/modprobe.d/disable_ipv6.conf /etc/modprobe.d/disable_ipv6.conf_bak vi /etc/modprobe.d/disable_ipv6.conf     alias net-pf-10 off     #alias ipv6 off     options ipv6 disable=0 cp -a /etc/sysconfig/network /etc/sysconfig/network_bak vi /etc/sysconfig/network     NETWORKING_IPV6=yes vi /etc/sysc...
perofu 发布于 2周前 阅读 323 评论 1

打印文件中特定的某行到某行之间的内容

sed的扩展用法
杉下 发布于 36分钟前

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

awk小记

本文索引: * awk调用外部变量 * awk文件合并 * awk将文件内容连接为单行 * awk工具gsub函数使用 * awk使用print打印单引号 * awk实现多条件过滤 * awk格式化打印 --- ### awk调用外部变量 `-v`参数设置内部变量调用外部变量 ``` [root@castiel-Lu awk]# a=44 [root@castiel-Lu awk]# echo "ABCD" | awk -v GET_A=$a '{print GET_A}' 44 ``` 更复杂的应用: ``` [root@castiel-Lu awk]# cat awk1.sh #!/bin/bash # sort先排序,awk截取第一个字段,uniq取独 sort -n file | awk -F ':' '{print $1}' | uniq > id.txt for id in `cat id.txt`;do echo "[$id]" # 使用-v设置内部变量,用于打印时的判断 awk -v id2=$id -F ":" '$1==id2 {print $2}' file done [root@castiel-Lu awk]# cat file 1111111:13443253456 2222222:13211222122 1111111:13643543544 3333333:12341243123 2222222:12123123123 # 效果 [root@castiel-Lu awk]# sh awk1.sh [1111111] 13443253456 13643543544 [2222222] 13211222122 12123123123 [3333333] 12341243123 ``` ### awk文件合并(暂时未理解) 将两个文件中,第一列相同的行合并到同一行中 ``` [root@castiel-Lu awk]# cat 1.txt 1 aa 2 bb...
Lu_Castiel 发布于 1小时前 阅读 1

awk练习题

1. 用awk 打印整个test.txt (以下操作都是用awk工具实现,针对test.txt ``` [root@centos001 ~]# awk -F ':' '{print $0}' test.txt root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin ``` > $0表示打印所有 2. 查找所有包含 ‘bash’ 的行 ``` [root@centos001 ~]# awk '/bash/' test.txt root:x:0:0:root:/root:/bin/bash user1:x:1000:1000::/home/user1:/bin/bash aming:x:1001:1007::/home/aming:/bin/bash awei:x:1002:1002::/home/awei:/bin/bash ``` 3. 用 ‘:’ 作为分隔符,查找第三段等于0的行 ``` [root@centos001 ~]# awk -F ':' '$3==0' test.txt root:x:0:0:root:/root:/bin/bash ``` 4. 用 ‘:’ 作为分隔符,查找第一段为 ‘root’ 的行,并把该段的 ‘root’ 换成 ‘toor’ (可以连同sed一起使用) ``` [root@centos001 ~]# awk -F ':' '$1==root' test.txt | sed 's/root/toor/' [root@centos001 ~]# awk -F ':' '$1=="root"' test.txt | sed 's/root/toor/' toor:x:0:0:root:/root:/bin/bash ``` > 第一段没有正确输出是因为没有加双引号,==是精确匹配,不加双引号就会被认为是数字 5. 用 ‘:’ 作为分隔符,打印最后一段 ``` [roo...
杉下 发布于 1小时前 阅读 1

python wxpython制作计算器

#!/usr/bin/env python #coding:utf-8 import wx class Caluculate(wx.Frame): def __init__(self,*args,**kwargs): super(Caluculate,self).__init__(*args,**kwargs) self.panel = wx.Panel(self) self.printbtn = wx.TextCtrl(self.panel, style=wx.TE_MULTILINE | wx.HSCROLL) self.num1 = wx.Button(self.panel, label="1") self.num2 = wx.Button(self.panel, label="2") self.num3 = wx.Button(self.panel, label="3") self.num4 = wx.Button(self.panel, label="+") self.num5 = wx.Button(self.panel, label="4") self.num6 = wx.Button(self.panel, label="5") self.num7 = wx.Button(self.panel, label="6") self.num8 = wx.Button(self.panel, label="-") self.num9 = wx.Button(self.panel, label="7") self.num10 = wx.Button(self.panel, label="8") self.num11 = wx.Button(self.panel, label="9") self.num12 = wx.Button(self.panel, label="*") self.num13 = wx.Button(self.panel, label="0") self...
空灵飞渡 发布于 5小时前 阅读 3

shell --当java程序宕掉,执行restart的脚本

vim java_restart.sh #! /bin/bash # check java i=`ps -ef |pgrep java  | grep -v  grep | wc -l` if [ $i -eq 0 ] then sh /usr/local/src/open-rtb-deploy/rtbs-bidder-restart.sh fi   每2分钟执行一次脚本 crontab -e 2 * * * * sh /root/java_restart.sh  
Linux_Anna 发布于 6小时前 阅读 3

使用 Docker 搭建 Java Web 运行环境

原料 前提条件 首先,您要准备一个 CentOS 的操作系统,虚拟机也行。总之,可以通过 Linux 客户端工具访问到 CentOS 操作系统就行。 需要说明的是,Ubuntu 或其它 Linux 操作系统也能玩 Docker,只不过本文选择了以 CentOS 为例,仅此而已。 CentOS 具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS 内核: uname -r 如果执行以上命令后,输出的内核版本号低于 3.8,请参考下面的方法来来升级您的 Linux 内核。 对于 CentOS 6.5 而言,内核版本默认是 2.6。首先,可通过以下命令安装最新内核: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm yum -y --enablerepo=elrepo-kernel install kernel-lt 随后,编辑以下配置文件: vi /etc/grub.conf 将default=1修改为default=0。 最后,通过reboot命令重启操作系统。 重启后如果不出意外的话,再次查看内核,您的 CentOS 内核将会显示为 3.10。 如果到这里,您和我们所期望的结果是一致的。恭喜您!下面我们就一起来安装 Docker 了。 安装 Docker 只需通过以下命令即可安装 Docker 软件: ...
郑江江 发布于 7小时前 阅读 92

centos7 系统缓存清理

参数存放在这个目录下面 # cat /proc/sys/vm/drop_caches 参数介绍: 0 //默认是0; 1-清空页缓存; 2-清空inode和目录树缓存; 3-清空所有缓存 命令作用和执行: //注意:在清空缓存之前使用sync命令同步数据到磁盘 # sync # free -h              total        used        free      shared  buff/cache   available Mem:           8.8G        1.1G        4.0G         17M        3.7G        7.4G Swap:           14G          0B         14G # echo 3 > /proc/sys/vm/drop_caches 在查看一下buff/cache的值就会减少。  
爱运动的小乌龟 发布于 7小时前 阅读 3

子域名枚举工具Sublist3r

子域名枚举工具Sublist3r
大学霸 发布于 9小时前 阅读 1

VMware Workstation player 克隆多个CentOS实践

VMware Workstation player 克隆多个CentOS实践
MaxBill 发布于 9小时前 阅读 15

VMware Workstation player 安装CentOS实践

VMware Workstation player 安装CentOS实践
MaxBill 发布于 10小时前 阅读 1

linux基础(day30)

## awk复习 ### [awk 中使用外部shell变量](http://ask.apelearn.com/question/199) - awk 中使用外部shell变量 ``` A=44echo "ABCD" | awk -v GET_A=$A ’{print GET_A}’ 说明:-v选项用于定义参数,这里表示将变量A的值赋予GET_A。 有多少个变量需要赋值,就需要多少个-v选项。与之等价的:应用于脚本中: #! /bin/bash sort -n filename |awk -F ':' '{print $1}'|uniq >id.txt for id in `cat id.txt`; do echo "[$id]" awk -v id2=$id -F ':' '$1==id2 {print $2}' filename // 另外的方式为: awk -F ':' '$1=="'id'" {print $2}' filename done 附件: cat filename 1111111:13443253456 2222222:13211222122 1111111:13643543544 3333333:12341243123 2222222:12123123123 运行脚本后结果为: [1111111] 13443253456 13643543544 [2222222] 13211222122 12123123123 [3333333] 12341243123 思路: 先创建一个后缀为 .sh 的文件,然后将内容,添加进入,并将其中failname改为你创建的 后缀为 .sh 的文件 然后去执行shell文件——>sh 加 文件,即可看到结果 ``` ### [awk 合并一个文件](http://ask.apelearn.com/question/493) ### [把一个文件多行连接成一行](http:...
运维小白 发布于 11小时前 阅读 3

搭建Zabbix 监听Nginx实时状态

0x00 背景        Zabbix 监听 Nginx 的实时状态,本次测试只有一台机器,Server与Agentd全部部署在测试机上。 0x01 介绍              Zabbix是一个企业级的、开源的、分布式的监控套件         Zabbix可以监控网络和服务的监控状况. Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出相应. Zabbix可以利用存储数据提供杰出的报告及图形化方式. 这一特性将帮助用户完成容量规划.         Zabbix支持polling和trapping两种方式. 所有的Zabbix报告都可以通过配置参数在WEB前端进行访问. Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况. Zabbix可以通过尽可能的配置来扮演监控你的IT基础框架的角色,而不管你是来自于小型组织还是大规模的公司. 0x02 软件准备         1. Zabbix : http://www.zabbix.com/download   版本:3.4.4         2. Nginx :  http://nginx.org/en/download.html  版本:1.12.2         3. PHP      :  http://www.php.net/downloads.php  版本:7.1.11          4. libjpeg  :  http://www.ijg.org/files/jpeg...
Danger 发布于 12小时前 阅读 3

Linux性能监控命令——sar详解

sar命令可以从文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等方面进行报告。
jiangwu 发布于 12小时前 阅读 4

centos7 Linux 尝试使用crontab

[root@CentOS ~]# yum install vixie-cron [root@CentOS ~]# yum install crontabs 说明: vixie-cron软件包是cron的主程序; crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。 cron 是linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 查看crontab服务状态:service crond status 手动启动crontab服务:service crond start 二、使用任务 1.直接分配 #crontab -e 然后出来个可编辑文件:可以通过上述设置执行时间, 例如每小时执行一次任务输出日期到/home/mydatetest文件中 0 * * * *  date >> /home/mydatetest 每分钟执行一次 * * * * *  date >> /home/mydatetest 下面是复杂的写法 编辑root下的定时任务 crontab -u root -e 每天早上6点追加一条字符串到一个文本。 6 * * * echo "Good morning." >> /tmp/test.txt 每两个小时追加一条字符串一个文本。 */2 * * * echo "Have a break now." >> /tmp/test.txt 晚上11点到早上8点之间每两个小...
小号静心 发布于 12小时前 阅读 1

六周第四次课(11月23日) 复习 扩展

打印某行到某行之间的内容http://ask.apelearn.com/question/559 指定打印的内容里有特殊符号,需要使用脱义把特殊符号识别为单纯的符号。 不使用的话 就会把括号里的字符只要符合的都打印出来 sed转换大小写 http://ask.apelearn.com/question/7758 \b 就近匹配 具体的可以看 https://www.cnblogs.com/newsouls/p/3781812.html   & 在里面所代表的意思开头 sed在某一行最后添加一个数字http://ask.apelearn.com/question/288 sed -r 's/(^a.*)/\1 12/' 1.txt  以a开头的行的末尾 加上 12 的字数 需要先执行操作,然后在打印需要显示的行   删除某行到最后一行 http://ask.apelearn.com/question/213 不明白的点 在 {p:a;N;$!ba;d}'  这串字符的代表的意思。 打印1到100行含某个字符串的行 http://ask.apelearn.com/question/1048 sed -n '1,100{/.*/p}'  filename   .* 代表指定的字符 就可以打印1-100行内含某个字符的行了...
FindDx 发布于 13小时前 阅读 2

Linux 成功运作的秘密

导读 在大量金钱与围绕 Linux 激烈争夺的公司之间,真正给操作系统带来活力的正是那些开发者。事实证明上,Linux 社区是可行的,因为它本身无需太过担心社区的正常运作。尽管 Linux 已经在超级计算机、移动设备和云计算等多个领域占据了主导的地位,但 Linux 内核开发人员更多的是关注于代码本身,而不是其所在公司的利益。 这是一个出现在 Dawn Foster 博士研究 Linux 内核协作开发的博士论文中的重要结论。Foster 是在英特尔公司和木偶实验室的前任社区领导人,他写到,“很多人首先把自己看作是 Linux 内核开发者,其次才是作为一名雇员。” 随着大量的“基金洗劫型”公司开始侵蚀各种开源项目,意图在虚构的社区面具之下隐藏企业特权,但 Linux 依然设法保持了自身的纯粹。问题是这是怎么做到的? 跟随金钱的脚步 毕竟,如果有任何开源项目会进入到企业贪婪的视线中,那它一定是 Linux。早在 2008 年,Linux 生态系统的估值已经达到了最高 250 亿美元。最近 10 年,伴随着数量众多的云服务、移动端,以及大数据基础设施对于 Linux 的依赖,这一数据一定倍增了。甚至在像 Oracle 这样单独一个公司里,Linux 也能提供数十亿美元的价值。 那么就难怪有这样一个通过代码来...
linuxprobe16 发布于 13小时前 阅读 4

AWS正式把KVM投入使用 你需要知道些什么?

如之前InfoQ中文站所报道,AWS在11月6日推出新的实例类型C5,其中采用了新的虚拟化引擎——一款AWS自家定制的KVM。这可能意味着AWS从2006年启动时就开始使用并持续优化至今的Xen技术栈,将逐渐淡出这一体量庞大的云计算平台。 关于Xen与KVM Xen最早是剑桥大学的一个研究项目。该项目在2003年以开源协议发布后,先后经历了XenSource公司、Citrix公司、Linux基金会等组织的领导,其技术阵营包含了Citrix、IBM、Intel、HP、Novel、红帽、Sun、Oracle、Amazon、AMD、Bromium、CA Technologies、Calxeda、Cisco、Google、三星、以及Verizon等业界巨头。 KVM(Kernel-based Virtual Machine,直译为“基于内核的虚拟机”),最早是以色列初创企业Qumranet发布的开源项目。该项目在2007年被合并入Linux内核代码——这对KVM而言是非常重要的一个节点,该公司则在2008年被红帽收购。KVM技术差不多到2010年之后进入成熟阶段,该技术阵营目前包括红帽、SUSE、Linaro(ARM)、IBM、Intel、Google、Oracle等业界巨头,国内的华为、阿里巴巴、腾讯等也均有参与。 在AWS启动的2006年,Xen还是当时最成熟的虚拟化引擎技术(对于Linux操作系统而言),而KVM项目还没有出现在大家的视野中。因...
linuxprobe16 发布于 13小时前 阅读 1

想成为linux大牛,却还在打王者荣耀?怎么办

首先声明,这不是篇干货!不是篇干货,这只是一个最近沉迷于王者荣耀游戏的无知少女的反省!王者荣耀这款游戏最近俘获了不少国民的心,小至小学生,老至老顽童。本人也是其中之一。然而回顾打农药的这段时间,发现自己竟认认真真学习玩英雄,做攻略,却没有认认真真的学习一项linux技术。真的是一入农药深似海,从此linux成路人啊!痛定思痛,静下心想想该怎么办。本人也相信定不是我一人如此,所以写文谈谈我的想法,听听大家的建议。 1.       寻找个能实现的目标 本人是从事运维开发的,但是一直觉得非科班出身的我基础薄弱,许多运维知识都不懂,开发很多本质也不清楚,虽然能写代码,能做运维,但深知自己的不足。在一番思索下,决定先学习linux,巩固好基础才能根基稳啊。寻思着既然要学,要不就顺便考个证吧。在我的慧眼之下,我挑中了红帽 RHCE 证书,毕竟红帽系统的名字也是如雷贯耳,证书的含金量也不错。 除此之外,编程方面我决定先干掉令我颇为痛苦的前端,虽然前端在开发过程中只占据了小部分,然而由于对前端知识的匮乏导致每次debug或写功能时都要花费较长时间去完成,颇为没有效率。因此开发的小目标为:习得 html, css, jquery, javascript基础,独...
linuxprobe16 发布于 13小时前 阅读 1

使用goproxy实现内网穿透

proxy是golang实现的高性能http,https,websocket,tcp,socks5代理服务器,支持正向代理和内网穿透.程序本身可以作为一级代理,如果设置了上级代理那么可以作为二级代理,乃至N级代理.如果程序不是一级代理,而且上级代理也是本程序,那么可以加密和上级代理之间的通讯,采用底层tls高强度加密,安全无特征.代理时会自动判断访问的网站是否屏蔽,如果被屏蔽那么就会使用上级代理(前提是配置了上级代理)访问网站;如果访问的网站没有被屏蔽,为了加速访问,代理会直接访问网站,不使用上级代理.另外可以设置域名黑白名单,更加自由的控制网站的访问方式。 本节只使用其内网穿透功能。。。
阿dai 发布于 23小时前 阅读 3

想成为linux大牛,却还在打王者荣耀?怎么办

首先声明,这不是篇干货!不是篇干货,这只是一个最近沉迷于王者荣耀游戏的无知少女的反省!王者荣耀这款游戏最近俘获了不少国民的心,小至小学生,老至老顽童。本人也是其中之一。然而回顾打农药的这段时间,发现自己竟认认真真学习玩英雄,做攻略,却没有认认真真的学习一项linux技术。真的是一入农药深似海,从此linux成路人啊! 痛定思痛,静下心想想该怎么办。本人也相信定不是我一人如此,所以写文谈谈我的想法,听听大家的建议。   寻找个能实现的目标 本人是从事运维开发的,但是一直觉得非科班出身的我基础薄弱,许多运维知识都不懂,开发很多本质也不清楚,虽然能写代码,能做运维,但深知自己的不足。在一番思索下,决定先学习 linux ,巩固好基础才能根基稳啊。寻思着既然要学,要不就顺便考个证吧。在我的慧眼之下,我挑中了红帽 RHCE 证书,毕竟红帽系统的名字也是如雷贯耳,证书的含金量也不错。 除此之外,编程方面我决定先干掉令我颇为痛苦的前端,虽然前端在开发过程中只占据了小部分,然而由于对前端知识的匮乏导致每次debug或写功能时都要花费较长时间去完成,颇为没有效率。因此开发的小目标为:习得 html, css, jquery, javascript 基础,...
问题终结者 发布于 24小时前 阅读 4

如何7步实现根据源码包创建rpm包

### 如何7步实现根据源码包创建rpm包 --- > 本文是"[7 Steps to Build a RPM Package from Source on CentOS / RedHat](http://www.thegeekstuff.com/2015/02/rpm-build-package-example/)"一文的简单翻译。 **version: 0.1.0 2017-11-19** 有时你可能需要获取一个开源应用的源码包,但是可能没有无法通过该应用的RPM文件来安装到系统。 在这种情况下,你既可以编译源码安装,也可以以源码包来创建一个rpm包文件,实现安装应用的功能。 同样存在一种情况即你想要创建一个你自己开发的自定义的RPM包。 这篇指南解释了如何提高源码来创建一个rpm包。 为了创建rpm包,你将需要源码包(通常为一个压缩文件,其内也包含了SPEC文件)。 SPEC文件包含以下说明:如何创建rpm包,包内包含的文件,安装的路径。 RPM将展现创建过程中的测试过程。 执行spec文件中的prep块中定义的系统命令和宏命令。 检测文件列表的内容 执行spec文件中的build块中定义的系统命令和宏命令。在这一步中文件列表中的宏命令也被执行。 创建二进制包文件 创建源码包文件 一旦RPM执行了上述步骤,将创建二进制的包文件和源码包文件。 二进制包文件包含所有安装或卸载包的额外信息的源文件。 通常安装包的所有...
Lu_Castiel 发布于 5天前 阅读 948 评论 7 点赞 2

lvm讲解、磁盘故障小案例

### lvm讲解 ``` DiskA 分区分别为Physical Volume1、Physical Volume2;DiskB 分区为Physical Volume3,在这里Physical volume1,2,3就是磁盘分区 也就是物理卷;然后由单个或多个物理卷组成物理卷组,最后在物理卷的基础上划分出逻辑卷,而逻辑卷格式化后挂载上就可以使用了 ``` #### 准备磁盘分区阶段 - fdisk /dev/sdb - 创建三个新分区,大小分别为2G - 改变分区类型为8e(fdisk中使用t更改类型) 1. 创建新分区 ``` //这里我创建了5个2G的分区,多出的2个留待测试用 [root@24centos7-01 /]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 //创建第一个分区 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-20971519,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2000M 分区 1 已设置为 Linux 类型,大小设为 2 GiB //创建第二个分区 命令(输入 m 获取帮助):n Partition type: p primary (1 primary, 0 ext...
vitus_feng 发布于 3周前 阅读 1283 评论 4 点赞 2

快速了解人工智能结晶之语音转换文字

科技解放生产力,人工智能的应用如今是大热,那么今天就来给各位介绍一下IBM在这方面的一个小的尝试,语音转换文字。咱们来看一看相较于传统的转换,结合Watson的IBM是如何做到让识别率飙升的。
IBM Bluemix

nginx之proxy_pass指令完全拆解

nginx中有两个模块存在proxy_pass指令。proxy_pass后的后端服务器的uri到底是个啥?
永福 发布于 3个月前 阅读 3503 评论 6 点赞 12 打赏 1

工作中redis合库以及aof踩坑记

概述     此文是第一次搞redis主从小白犯的错,大神可以忽略。记录为了让看到本博文的小白前车之鉴 软件资源             centOs:6.5             redis:2.8.10  背景               公司现有架构均是单机模式,本文仅先介绍redis单机踩的坑-- 即生产应用redis均是单一实例,一旦实例挂掉功能就会不可用。现公司业务使用了一台实例(业务实例),一台session共享实例(session实例)。             现需要对现有架构升级(后续会出整个架构升级的相关博客),先从最简单的redis开始开刀,采用主从复制,启用哨兵监听进行主从切换(后续会有相关详细博客)。 基本问题  线上redis仅启用了rdb持久化,需要启用AOF 线上业务实例和session实例 keys<1W,可以把业务实例和session实例合并节约资源 踩坑记     AOF挖坑       已经搭建了主从模式,创建了多个key验证没问题, 很开心ing, 发现需要启用AOF,查看官方文档认为so easy, 于是乎 改改改配置,重启服务,在主节点添加了一个key,主从验证通过, 非常开心ing。     【敲黑板,开始挖坑了哈】 此时模拟极端故障,把主从节点都停掉了,开始依次开启服务,发现仅有开启...
java_龙 发布于 5个月前 阅读 2642 评论 22 点赞 3

如何在国内愉快的安装 Kubernetes

无需翻墙,如何愉快的与K8S 玩耍
无聊的学习者 发布于 7个月前 阅读 9174 评论 20 点赞 4

运维不仅仅是Linux,居然还要知道这么多?

运维不仅仅是懂Linux就行,因为还有一大部分的Windows运维,向windows运维人员致敬。当然我们这篇文章不是说运维除了懂Linux,还要懂Windows,而是涉及运维的其他方方面面。 如:环境部署、排错和调优、备份、高可用和集群、监控告警、安全和审计、自动化和DevOps、虚拟化和云服务。
永福 发布于 7个月前 阅读 5916 评论 28 点赞 21 打赏 3

简单聊聊: linux 匿名管道

  相信很多在linux平台工作的童鞋, 都很熟悉管道符 '|', 通过它, 我们能够很灵活的将几种不同的命令协同起来完成一件任务.就好像下面的命令: echo 123 | awk '{print $0+123}' # 输出246 不过这次咱们不来说这些用法, 而是来探讨一些更加有意思的, 那就是 管道两边的数据流"实时性" 和 管道使用的小提示.   其实我们在利用管道的时候, 可能会不经意的去想, 我前一个命令的输出, 是全部处理完再通过管道传给第二个命令, 还是一边处理一边输出呢? 可能在大家是试验中或者工作经验中, 应该是左边的命令全部处理完再一次性交给右边的命令进行处理, 不光是大家, 我在最初接触管道时, 也曾有这么一个误会, 因为我们通过现象看到的就是这样.    但其实只要有简单了解过管道这工具, 应该都不难得出解释: 管道是两边是同时进行, 也就是说, 左边的命令输出到管道, 管道的右边将马上进行处理.  管道的定义 管道是由内核管理的一个缓冲区,相当于我们放入内存中的一个纸条。管道的一端连接一个进程的输出。这个进程会向管道中放入信息。管道的另一端连接一个进程的输入,这个进程取出被放入管道的信息。一个缓冲区不需要很大,它被设计成为环形的数据结构,以便管道可以被循...
Lin_R 发布于 8个月前 阅读 1786 评论 9 点赞 8 打赏 1

Let's Encrypt 使用教程,免费的SSL证书,让你的网站拥抱 HTTPS

这篇文章主要讲的就是如何让自己的网站免费从HTTP升级为HTTPS,使用的是 [Let's Encrypt](https://letsencrypt.org/)的证书。实际上也就是一个Let's Encrypt 免费证书获取教程 。 为什么要上HTTPS,说一个小故事。 > 从前有个网站,后来有个广告,没了 作为一个博客,自然不想让在被别人浏览的时候,出现莫名的广告([运营商劫持](https://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp&gws_rd=ssl#safe=strict&hl=zh-CN&q=%E8%BF%90%E8%90%A5%E5%95%86%E5%8A%AB%E6%8C%81))。这时候,HTTPS的价值就体现出来了。 HTTPS的好处还有很多,但单单这一条,就够我花心思去升级了。 (其实主要目的是提升网站Biger :) ## Let's Encrypt 简介 如果要启用HTTPS,我们就需要从证书授权机构(以下简称CA) 处获取一个证书,Let's Encrypt 就是一个 CA。我们可以从 Let's Encrypt 获得网站域名的免费的证书。这篇文章也主要讲的是通过 Let's Encrypt + Nginx 来让网站升级到HTTPS。 ## Certbot 简介 [Certbot](https://certbot.eff.org) 是Let's Encrypt官方推荐的获取证书的客户端,可以帮我们获取免费的Let's Encrypt 证书。Certbot 是支持所有 Unix 内核的操作系统的,个人博客的...
DiamondFsd 发布于 10个月前 阅读 5362 评论 33 点赞 17

haproxy和nginx负载均衡分析

出于对负载均衡工具的疑问,分别对haproxy和nginx的负载均衡进行了抓包分析,分析的过程跟大家分享下。先说下对haproxy抓包得到的结论吧:haproxy在负载均衡的一台后端挂掉后,如果还没达到探测的时间点时,请求还会往挂掉的这台转发,请求会丢失。 haproxy负载均衡的实验过程如下: 1: 先看下haproxy的配置。配置inter 20000为20s检测一次,这个是为了更明显的抓下haproxy的负载均衡探测机制。 listen test9090         bind 127.0.0.1:9090         mode tcp         server localhost90 127.0.0.1:90 check inter 20000         server localhost91 127.0.0.1:91 check inter 20000 2: 后端我是用nginx进行测试,看下nginx的配置如下。可在/var/www/html/建个index.html进行测试 server {             listen       90;             listen       91;             location /{                     root /var/www/html;             }     } 先用curl 127.0.0.1:9090进行测试,并在机器上开两个窗口看下抓包是否均衡正常,两个窗口运行的命令分别如下:tcpdump -i lo -nn 'port 90'      tcpdump -i lo -...
鸿弟 发布于 11个月前 阅读 4673 评论 19 点赞 6

Linux Shell 从入门到删除根目录跑路指南

shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ 今天就来聊聊 linux 下一个常见的问题:如何避免误删目录。下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。 1、变量为空导致误删文件 base_path=/usr/sbin tmp_file=`cmd_invalid` # rm -rf $base_path/$tmp_file 这种情况下如果 cmd 执行出错或者返回为空,后果将是灾难性的,那如何防范呢? (1)利用 shell 的变量扩展功能,如果变量为空赋给默认值或者抛出异常退出脚本: echo ${base_path:?var is empty}/${tmp_file:?var is empty} -bash: tmp_file: var is empty (2)人肉判断变量是否为空: [[ ${tmp_file} == "" ]] && echo 1 1 [[ -z ${tmp_file} ]] && echo 1 1 (3)如果变量未定义还可以开启 set 选项: # cat a.sh # 若有用未设置的变量即让脚本退出执行 # set -o nounset # 或 set -u b= echo $b echo $a echo 1 # bash a.sh a.sh: line 4: a: unbound variable # 另外, # 如果命令运行失败让脚本退出执行 set -o errexit # 或 set -e 2、路径含有空格导致误删...
xrzs 发布于 12个月前 阅读 11161 评论 26 点赞 20

zabbix自动发现监控redis数据库

zabbix自动发现监控redis数据库与自动发现mongo,mysql的思路差不多。这次汇总完就把模板,脚本上传到git上。如果公司使用的redis都是6379端口的话,那么还是建议创建一套模板,然后链接到各个服务器即可。如果公司的redis使用的端口比较多,各个都不一样,那还是自动发现并监控redis比较方便。还是一样,先来看下监控的效果图: 上述图形是使用zabbix的筛选功能汇总在一起的图片。监控redis的客户端连接数,使用的内存,实际使用的内存和redis的内存碎片化情况。   下面来讲讲自动发现redis的实现,首先,还是先看下redis自动发现的配置: 探索规则配置完后,同样的在zabbix agentd端需要添加如下配置然后重启zabbix_agentd,配置如下: UserParameter=redis.discover,python /usr/local/zabbix/discover_redis.py 其中/usr/local/zabbix/discover_redis.py自动发现的脚本内容如下 : #coding:utf-8 import json import commands (status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'redis-server'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u''') outputs = output.split('\n') ports = [] for port in outputs: ports += [{'{#RE...
鸿弟 发布于 1年前 阅读 3175 点赞 3

ELK日志分析平台搭建全过程

一、使用背景     当生产环境有很多服务器、很多业务模块的日志需要每时每刻查看时 二、环境 系统:centos 6.5 JDK:1.8 Elasticsearch-5.0.0 Logstash-5.0.0 kibana-5.0.0 三、安装 1、安装JDK 下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 本环境下载的是64位tar.gz包,将安装包拷贝至安装服务器/usr/local目录 [root@localhost ~]# cd /usr/local/  [root@localhost local]# tar -xzvf jdk-8u111-linux-x64.tar.gz 配置环境变量 [root@localhost local]# vim /etc/profile 将下面的内容添加至文件末尾(假如服务器需要多个JDK版本,为了ELK不影响其它系统,也可以将环境变量的内容稍后添加到ELK的启动脚本中) JAVA_HOME=/usr/local/jdk1.8.0_111 JRE_HOME=/usr/local/jdk1.8.0_111/jre CLASSPATH=.:$JAVA_HOME/lib:/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin export  JAVA_HOME export  JRE_HOME ulimit -u 4096 [root@localhost local]# source /etc/profile 配置limit相关参数 [root@localhost local]# vim /etc/security/limits.conf 添加以下内容 * soft nproc 65536 * hard nproc 6553...
运维2016 发布于 1年前 阅读 5644 评论 12 点赞 6

zabbix自动发现监控mongo数据库

监控mongo写个模板其实挺快的,如果公司每个mongo使用的端口都一致的话,就可直接建立一套模板,然后这个模板链接到各个服务器上即可。但如果公司使用mongo的端口如果不一致的话,那建议使用zabbix的自动发现的功能,自动发现mongo监听的端口,并对它进行相关数据的收集。   先看一下效果图, 此监控图是zabbix的筛选功能可能把相关的图整合到一个页面里面去。   具体的自动发现实现如下: 探索规则配置如上,机器上的zabbix agent配置如下: UserParameter=mongo.discover,python /usr/local/zabbix/discover_mongo.py   其中/usr/local/zabbix/discover_mongo.py为自动发现的脚本,脚本内容如下: #coding:utf-8 import simplejson as json import commands (status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'mongod'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u|grep -v "^28"''') outputs = output.split('\n') ports = [] for port in outputs: ports += [{'{#MONGOPORT}': port}] print json.dumps({'data':ports},sort_keys=True,indent=4) 使用系统命令netstat把监听的端口筛选出来,然后以json的格式进行输出。定义到...
鸿弟 发布于 1年前 阅读 2105 评论 1 点赞 5

容器集群管理平台的比较

本文简单介绍了主流的容器管理平台包括Swarm,Kubernetes,Mesos,AWS ECS,并对它们做了基本的比较。
naughty 发布于 1年前 阅读 5501 评论 2 点赞 5 打赏 1

“Linux 集群和自动化运维”高手问答精选

来自OSC 第 126 期高手问答主题——Linux 集群和自动化运维
局长 发布于 1年前 阅读 2070 评论 3 点赞 3

redmine 安装过程中的无数坑

自己在网上看到redmine,感觉功能很强大。于是自己就开始安装,但是谁想到在安装过程中的坑呀,摔的自己遍体鳞伤,自己做一下总结,希望别人能绕过这些坑,走直路。 1. 安装环境:     系统:ubutu12.04  架构:LAMP  安全:防火墙和selinix(全部关闭) 2.安装流程:                                                                                                                                                         A. 安装ruby                                                                                                                                                              #官网下载 ruby-2.2以上的版本,否则安装过程中的组件会安装不上。(以2.2.4为例) # tar zxvf ruby-2.2.4.tar.gz          # cd ruby-2.2.4 # ./configure  # make && make install 设置Ruby环境变 vim ~/.profile export PATH=$PATH:/usr/local/src/ruby-2.2.4/        B.安装...
渺渺星辰 发布于 1年前 阅读 1583 评论 12 点赞 4

基于LVS的AAA负载均衡架构实践

本次分享将从一次实际的负载均衡改造案例出发,通过介绍项目背景、选型思路、测试方法和问题分析等方面展开,总结负载均衡架构的一般套路和经验教训。
RiboseYim 发布于 1年前 阅读 3029 评论 6 点赞 9

似乎找到 OSChina 早上 8 点钟容易宕机的原因

最近一段时间,OSChina 网站在早上 8 点出头的时候很容易因为数据库连接池爆满而导致网站宕机。表现的情况是数据库处理大量的查询,堆积大量并发连接,导致无法再连接到数据库,执行一个简单的查询速度也非常慢,数据库机器的 CPU 很高。 但事实上早上 8 点并非 OSC 网站的高峰期,高峰期的时候都不会挂,为什么偏偏在这么一个没多少人访问的时间点宕机呢? 找了很久没发现系统在 8 点这个时间点有什么特殊的任务要做,对数据库也做了一些调整,包括 “MySQL Can’t Create Thread: Errno 11 ” 的问题。 但是问题依旧。 再次挨个检查系统 crontab 中定义的作业。其中自动构建 Lucene 索引的作业引起了注意。 */5 8-22 * * * /data/oschina/build.sh lucene_build 系统每 5 分钟执行一次增量索引构建,该构建过程仅在一天早上8点到晚上10点钟进行。 我记得当初这么设置的原因是有一个索引的构建容易出问题,为了避免出问题时没人处理,因此设置了这个时间段,后来一直没去调整。 再查看系统跑 lucene 的进程,我靠,那么那么那么多。。。。。 赶紧一个 killall java 杀掉所有的 lucene 索引构建进程,没几秒钟数据库的连接就下来了,系统恢复正常访问。 所以我现在有 80% ...
红薯 发布于 1年前 阅读 11689 评论 105 点赞 34

关于自动化配置还有什么好说的呢?

最近我们团队正在将生产环境的配置进行自动化。简单地说就是使生产环境在任何地方都可以快速的搭建起来,比如程序员在自己的机器上,公司内部的机器上,还有云上。 本文就是想阐明为什么要自动化配置。 进行配置自动化的这个过程,我发现,问题不在于程序员懂不懂Ansible、Chef、Puppet这些自动化配置工具的使用。 问题在于对“配置”本身的理解。我甚至发现还有运维人员也不能理解为什么要将配置自动化。 ### 配置是什么? 很多人都将搭建Tomcat、Nginx这类脚本理解成一个个“任务”。这类脚本还不能被称为“配置”。 而这类Tomcat、Nginx的安装脚本大概是这样: ```shell apt-get install build-essential apt-get install libtool cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz tar -zxvf pcre-8.37.tar.gz cd pcre-8.34 ./configure make make install ..... ``` 脚本来自:http://www.nginx.cn/install 运行这类脚本时,大脑里的概念是:我要“安装”Tomcat、Nginx。这类脚本被当成“动词”存在。也就是说在面对一台机器时,我们的思维方式是:我要写一个`if`来判断Tomcat是不是已经安装,如果没有安装,就是执行a...
翟志军 发布于 1年前 阅读 8495 评论 16 点赞 8

基于Linux命令行KVM虚拟机的安装配置与基本使用

在生产环境中,一般服务器是不安装桌面环境的。本文主要讲解的就是在Linux命令行下安装与配置KVM虚拟机。
PeanutLike 发布于 1年前 阅读 2927 评论 3 点赞 13
顶部