自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

原创 nginx+confd+etcd的配置自动管理

一、配置文件1、etcd配置数据:/apps/svr/etcd/bin/etcdctl set /service_sgin/upstream/service1/server1 192.168.1.1 /apps/svr/etcd/bin/etcdctl set /service_sgin/subdomain/service1 "www.service1.com"2、confd安

2017-06-18 00:00:47 7339

原创 删除大日志文件对系统负载的影响

测试方法1、是用dd命令创建一个100G的大日志文件2、是用time、dstat、iostat命令秒级监控系统负载已经IO情况的同时,是用rm、truncate -s 1024*1024*4 filename、echo -n命令删除日志文件3、总结删除100G文件的耗时,系统负载以及内存等的一些影响。创建100G大日志文件:ddif=/dev

2017-05-03 20:46:36 1813

原创 cgroup与supervisor

一、cgroupLinux CGroup全称Linux Control Group, 是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU、内存、磁盘输入输出等)。1、安装配置:安装cgroup yum install libcgroup修改/etc/cgconfig.conf文件重启cgroup service cgconfig resta

2017-04-10 21:24:11 1119

翻译 FastCGI协议与php通信

一、背景最近有一个这样的需求,需获取php应用的一些数据,例如php加载的环境变量、php opcache缓存数据等,为了提高通用性,目前能想到最好的方法就是直接模拟FastCGI协议,与php的端口直接通信,获取相应的数据,具体怎么实现呢:FastCGIClient.py#!/usr/bin/python# -*- coding: utf8 -*-import so

2017-03-29 20:44:50 1426

原创 varnish + nginx搭建初试验

一、部署搭建:具体的部署搭建方法就不详细介绍,按照官网的方法安装varnish即可,下面说一说,在部署中遇到的一些问题,记录一下。1、安装时出现libc版本过低的问题:系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的解决方法:查看系统glibc支持的版本:可以看到最高只支持2.12版本,所以考虑编译解决这个问题,下载2.14版本的glibc:ht

2017-03-09 21:10:12 2869

原创 squid缓存的初搭建

一、squid安装:1、yum安装:sudo yum install squid2、服务启动:sudo service squid start3、加入开机启动:sudo chkconfig squid on二、squid配置:squid正向代理在squid上配置:acl http proto HTTPacl allow_domain dstdomain te

2017-03-06 21:12:32 606

原创 iptables查询自动加载nf_conntrack模块引起故障

背景:ip_conntrack是linux NAT的一个跟踪连接条目的模块,与Iptables相关,ip _conntrack模块会使用一个哈希表记录 tcp 通讯协议的 established connection记录,当这个哈希表满了的时候,便会导致nf_conntrack: table full, dropping packet错误。

2017-02-21 22:45:28 6304

原创 zookeeper集群与kafka集群搭建

一、zookeeper集群1、软件环境三台服务器进行测试(zookeeper集群是超过半数存活才能对外提供服务,所以一般选择单数台进行集群搭建)11.11.11.11 server122.22.22.22 server233.33.33.33 server32、安装与配置:1、安装好java等相关环境后,安装zookeeper,安装方法比较简单,不举例2、配置

2017-01-24 16:35:17 537

原创 tomcat and PHP

一、PHP:修改了系统环境变量、php-fpm.conf、php.ini是否需要重启PHP生效?1、CGI:公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。具体来说:web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web serv

2017-01-23 22:33:52 455

原创 nginx模块geo and geoip

一、nginx编译:为了方便测试,编译时加入了nginx的第三方模块echo输出:nginx编译参数:--prefix=/apps/svr/nginx-geo-geoip --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_addition_module

2017-01-08 15:31:13 3618

原创 一次MAT分析logstash内存溢出

一、这些天遇到这样的一个情况,磁盘爆满后,上去删除了一个大文件,但是df -h后发现磁盘空间并没有释放。

2017-01-02 23:17:53 8283 2

原创 挂载nfs的客户端目录只读

一、背景:在部署好nfs服务器和客户端的,准备再客户端挂载,出现了nfs service denied的情况,解决了这个问题后,客户端成功挂载,但客户端的挂载目录却成了只读。1、nfs服务器部署启动好后,在客户端挂载出现了如下的报错:2、查看nfs服务器的nfs启动日志:安装的nfs版本是NFSv4而使用NFSv4时,需要修改nfs的配置vim /etc/sysconfig

2016-12-18 18:37:02 11485

原创 nginx编译和一些moudle的测试

一、1、最近看了下ngx_http_addition_module模块,这个模块在响应之前或者之后追加文本内容,比如可以追加一个js或者css,可以使用这个模块来实现。于是按照官网,在nginx的配置文件添加了相应的配置,在重启nginx的时候发现,nginx在编译的时候没有编译这个模块,为了测试,自己下了个nginx源码进行编译,在编译过程中也遇到了一些问题:2、编译:在

2016-12-11 21:20:48 578

原创 ftp创建文件权限问题

一、问题有一个这样的需求,admin为一个Linux为其FTP应用创建的一个有权限限制的用户,通过admin用户可以进行登录FTP服务,登录FTP服务后,创建文件夹,该文件夹的用户和用户组都是admin,属性为755,即只有admin用户才有写的权限,但是,FTP后台是通过b用户登录Linux系统执行程序上传文件到FTP服务器,由于FTP服务器的文件夹都是由admin用户创建的,且属性为755

2016-12-06 23:20:40 37103

原创 worker process 245421 exited on signal 11

问题引出:这几天在重现一些问题时,用到nginx时,在部署好nginx后去curl时出现了no response data的问题,用浏览器抓包分析时也发现,并没有任何返回的数据,这让我觉得很奇怪,任何http状态码都没有返回,不管怎么调整nginx的配置,结果还是这样。1、查看了nginx的错误日志,发现了worker process 245421 exited on signal

2016-11-06 23:07:47 9730 1

原创 关于丢失或者损坏/etc/fstab文件后的一些探讨

1、模仿,假设不小心删除了/etc/fstab文件:大家都知道,Linux系统启动的时候会读取该文件来挂载分区,如果缺失该文件,系统一般不能正常启动。2、采用reboot命令或者alt+ctrl+del组合键重启Linux系统,这里发生了两个情况:一是系统不能正常启动:怎么办?a、系统因为缺失fstab文件不能正常启动,只能先进入单用户模式,创建修复fstab文件。那么怎么进入单用

2016-11-03 23:21:00 6132

原创 wireshark分析

1、DNS解析:整个流程a、访问唯品会的主页vip.com,浏览器向DNS请求解析www.vip.com的IP地址;b、DNS解析返回www.vip.com的IP地址;c、浏览器与服务器建立TCP连接wireshark中DNS分组:DNS的请求分组:由图可以看出,DNS解析是基于UDP协议,源端口为55420,目的端口为53DNS的响应分组:由图可以看出,DNS

2016-10-25 23:40:51 419

原创 安全运维

一、前言:最近学了一些关于安全运维的一些东西,整理记录一下。1、删除特殊的用户和用户组:我们的Linux都有很多的特殊用户和用户组,针对一些没用的默认用户和用户组,可以删除,减少被利用的风险。系统默认用户:系统默认用户组:可使用  userdel 用户名  去删除一些没用的用户,如adm,lp,halt,news等可使用 groupdel 用户组  去删除一

2016-10-18 23:37:06 5076

原创 resolv.conf中的nameserver

一、问题背景:自己搭建了DNS域名解析服务器和nacd后,在resolve.conf下nameserver上配置了,发现nameserver的数量是有限制的,超过一定数量后,后面添加的将没有什么作用。二、实践:1、部署好dns解析服务器后,在resolve.conf中配置了nameserver,可以正常解析了:nslookup解析:2、当resolve.conf

2016-09-19 23:13:23 22806

原创 nohup

问题引出:这几天遇到一个问题,调用别人写的nginx啊、logstash啊等等一些启动脚本(如:nginx_start.sh)的时候,ps查看了一下进程,发现应用起来后,启动脚本的进竟然也还在,看了一下脚本,里面用nohup方法,理论上进程起来后,启动脚本的进程不应该还在才对,针对这个现象,自己做了一些测试。一、模仿写了一个nginx“启动”脚本,如下:#!/bin/bash#

2016-09-11 21:31:05 468

原创 Linux DNS解析与NSCD缓存

搭建好DNS服务器后,配置nscd,用strace命令做了如下测试:1、在/etc/resolv.conf文件中指定好DNS服务器NDS可以正常解析:strace ping aaa.shan.com,得到结果如下:正确解析出结果2、移走resolv.conf文件后starce ping aaa.shan.com 结果如下:可以通过nscd的缓存找

2016-09-05 23:09:02 3787

原创 shell脚本检查统计nginx访问日志access.log

1、统计nginx的访问日志,统计访问总数,http状态码信息等思路:先将access.log日志中的http状态码取出来,在我的nginx.conf配置下,access.log中一般awk ‘{print  $9}’即为http状态码,但为了确保不会出现问题,首先采用grep精确匹配到格式为:HTTP/1.0或HTTP:/1.1 状态码,并用awk去除$2即为http状态码,最后通过wc命令

2016-08-29 23:10:55 7459 1

原创 shell脚本查看系统基本信息

1、一个可以查看和监控Linux一些基本信息的脚本:初步代码reset_terminal=$(tput sgr0) #定义一个高亮输出的变量 #OS type os_type=$(uname -o) echo -e '\E[32m' "OS type:" $reset_terminal $os_type #OS release version os_vers

2016-08-29 09:33:26 5896

原创 Shell脚本命名引发的问题

1、问题描述:要怎么样监视Linux下的一些进程是否在运行,对于一些必要启动的进程,如果监视到该进程挂了,没有在运行,要自动启动该进程,并报警。这里以sshd进程为例进行一些实验:2、实验结果:a、首先查看一下sshd进程的状况:b、编写脚本(sshd_test.sh)实现判断功能:首先通过ps命令(要去除grep命令本身的影响)看看sshd进程存不存在,如果不存在,则启动ss

2016-08-14 20:45:05 1777

原创 磁盘报警

1、grep:行截取命令2、cut:列截取命令:-f  列号    -d  分隔符cut 命令的不足:不适合分隔符不标准

2016-08-02 20:54:01 2352

原创 正则表达式

Linux的基础正则表达式如下:1、* 的用法:对前一个字符重复0次或者任意多次操作!     在test.txt文件中写入如下内容:然后执行如下命令发现:Linux中当*作为通配符时匹配的任意的字符,而在正则表达式中表示的是重复前一个字符0次或者n次2、. 匹配除换行符的任意一个字符,类似于通配符中的?号。3、^ and $ :

2016-08-02 20:42:51 348

原创 Linux 软链接

1、遇到这样一个问题:想修改/etc/rc.local文件,ls -lh一下发现有这样一个软链接 /etc/rc.local -> rc.d/rc.local,有这样的疑问,修改链接文件或者原文件,都会同步,那这样,如果我修改的时候要删除文件,然后再把wget回来,这种情况下,拿链接文件入手跟原文件入手,有没有什么区别?做如下尝试:a.先从原文件入手:步骤:删除原文件后,ll

2016-07-28 11:37:22 863

翻译 linux权限

一、文件基本权限1、基本权限初认识:  -rw-r--r--       (r 读    w 写    x  执行)最前面的 - :文件类型(- 表示文件,d表示目录,l表示软连接文件)rw- ——u所有者r-- ——g所属组r-- ——o其他人2、基本权限修改:chmod 命令: chomd  [选项]  模式  文件名     -选项:   -R 

2016-07-20 23:50:35 375

原创 nginx配置引发的403问题

一、问题:在curl nginx配置的本地域名时出现403nginx_error.log日志如下:二、疑问1、www.requesturi.com配置如下:发现root目录与error日志中的禁止访问的文件不一致,理论上访问www.requesturi.com应该到/usr/local/nginx/html1去查找,为何显示的确是/usr/local/nginx/h

2016-07-18 11:03:26 26162

翻译 nginx location匹配

例1、nginx配置:例2、nginx  配置:例3、nginx配置:

2016-07-13 15:35:18 621

原创 X_Forward_For(XXF)获取用户IP

用户访问web server时,可能会经过多层proxy server,此时获取用户IP的方法:1、用户访问链经过CDN:统一配置xxf模式,在web端获取到的XXF形式为:{用户IP(CDN_SRC_IP),proxy server1 IP,proxy server2 IP....}2、不经过CDN:统一配置XXF模式,在web端获取到的XXF形式为:{proxy server IP..

2016-07-11 14:32:29 3128

原创 solr 简记

1、什么是solr?        Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。solr的使用可以减轻数据库压力,提升网站性能。2、solr工作原理:        solr是通过生成

2016-07-11 09:23:12 337

原创 SSH学习笔录

配置ssh服务,实现:1、只监听本地址内网地址2、允许root用户ssh直接登陆3、端口使用22224、禁用DNS访问一、ssh配置详解: vim   /etc/ssh/sshd_configPort 2222   #端口#AddressFamily anyListenAddress  10.191.122.40   #监听的主机适配器#ListenAddres

2016-07-07 18:33:17 310

明日科技Android入门到精通demo

Android开发经典教材系类代码源码,全方位Android开发学习代码

2015-12-05

java API中文参考文档

Java中文API文档,跟官网API文档一样,由中文加些英文组成

2015-01-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除