转载ttlsa的一篇文章,写的不错,分了几种场景。http://www.ttlsa.com/nginx/nginx-get-user-real-ip/ 随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到
proxy_redirect语法:proxy_redirect [ default|off|redirect replacement ] 默认值:proxy_redirect default 使用字段:http, server, location 如果需要修改从被代理服务器传来的应答头中的”Location”和”Refresh”字段,可以用这个指令设置。假设被代理服务
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr结果是以 打开的文件描述符数量:进程号 的格式排序的 。降序排序
转载自 http://www.ttlsa.com/php/php-fpm-static-and-dynamic/ 如果设置成static,进程数自始至终都是pm.max_children指定的数量,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers配置将没有作用。如果设置成dynamic,则进程数是动态的,最开始是pm.
备忘:vim(一定要是vim,不能是vi)打开文件,ctrl -v 选择列:再按shift + i ,光标会跳到选择的列的最上面一行的列首。进行编辑,比如按空格,进行格式调整,调整完毕,再按esc,就会对所有选择的列生效。要删除选择的列块,ctrl-v选择列块后,按d即可
某分区df观察空间剩余不多,删除一些无用的旧日志,但df观察仍然剩余 空间不够。但du观察文件占用的空间并不多。这是因为df会把被删除但并未被进程释放的旧文件统计在内。解决方法:lsof |grep deleted 看看被删除了的文件,还在被哪些进程打开。 重启这些进程即可。(确有必要,可以杀死进程,但如果有服务脚本,还是重启的好)
转载自 http://www.cnblogs.com/coder2012/p/3142632.html
内存还有很多,使用了swap这时候,swap未必影响到性能:换句话说,现在swap里存储的还是不常使用的数据也就是swap正在发挥正常的作用)根据内存管理算法,当长时间没有访问内存page后,这个page就被换出了,不影响使用的。不过应该可以换个换页算法,尽量不让换出去。还有就是说明那个进程占用了大量的内存,而这些内存又长时间没有被使用,所以会被交换到swap分区也就是说,内存发生了换页,不常用的
top看到的内存有 res shr virt 几种这几种有不同的意义:res : 1. 进程当前正在使用的内存,包括比如malloc new等各种方法分配的堆内存,和程序方法调用的栈内存。但是不包括 swap out空间。2. 包括其他进程的共享空间 。3. 如果进程申请了10MB的内存,而实际只使用了1MB,那么res增长
有时候,我们需要备份某个目录,并排除该目录的一些子目录这就需要用到find的逻辑表达式-o -a 和find的动作-prunefind /opt/nginx/ -path /opt/nginx/logs/* -prune -o -print-o 是逻辑运算,shell中是短路操作,只要前面为真,后面就不会计
最简单的解决办法:随便在文档中搜索一个不存在的字符串,然后保存文档即可。或者其他方法:去掉文档高亮显示搜索字符串:命令行模式下 :nohlsearch去掉文档高亮显示搜索字符串:命令行模式下 :set nohls (其实同上,写法不同而已)
if [ "$test"x = "test"x ]这里的关键有几点: 1 使用单个等号 ,两个等号都可以2 注意到等号两边各有一个空格:这是unix shell的要求 3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。而如果没有这个x,表达式就会报错:[: =: unary operator
首先,要做数据库主从,略过。2. 下载amoeba,解压到某个目录,一般是解压到/usr/local/amoeba/目录3. 配置amoeba,只要实现读写分离的话,需要配置两个文件 (1) dbServers.xml (2) amoeba.xml在dbServers.xml需要指定通过amoeba能够连接那些数据
1.顺序不可乱,否则,任何IP都访问不了首先,放行要允许的IP2.最后,拒绝所有IPiptables是按照规则顺序进行匹配的,一旦遇到拒绝规则,对这个端口/服务的规则就不往下走了。所以,切记,允许在前,拒绝在后。而且,拒绝最后不可少,否则,达不到,只允许特定IP访问的目的。不把拒绝规则放在最后的话,则是所有IP都能访问。
本文参考了刘宇的《puppet实战》,并得到他的指导。在此,感谢刘宇。前一篇文章提到,利用Puppet来给客户端自动生成在服务端定义好的文件。我们这里继续引申,来从服务端定义客户端需要安装的软件。这里我们以安装httpd举例。在服务端,需要定义模块,我们定义一个httpd模块,名字就叫httpd。目录结构如下:puppet/ |-- auth.conf |-- environm
puppet作为自动化运维当中的重要工具,其可以进行批量服务器或者指定服务器软件版本更新、配置更新等等。闲话少说,直接进主题。软件版本:OS :cat /etc/issue CentOS release 5.8 (Final) #### i386Kernel \r on an \mpuppet --version3.7.1在puppet服务端和客户端
线上服务器会对ssh服务改成非22端口,这时候,在服务器之间建立双机互信的情况下,若使用ssh-copy-id命令,不经过特定的语法,会报错。如图:[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub -p 10022 root@*.*.*.*
经常要给服务器增加epel源,这里记录一下,省得老是上网查epel的地址。一、概述:epel是一种yum仓库,里面提供了更多、更丰富的linux软件,但是,它不是默认的yum仓库,我们需要手工添加这个yum源。以下就是添加这个yum源的方法:二、开始添加epel yum源epel源是fedora的软件计划,为此,我们可以登录任意一个fedora的镜像。我们这里使用搜狐的镜像,http://mirr
需求: 实时统计当前history命令共有多少条,并显示。看起来很简单,先写一个脚本如下:[root@ ~]# cat num_of_history.sh #!/bin/bash history | wc -l然后,执行它:[root@ ~]# sh num_of_history.sh 0奇怪,怎么是0呢?那我们命令行执行这个脚本的内容看看?
这个问题,涉及到具体的项目,项目需要从一个配置文件中读取一些变量的值,比如数据库的名称,数据库的用户,数据库的密码等等。在/etc/profile里面声明了配置文件的路径项目里面的代码会从这个路径读取到配置文件,然后从配置文件里面读取上述变量的值。问题是:启动项目时,发现连接数据库总是去192.168.1.2连接,这是不正确的,应该是读取本机上的数据库才对,也就是应该去localhost连接数据库
将客户的访问请求转发到另外一台主机 iptables -t nat PREROUTING -d 1.2.3.4 --dport 80 -j DNAT &nbs
更改了yum的原始设置,这方面文章很多,就不多叙了。 其中,更改了 /etc/yum.conf里面的内容 把 cachedir=/var/cache/yum 这个路径改了,由于服务器上该路径对应的空间已满,所以把这个路径改到另外一个空间足够的目录 但是,yum install ***
Linux 命令 一句话1.删除0字节文件find -type f -size 0 -exec rm -rf {} \;2.查看进程按内存从大到小排列ps -e -o "%C : %p :&nb
Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程一、http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。下载地址:http://soft.vpser.net/test
用脚本实现,接受用户传参,用脚本去检测用户所传的参数是否有对应进程,并根据实际情况显示不同的信息
cat create-batch-file.sh #!/bin/bash for i in {1..10} do touch $i done
通过expect脚本和bash脚本配合,批量修改主机名
简述VIM替换,查找的命令
用Linux的命令行的人都知道,mkdir命令是用来创建目录的。 并且 -p参数可以创建多级目录,假如指定的上级目录不存在,会依次创建 看一个简单的例子,当前目录是没有11/22/33这样的目录树的,我们创建之。 [root@*** ~]# ll total 188 -rw------- 1&nb
这些东西经常用,才能熟悉 正则表达式,经常用,才记得住 把随手用到的记下来,方便自己查阅。 要求:stat命令可以查看一个文件的权限属性,诸如0644之类,现在只要求显示0644,不要求显示其他的,用Linux 命令完成 方法很多,只给出其一 先看stat命令的完整显示: [root@*** ~]# s
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号