- 博客(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 7418
原创 删除大日志文件对系统负载的影响
测试方法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 1915
原创 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 1192
翻译 FastCGI协议与php通信
一、背景最近有一个这样的需求,需获取php应用的一些数据,例如php加载的环境变量、php opcache缓存数据等,为了提高通用性,目前能想到最好的方法就是直接模拟FastCGI协议,与php的端口直接通信,获取相应的数据,具体怎么实现呢:FastCGIClient.py#!/usr/bin/python# -*- coding: utf8 -*-import so
2017-03-29 20:44:50 1448
原创 varnish + nginx搭建初试验
一、部署搭建:具体的部署搭建方法就不详细介绍,按照官网的方法安装varnish即可,下面说一说,在部署中遇到的一些问题,记录一下。1、安装时出现libc版本过低的问题:系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的解决方法:查看系统glibc支持的版本:可以看到最高只支持2.12版本,所以考虑编译解决这个问题,下载2.14版本的glibc:ht
2017-03-09 21:10:12 2919
原创 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 631
原创 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 6374
原创 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 566
原创 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 482
原创 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 3662
原创 一次MAT分析logstash内存溢出
一、这些天遇到这样的一个情况,磁盘爆满后,上去删除了一个大文件,但是df -h后发现磁盘空间并没有释放。
2017-01-02 23:17:53 8521 2
原创 挂载nfs的客户端目录只读
一、背景:在部署好nfs服务器和客户端的,准备再客户端挂载,出现了nfs service denied的情况,解决了这个问题后,客户端成功挂载,但客户端的挂载目录却成了只读。1、nfs服务器部署启动好后,在客户端挂载出现了如下的报错:2、查看nfs服务器的nfs启动日志:安装的nfs版本是NFSv4而使用NFSv4时,需要修改nfs的配置vim /etc/sysconfig
2016-12-18 18:37:02 11648
原创 nginx编译和一些moudle的测试
一、1、最近看了下ngx_http_addition_module模块,这个模块在响应之前或者之后追加文本内容,比如可以追加一个js或者css,可以使用这个模块来实现。于是按照官网,在nginx的配置文件添加了相应的配置,在重启nginx的时候发现,nginx在编译的时候没有编译这个模块,为了测试,自己下了个nginx源码进行编译,在编译过程中也遇到了一些问题:2、编译:在
2016-12-11 21:20:48 608
原创 ftp创建文件权限问题
一、问题有一个这样的需求,admin为一个Linux为其FTP应用创建的一个有权限限制的用户,通过admin用户可以进行登录FTP服务,登录FTP服务后,创建文件夹,该文件夹的用户和用户组都是admin,属性为755,即只有admin用户才有写的权限,但是,FTP后台是通过b用户登录Linux系统执行程序上传文件到FTP服务器,由于FTP服务器的文件夹都是由admin用户创建的,且属性为755
2016-12-06 23:20:40 37813
原创 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 9990 1
原创 关于丢失或者损坏/etc/fstab文件后的一些探讨
1、模仿,假设不小心删除了/etc/fstab文件:大家都知道,Linux系统启动的时候会读取该文件来挂载分区,如果缺失该文件,系统一般不能正常启动。2、采用reboot命令或者alt+ctrl+del组合键重启Linux系统,这里发生了两个情况:一是系统不能正常启动:怎么办?a、系统因为缺失fstab文件不能正常启动,只能先进入单用户模式,创建修复fstab文件。那么怎么进入单用
2016-11-03 23:21:00 6347
原创 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 445
原创 安全运维
一、前言:最近学了一些关于安全运维的一些东西,整理记录一下。1、删除特殊的用户和用户组:我们的Linux都有很多的特殊用户和用户组,针对一些没用的默认用户和用户组,可以删除,减少被利用的风险。系统默认用户:系统默认用户组:可使用 userdel 用户名 去删除一些没用的用户,如adm,lp,halt,news等可使用 groupdel 用户组 去删除一
2016-10-18 23:37:06 5161
原创 resolv.conf中的nameserver
一、问题背景:自己搭建了DNS域名解析服务器和nacd后,在resolve.conf下nameserver上配置了,发现nameserver的数量是有限制的,超过一定数量后,后面添加的将没有什么作用。二、实践:1、部署好dns解析服务器后,在resolve.conf中配置了nameserver,可以正常解析了:nslookup解析:2、当resolve.conf
2016-09-19 23:13:23 23218
原创 nohup
问题引出:这几天遇到一个问题,调用别人写的nginx啊、logstash啊等等一些启动脚本(如:nginx_start.sh)的时候,ps查看了一下进程,发现应用起来后,启动脚本的进竟然也还在,看了一下脚本,里面用nohup方法,理论上进程起来后,启动脚本的进程不应该还在才对,针对这个现象,自己做了一些测试。一、模仿写了一个nginx“启动”脚本,如下:#!/bin/bash#
2016-09-11 21:31:05 520
原创 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 3845
原创 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 7559 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 6030
原创 Shell脚本命名引发的问题
1、问题描述:要怎么样监视Linux下的一些进程是否在运行,对于一些必要启动的进程,如果监视到该进程挂了,没有在运行,要自动启动该进程,并报警。这里以sshd进程为例进行一些实验:2、实验结果:a、首先查看一下sshd进程的状况:b、编写脚本(sshd_test.sh)实现判断功能:首先通过ps命令(要去除grep命令本身的影响)看看sshd进程存不存在,如果不存在,则启动ss
2016-08-14 20:45:05 1811
原创 正则表达式
Linux的基础正则表达式如下:1、* 的用法:对前一个字符重复0次或者任意多次操作! 在test.txt文件中写入如下内容:然后执行如下命令发现:Linux中当*作为通配符时匹配的任意的字符,而在正则表达式中表示的是重复前一个字符0次或者n次2、. 匹配除换行符的任意一个字符,类似于通配符中的?号。3、^ and $ :
2016-08-02 20:42:51 365
原创 Linux 软链接
1、遇到这样一个问题:想修改/etc/rc.local文件,ls -lh一下发现有这样一个软链接 /etc/rc.local -> rc.d/rc.local,有这样的疑问,修改链接文件或者原文件,都会同步,那这样,如果我修改的时候要删除文件,然后再把wget回来,这种情况下,拿链接文件入手跟原文件入手,有没有什么区别?做如下尝试:a.先从原文件入手:步骤:删除原文件后,ll
2016-07-28 11:37:22 936
翻译 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 546
原创 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 26360
原创 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 3273
原创 solr 简记
1、什么是solr? Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。solr的使用可以减轻数据库压力,提升网站性能。2、solr工作原理: solr是通过生成
2016-07-11 09:23:12 375
原创 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 352
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人