blog迁移记录

根据前面blog说的ec2的低级错误造成的重大损失后,马上也想到EC2也快过期了就单独新买一个VPS。今天上午折腾了一下终于把数据都迁移好了。
其实迁移blog主要是把db数据备份好。然后图片文件什么都通通打包下来。我是把blog目录直接整体打包了(包括图片什么的)。DB数据的备份就是使用的
tools.php?page=wp-db-backup进行的。之前是设置了每周备份发送到邮箱里。昨天马上又保存了一份在自己电脑上面。然后把blog目录直接打个tgz包放到新的机器上面。
1.重新配置lnmp环境
1.1安装mysql
aptitude install mysql-server mysql-client
安装的时候会设置一下mysql的密码,自己记住就行。
1.2安装php5-fpm
aptitude install php5-fpm php5-mysql nginx-full
[text]
/etc/php5/fpm/pool.d/www.conf修改
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
listen = /var/run/php5-fpm.sock #我是监听的sock形式
/etc/init.d/php5-fpm restart
[/text]
1.3 nginx配置
nginx.conf 里面改动比较小,加
client_max_body_size 50m;#防止上传文件的时候超过大小
keepalive_timeout 5; #把这个减小一点,主要是机器配置也不好。
gzip on;#gzip什么的开启节省带宽,也能提高速度
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
/etc/nginx/sites-enabled/default 修改的多些,因为我申请了IPV6的地址,所以装B一把也把V6的监听起来。
server段先定义一下限流的zone
limit_req_zone $binary_remote_addr zone=gnuers:10m rate=30r/s;
listen 80;
listen [::]:80 ipv6only=on;
location php直接这样改改,加了防止盗链什么的,还限制了访问的host。
[text]

location ~ \.php$ {
if ( $host !~* blog.gnuers.org ){
rewrite ^ https://www.google.com permanent;
}
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_buffers 1024 4k;
fastcgi_buffer_size 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_send_timeout 60;
fastcgi_read_timeout 60;
fastcgi_connect_timeout 60;
}
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked blog.gnuers.org ;
if ($invalid_referer) {
rewrite ^ http://www.google.com/ permanent;
}
expires 20m;
}
[/text]
这样基本能打开页面了,不过db还没有导入呢

1.3导入DB

mysqldump -h localhost -u root -p 输入密码后登陆mysql,
[text]
create database wordpress;
use wordpress;
set names utf8; #一定记得加这个,我之前么有加这个直接 mysql -h localhost -u root -pxxxxx wordpress <wordpress_wp_backup.sql
#后中文乱码
source wordpress_wp_backup.sql ;
[/text]
另外还需要设置一下权限让之前的用户能访问操作几个表
GRANT ALL PRIVILEGES ON wordpress.* TO ‘wp_admin’@’localhost’ IDENTIFIED BY ‘password1’;
GRANT ALL PRIVILEGES ON wordpress.* TO ‘wp_admin’@’localhost.localdomain’ IDENTIFIED BY ‘password1’;
FLUSH PRIVILEGES;
配置好后就可以访问了。
有了之前的教训,我也在dnspod上把免费的监控开启了。这样当机器有问题的时候可以直接发送短信和邮件提醒我。以免自己平时一直不用,机器出了问题都不清楚。

此条目发表在nginx, Web server分类目录。将固定链接加入收藏夹。

发表评论