海运的博客

Apache运行模式选择prefork和worker

发布时间:May 22, 2012 // 分类:Apache // No Comments

prefork是Unix平台上默认的MPM,编译时可使用参数./configure –with-mpm=worker自定义。
查看当前MPM:

#https://www.haiyun.me
httpd -V|grep mpm
 -D APACHE_MPM_DIR="server/mpm/prefork"

prefork采用预派生子进程方式,用单独的子进程来处理不同的请求,每个进程时间内只能维持一个连接,进程之间彼此独立。
prefork配置:

<IfModule prefork.c>
ServerLimit      256 #服务器端连接数限制,最大2000
StartServers       8 #初始启动8个进程
MinSpareServers    5 #最小空闲进程数
MaxSpareServers   20 #最大空闲进程数,超过限制父进程将杀死多余的子进程。
MaxClients       256 #最大连接、进程数,一般和ServerLimit相同,超过此限制的请求进入等候队列。
MaxRequestsPerChild  4000 #每个进程生存期间可处理请求次数,超过终结此进程。
</IfModule>

worker支持多线程和多进程混合模型的MPM,使用多线程来处理,可以处理相对大量的请求,而系统资源的开销要小于基于prefork的服务器。
worker配置:

<IfModule worker.c>
StartServers         10 #默认启动子进程数
MaxClients         150 #同一时间最大连接数
MinSpareThreads     25 #最小空闲线程数
MaxSpareThreads     75 #最大空闲线程数
ThreadsPerChild     25 #每个进程建立的常驻线程数
MaxRequestsPerChild  40000 #每个进程生存期间可处理请求次数,超过终结此进程。
</IfModule>

Linux下清除登录记录及历史命令

发布时间:May 22, 2012 // 分类:Linux基础 // No Comments

查看历史登录记录:

last
utmpdump /var/log/btmp

清除历史登录记录:

echo > /var/log/wtmp

查看失败登录记录:

lastb
utmpdump /var/log/btmp

清除失败登录记录:

echo > /var/log/btmp

清除历史命令:

history -c
echo > ~/.bash_history 

Awk/Sed中调用shell变量方法

发布时间:May 19, 2012 // 分类:Shell // No Comments

Awk和Sed是Linux下很强大的两个文件处理工具,在编写Shell的时候经常要调用变量,记录调用方法。
1.Awk中调用方法:
1.1.使用"'$var'"方式:

#/bin/bash
num=1
awk -F: '{print $"'$num'"}' /etc/passwd

1.2.通过awk -v参数定义:

#!/bin/bash 
num=1
awk -v a=$num -F: '{print $a}' /etc/passwd

2.Sed中调用方法:

#!/bin/bash
#https://www.haiyun.me
for ((i=1; i<25; i++))
do
        ip=`sed -n "$i"p ip.txt`
        sed -i ''"$i"' s/$/ '"$ip"'/' ip-mac.txt
done

PHP动态编译添加snmp模块

发布时间:May 19, 2012 // 分类:PHP // No Comments

因程序原因需临时添加snmp支持,不想重新编译php,可动态编译添加snmp模块。
进入PHP源码扩展目录:

cd php-5.2.17/ext/snmp
/usr/local/php/bin/phpize 
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

加载模块:

cat >> /usr/local/php/etc/php.ini <<EOF
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension=snmp.so
EOF

重新加载配置文件,查看snmp.so是否加载。

php -m

Apache配置301重定向

发布时间:May 19, 2012 // 分类:Apache // No Comments

网站目录或网页出现变动要使用301重定向转移权重,有时域名也要将www.haiyun.me重定向到www.haiyun.me,本文记录下Apaceh下301重定向方法,Nginx下301重定向请参考:https://www.haiyun.me/archives/nginx-301.html
1.使用RedirectMatch和Redirect重定向,这两个命令使用方法相似,RedirectMatch支持正则表达式,可以批量重定向。
使用语法:

Redirect [status] URL URL
RedirectMatch [status] regex URL

[status]可用参数:

permanent 返回永久性重定向状态码(301),表示此资源的链接变动是永久性的。
temp 返回临时性重定向状态码(302),默认值。
seeother 返回一状态码(303),表示此资源已经被替代。
gone 返回状态码(410),表示此资源已经被永久性地删除了。如果指定了这个状态码,则URL参数将被忽略。

应用示例:

Redirect permanent /index.html https://www.haiyun.me/index.php
RedirectMatch 301 (.*).gif$ https://www.haiyun.me/$1.jpg

2.使用URL重写模块mod_rewrite重定向

RewriteEngine on
rewritecond %{http_host} ^www.haiyun.me [nc] #定义主机名变量,匹配执行下条规则。
rewriterule ^/(.*)$ https://www.haiyun.me/$1 [r=301,nc] #301重定向到www.haiyun.me,nc不区分大小写。
分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...