文章标签 » vps

简单的blog增量备份shell

blog内容越来越多,完全备份已经玩不起了,终于用到了tar的增量备份功能~~
这个简单的备份脚本需要安装mutt(用来发mail) : sudo apt-get install mutt 或者 yum install mutt

#!/bin/sh
#blog根目录
dir="/home/hualu/blog"
#本地备份目录
backdir="/var/backup/bluehua/"
#将备份发送到email
mail="emptyhua+backup@gmail.com"
dbname="数据库名"
dbuser="mysql用户名"
dbpass="mysql密码"
file="${backdir}backup-`date \"+%Y-%m-%d\"`.tar.gz"
sql="./sql_backup_${RANDOM}.sql"
cd "$dir" 
mysqldump --user=${dbuser} --password=${dbpass} ${dbname} > ${sql} 
#增量打包,第一次运行会打包全部,以后都只会打包修改和新增的文件
#由于启用了cache插件,所以将cache目录排除在外
tar -g ${backdir}cookie -zcvf ${file} --exclude=./wp-content/cache* ./
rm -f ${sql} 
#将备份发送到mail
echo "blog备份" | mutt -s "blog备份 `date \"+%Y-%m-%d\"`" -a ${file} ${mail}

nginx反向代理kloxo

偶的vps配置真是几经波折。。

最开始 : centos + nginx + fastcgi + php,一个人用,任何修改都是直接ssh到server,一水的root

后来,搬家了,两个人用,加一个菜鸟的明星同学,考虑到傻瓜性,保留了默认安装的控制面板:centos + kloxo。kloxo可以选lighttpd, apache。由于一开始不知道能切apache,就用了lighttpd + fastcgi + php,结果发现每个人开三个fastcgi,128内存基本上就快光了,还有一点不爽的就是wp-super-cache的重写,如果用apache根本不用操心。。

备注:恩,由于kloxo的安全性考虑,每个用户的fastcgi都是单开的,不能共用

现如今,同样的vps配置,5个人共用,不得不再换个思路。首先fastcgi肯定不靠普了,每个人开2个,基本上就靠swap活着了,所以一定要用apache,apache里php以模块运行,多用户可以共用,所以apache进程只需开到2-3个,使用8080端口,然后前端再放nginx做代理,顺便处理静态文件。

恩,思路很简单,但是问题是,kloxo生成的虚拟主机配置文件全是80端口,想hack一下,发现源代码全被zend加密了。后来官网svn找到源码,端口竟然都是80写死在代码里的,修改之后覆盖到server上,发现不能添加域名了,说明版本太新,最后没办法,只能恶心一下了~

每10秒钟检查一下配置文件,如果发现kloxo生成了80端口的配置文件,立刻替换成8080端口。脚本启动添加到/etc/rc.local里,开机运行。

#!/bin/sh
while [ "a"="a" ];do
        find /home/httpd/ -type f -name "kloxo.*" | xargs grep ":80\\\\" > /tmp/kloxo_port 
        if [ -n "`cat /tmp/kloxo_port`" ];then
                sh /root/kloxo_changeport.sh "80" "8080"
                sleep 2
                echo "restart httpd"
                echo "restart httpd `date`" >> /var/log/httpd_restart.log
                /etc/init.d/httpd restart
        fi
        sleep 10
done

用到的两个shell脚本下载 : fuck-kloxo

OK,解决完端口问题下面就是配置ngnix代理

#仅开了一个进程。。
worker_processes  1;

配置代理

server {
        limit_conn   myzone  10;
        listen       80;
        server_name  _;
#静态文件不走代理,直接nginx处理
        location ~* .*\.(jpg|jpeg|png|gif|css|js|swf|mp3|avi|flv|xml|zip|rar)$ {
                add_header BlueNoProxy 1;
                expires 30d;
                root /home/httpd/$host/httpdocs;
        } 
#html文件由可能是固态链接,所以404之后依然走代理
        location ~* .*\.(html|htm)$ {
                add_header BlueNoProxy 1;
                root /home/httpd/$host/httpdocs;
                error_page 404 = @proxy;
        }
#这里ip不能用127.0.0.1,kloxo的配置文件里会根据外网ip划分虚拟主机
        location @proxy {
                proxy_pass        http://209.124.50.68:8080;
                proxy_set_header Host $host;
                proxy_set_header  x-real-IP  $remote_addr;
 
        }
 
        location / {
                proxy_pass        http://209.124.50.68:8080;
                proxy_set_header Host $host;
                proxy_set_header  x-real-IP  $remote_addr;
        }
 
   }

以上,偶的最新vps配置就over了~

正式摆脱备案..

偶的大小blog终于全家出国了..

前两天忽然发现偶搭的difanghua.org访问不了了,但blog是好的,难道是权限问题? 可是好像没动过,于是又试了试我跟老婆的日记,也不行.再一看firebug的网络,header里服务器的标识竟然是apache…,我明明装的ngnix. 最后访问了下doc.bluehua.org, 竟然可以..这下我明白了,没有备案的域名全他文明用语给我屏蔽了..

我已经出离愤怒了,尽管现在的空间还有半年才到期,但还是决定提前搬迁,少生点闷气..

第一步 : 把我在国内注的域名转到godaddy

google了下好像要这个转移的授权码还挺麻烦的,还要邮寄身份证户口本复印件啥的..,但出乎意料的是,我仅提交了两个工单,他们便把密码给我了,而且态度特好..,表扬一下这个非主流idc:九州未来

第二步:把所有网站搬到国外..

自己租还是有点贵,于是顺便忽悠明星同学 跟我一块合组,找了几家都很贵的样子,最后找个一家叫a2hosting 的idc,速度不慢,价格适中,如下:

  $8.97 / Mon
    * 128 MB Dedicated RAM (256 MB Burstable)
    * 10 GB Disk Space
    * 100 GB Monthly Data Transfer
    * FREE Setup
    * No Contracts or Hidden Fees!
    * 30 Day Money Back Guarantee

同样单核cpu,虽然内存比我现在用的小了一半,但是运行速度却要快很多.

排出备案,一身轻松~~

最后show一下哥新注的域名: http://hua.lu

vps优化备忘

网上安装配置文章很多,讲优化的却很少,备个忘
系统环境:centos5,128 RAM
安装的服务:nginx,fast_cgi,php5,mysql,vsftp

1.关闭没用的服务

#ntsysv

…关的太多,最后剩下还在运行的服务
anacron atd auditd cpuspeed crond haldaemon iptalbes irqbalance readahead_early sshd syslog vmware-tools nginx vsftpd mysqld

2.关闭selinux

#vi /etc/selinux/config
SELINUX=disabled

3.mysql禁用innodb

#vi /etc/my.cnf
在[mysqld]字段添加
skip-innodb

4.fast_cgi仅开了2个进程(哦,pv是什么我还不知道)

优化结果:

# free -m
total       used       free     shared    buffers     cached
Mem:           122        119          3          0         11         67
-/+ buffers/cache:         40         82
Swap:          509          0        509

效果还可以