0

[Linux笔记]apache 2.4 安装 mod_rpaf

在使用第三方的DANginx插件用在Directadmin apache2.4的时候,发现无法安装mod_rpaf.这个插件是用来让apache获取到访客正确ip的。
apache2.4已经有了mod_remoteip.so 但没时间仔细研究,Directadmin无法正常加载,先行编译mod_rpaf达到要求
编译时提示的错误

# apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
/var/www/build/libtool --silent --mode=compile gcc -std=gnu99 -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/include/apache  -I/usr/include/apache   -I/usr/include/apache   -c -o mod_rpaf-2.0.lo mod_rpaf-2.0.c && touch mod_rpaf-2.0.slo
mod_rpaf-2.0.c: In function 'rpaf_cleanup':
mod_rpaf-2.0.c:150: error: 'conn_rec' has no member named 'remote_ip'
mod_rpaf-2.0.c:151: error: 'conn_rec' has no member named 'remote_addr'
mod_rpaf-2.0.c:151: warning: implicit declaration of function 'inet_addr'
mod_rpaf-2.0.c:151: error: 'conn_rec' has no member named 'remote_ip'
mod_rpaf-2.0.c: In function 'change_remote_ip':
mod_rpaf-2.0.c:164: error: 'conn_rec' has no member named 'remote_ip'
mod_rpaf-2.0.c:183: error: 'conn_rec' has no member named 'remote_ip'
mod_rpaf-2.0.c:186: error: 'conn_rec' has no member named 'remote_ip'
mod_rpaf-2.0.c:187: error: 'conn_rec' has no member named 'remote_addr'
mod_rpaf-2.0.c:187: error: 'conn_rec' has no member named 'remote_ip'
apxs:Error: Command failed with rc=65536

Continue Reading

2

[Linux笔记]Linux守护进程

之前写过一个针对Linux环境下的Nginx守护进程,现在来个增强版的.同学们看着改来用吧.

ipv4=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
#把xxx@163.com改成自己的邮箱
EMAIL_TO=xxx@163.com
#可以把nginx改为其他要守护的进程名字
nd=`pgrep -f nginx | wc -l`
if [ "$nd" = 0 ]
then
echo -e "Server IP is : $ipv4 " | mail -s "The nginx program is Dead" $EMAIL_TO
/usr/local/nginx/sbin/nginx #当被守护进程不存在后,自动启动的进程。可修改
/usr/local/php/sbin/php-fpm start #当被守护进程不存在后,自动启动的进程。可修改
else
echo "the program is running"
fi

Continue Reading

1

[Linux笔记] Nginx 反向代理为网站加速 [CDN]

今天有个朋友说他的论坛放在国外主机电信电信访问还行,网通访问比较慢,就给他做了个解决方案。

五九互联Linux VPS目前走的是PCCW电讯盈科线路,是中美之间速度最快的线路。使用五九互联Linux VPS做反向代理,配合网上那些智能DNS将网通线路解析到VPS上。以达到加速的目的。

1.买到VPS后先配置好LNMP环境,然后写个conf配置好反向代理。
2.改好hosts(配置Cron以保证每次重启不会丢失hosts设置。)
3.然后使用智能DNS将网通线路指向到反向代理的VPS上,别的线路不变。就做出了一个小型CDN啦。

当然了,如果觉得麻烦,给点小费给主机商一般也乐意帮你设置的。

朋友的论坛是DiscuzX1.5的程序。
由于Discuz都是动态页面,所以直接连html也排除缓存。
这一段是排除哪些后缀的网页,在括号里按格式填写后缀就可以了。

                location ~ .*\.(php|jsp|cgi|html)?$  {
                proxy_set_header  Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://www.xxx.com;
                }

完整的规则如下: Continue Reading

5

[Linux笔记] Nginx 反向代理Discuz 规则[CDN]

这则反向代理是专门为一个朋友的论坛写的。论坛是DiscuzX1.5的程序。
由于Discuz都是动态页面,所以直接连html也排除缓存。
这一段是排除哪些后缀的网页,在括号里按格式填写后缀就可以了。

                location ~ .*\.(php|jsp|cgi|html)?$  {
                proxy_set_header  Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://www.xxx.com;
                }

完整的规则如下: Continue Reading

2

[Linux笔记] Nginx 常见502错误及解决方法

前言:Nginx的502错误一直给新手带来了很多麻烦。本人积累了常见出现502错误信息,通过大量的尝试已经已经找到了解决办法,当然安装出问题的不在此列。
常见的Nginx 502 Bad Gateway解决办法如下:

Nginx 502错误情况1:
网站的访问量大,而php-cgi的进程数偏少。
针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加。这个数据要依据你的VPS或独立服务器的配置进行设置。一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多。
/usr/local/php/sbin/php-fpm restart 然后重启一下.

Continue Reading