使用yum做软件更新让你可以更加快捷的处理软件的问题,不用老处理rpm的相关问题。

yum其实只是一个软件,也不神奇,安装好就可以。但要清楚每个版本的系统对应的yum软件版本是不一样的。

安装过程参考:

wget http://www.haoxm.net/tools/yum_forAS4.tar.gz
tar xfz yum_forAS4.tar.gz
cd yum_forAS4
rpm -ivh *.rpm
#如果以安装失败,可以尝试 rpm -Uvh *.rpm
mv /etc/yum.repos.d/* /tmp/
cp CentOS-Base.repo /etc/yum.repos.d/
rpm --import http://www.haoxm.net/tools/RPM-GPG-KEY-CentOS-4


配置文件:

配置文件见附录的《yum.conf 配置文件详解》,网上提供的配置有很多不同的源,其实你可以找到合适的源,速度快就好。
Tags: ,
RedHat AS3下安装PHP5有libxml2的问题:

checking for xml2-config path... /usr/bin/xml2-config
configure: error: libxml2 version 2.6.11 or greater required.


升级安装libxml2有很多问题,很多相关的rpm都有关联,一下子能把人给懵了。
如果编译过程放弃libxml,那还有一堆的功能需要libxml,然后很多功能都得disable掉。
下面是参考的一篇安装笔记,已经证明可行,大家有相关问题可以参考一下,不重复了。
(各人的版本号不一样,处理过程自己看好了。。)
Tags: ,
一直都是memcachedb+magent处理一个存储的需求,达到400G的内容,都是一个db,我发现这个已经导致了两块硬盘的罢工,不知道是因为他们比较老了折腾不了了还是这个架构的问题导致大数据文件的读写有难度而崩垮了。。

原先的方案是:

magent -s A -b B


A和B都备有500G左右的空间,可也挺浪费的,500G空间做备份,而很不幸,如果发生问题,切换到备用的服务器后,再建立一个新的备用就得复制这500G的文件了,这个并不是好事情,而且这里面不好的地方是,只有一半的空间有用。

改良方案:

利用分布式存储的优势,建立magent的多源方式

magent -s A -s B -s C -s D -b E


也就是用多个服务器解决存储的问题,这样500G的数据,分到一个数据库的数据压力都平分了,不担心大文件的问题,也可以在一个节点出问题的时候换上另外一个服务器,但这里就导致备份的问题了。

一些问题:

1 magent有备份服务器的时候,所有的写操作都会发送到备份,那备份的机器就并没法达到减小文件的作用了。
2 magent是hash算法,key对应固定的节点,对应的是A则永久的对应为A,不会在A机器挂掉后自动调节对应关系,而是请求备份机器,如果没有备份,单节点失败则影响该节点的存储

也就是说,备份是必须的,但如果使用一样的方式,备份并没有改善。
那可以启用memcached作为备份,有下面的好处:

1 只占用固定的内存数量
2 可以应对不断的存储需求,自动把前面的存储内容清理掉
3 可以应对短时间的节点失败

我们看看这个方案的过程:

1 存储key1时magent会计算那个服务器(A)存储key1,存储key1到A,存储到备份E
2 存储key2时要存到B,但B节点失败,存储到E
3 读取key1,从A读取
4 读取key2,从B读取,节点失败,从E读取
5 B恢复后,读写B,备份只存储

注意到一个问题,备份只保持存储的数据有一定的时效,如果存储请求很多并且分配的内存很小,可能在短时间就被替换了,而读取会失败,所以备份只是保证访问能够一定程度正常,并非保证数据的完整性。

相关话题:
memcachedb的缓存解决方案
为什么要用awstats?

1 你需要知道服务器流量都怎么导致的
2 你想查处莫名其妙的流量

awstats会给你很多网页访问统计系统无法告诉你的问题:流量分配,你不需要知道,那就不用它。

怎么做搭建?

下载安装awstats即可,我这里就不重复了,参考文章附录的参考资料。

Nginx怎么记录日志?

Nginx默认的日志格式就是awstats需要的,所以你不需要重新定义即可使用。
加buffer参数估计可以对日志效率有提高。
server {
  server_name  www.aslibra.com;
  location / { proxy_pass http://backend; }
  access_log /Data/logs/access.www.aslibra.com.log combined  buffer=32k;
}


Nginx的日志切割脚本

别人写的脚本都太简单,不太适应,自己重新整理一下,合用的朋友可以借鉴一下

nginx_log_cut.sh
#!/bin/sh

#日志最小记录
Min_Row=50
Log_Dir=/Data/logs
Nginx_Dir=/Data/apps/nginx
#你的日志格式
Date_Dir="/Data/logs/date/"`date +%Y/%m/%d/%H -d "1 hours ago" `

echo ""
echo "=== "`date`" ==="
echo "Date_Dir: $Date_Dir"
if [ ! -d $Date_Dir ];then
        mkdir -p $Date_Dir
fi

#你的所有域名日志
Logs="www.aslibra.com\
test.aslibra.com"

#注意,0.7才支持 -s 参数,否则你需要用 kill -USR1 方式
#把buffer都写入文件
$Nginx_Dir/sbin/nginx -s reopen

for domain in $Logs;do
        if [ -f $Log_Dir/access.$domain.log ];then
                Row=`wc -l $Log_Dir/access.$domain.log | awk '{print $1}'`
                if [ $Row -gt $Min_Row ];then
                        if [ -f $Date_Dir/$domain.log ];then
                                echo "Append: "$Log_Dir/access.$domain.log
                                cat $Log_Dir/access.$domain.log >> $Date_Dir/$domain.log
                                rm -f $Log_Dir/access.$domain.log
                        else
                                echo "Move: "$Log_Dir/access.$domain.log
                                mv $Log_Dir/access.$domain.log $Date_Dir/$domain.log
                        fi
                else
                        echo "Delete(less then $Min_Row Rows): "$Log_Dir/access.$domain.log
                        rm -f $Log_Dir/access.$domain.log
                fi
        fi
done

#重开日志
$Nginx_Dir/sbin/nginx -s reopen


加入计划任务即可

0 * * * * root /Data/scripts/nginx_log_cut.sh >>/Data/logs/log_cut.log


配置awstats的配置文件

其它就不说了,我这里的脚本是按小时切割的,所以说一下格式:

LogFile="/Data/logs/date/%YYYY-1/%MM-1/%DD-1/%HH-1/www.aslibra.com.log"


使用实例

发现了一个网页文件存取次数最多,可网页受访却没有那么多,后来发现是有一个域名设置302跳转到此而导致的。
发现异常流量,可以看到awstats里面的流量比较大的ip,可以确认了那可以用iptables封禁异常的ip。
发现404错误,自己调整好。
Tags: ,
正向代理和反向代理是forward/reverse proxy的意思,在代理功能上来讲,有一点不太一样。

举个例子:
你要去租房,你找房屋中介找房子,房屋中介找房屋的全权代理人要房子,房屋的全权代理人是由户主委托的。

这里有四个角色:
你=client
房屋中介=forword proxy
代理人=reverse proxy
户主=server

客户端访问网络如果需要指定某个代理服务器为你去获取内容,那就是正向代理
而服务器隐藏在代理服务器后面,让代理服务器作为冲锋陷阵的,那这个代理服务器就是反向代理

而squid是一个 forword/reverse proxy,两个功能兼备,一般可以作为局域网的上网缓存,此时作为正向代理。
一般服务器会让squid作为前端,那就是充当反向代理,反向代理有很多软件都可以,比如nginx、lighttpd,但他们两个一般做不了正向代理。
Tags: ,
分页: 6/12 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐