wordpress/vps搬家

最近在2台vultr的vps之间迁移wordpress,比如将VPS-1的数据迁移到VPS-2上

VPS-2上建立和VPS-1一样的环境,比如nginx,php,mysql之类

vps-1数据打包

把/home/wwwroot文件夹压缩成一个名叫wwwroot.tar.gz的压缩包,放在当前目录下

tar zcvf wwwroot.tar.gz /home/wwwroot

将wwwroot.tar.gz的压缩包放到/home/wwwroot/xxx.com/web目录下(网站根目录)

mv wwwroot.tar.gz /home/wwwroot/xxx.com/web

VPS-2获取压缩包

获取压缩包

wget http://www.com/wwwroot.tar.gz

转移压缩包到/home目录下并解压

mv wwwroot.tar.gz /home
tar zxvf wwwroot.tar.gz

数据库导出导入

用phpmyadmin导出数据库,一般为.sql文件。再用同样方法在VPS-2上获取数据库文件,然后依然用phpmyadmin导入数据库。需要注意的是数据库名不要变更。

DNS解析

将dns解析到VPS-2上

如果有更简便的方法,欢迎留言。

生成和使用ssh key登录vps

生成ssh key

  • 在官方页面http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html,下载putty_gen
  • 点击“Generate”按钮。
  • 为增加安全性,您可以输入一个密钥密码。这将需要使用SSH密钥,并防止有人访问您的密钥文件
  • 一旦密钥被生成,点击“save private key”。请务必保存到安全的地方,丢了就找不到了
  • 将生成的密钥内容复制到/root/.ssh/authorized_keys文件内。这就是你需要进入控制面板使用SSH密钥
  • 找到/etc/ssh/sshd_config ,把RSAAuthentication和PubkeyAuthentication两行前面的#注释去掉。
    C – 重启SSHD服务。
Debian/Ubuntu执行:/etc/init.d/ssh restart
CentOS执行:/etc/init.d/sshd restart

用SSH Key登陆VPS

  • 在官方页面http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html,下载putty
  • session里填写ip地址和ssh端口号,一般都是22
  • Connection–SSH–Auth,右边Private key for authentication里选择先前保存的key文件
  • Open

snapshot安装后的网络参数设置

snapshot恢复到一台新机器后,你可能会遇到网络适配器变化的MAC地址的问题。一般,当网络适配器改变操作系统将创建一个新的网络适配器。通常会看到’eth1的“(如果您有专用网络启用ETH2)的网络适配器。

以CentOS为例

通过ssh登录到你的服务器
移除/etc/udev/rules.d/70-persistent-net.rules 内容
打开/etc/sysconfig/network-scripts/ifcfg-eth0,以及更改内容如下:

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
DNS1=8.8.8.8
NAME="System eth0"

重新启动服务器
一旦再有网络连接,可以通过从EPEL安装cloud-init永久安装修复这些问题。

以Debian / Ubuntu为例

ssh登陆
移除 /etc/udev/rules.d/70-persistent-net.rules的内容
检查/etc/network/interfaces和更新任何IP地址来匹配当前服务器。
重新启动服务器

一旦再有网络连接,可以通过从EPEL安装cloud-init永久安装修复这些问题。

Debian/Ubuntu中安装PPTP VPN

vpn

安装软件包

在你的VPS使用以下命令安装包PPTPD:

apt-get install pptpd

设置

通过运行如下指令在/etc/pptpd.conf和/etc/ppp/pptpd-options插入配置代码

cat >/etc/pptpd.conf <<EOF
option /etc/ppp/pptpd-options
logwtmp
localip 192.168.10.1
remoteip 192.168.10.101-200
EOF

cat >/etc/ppp/pptpd-options <<EOF
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
lock
nobsdcomp
ms-dns 8.8.8.8
ms-dns 208.67.222.222
debug
dump
idle 300
EOF

编辑/etc/ppp/chap-secrets,以添加VPN用户。其中USERNAME是用户名PASSWORD是你可以设置的密码,其他不要更

USERNAME pptpd PASSWORD *

重新启动PPTPD服务。

/etc/init.d/pptpd restart

启用转发

运行此命令启用IPv4转发。VPN才能正常工作。

sed -i 's/#net\.ipv4\.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf

使更改永久生效

sysctl -p

设置路由

创建网络启动脚本,配置iptables

touch /etc/network/if-pre-up.d/route

运行如下程序以内容插入到脚本:

cat >/etc/network/if-pre-up.d/route <<EOF
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 192.168.10.0/24 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT
EOF

安装这个可执行脚本。

chmod +x /etc/network/if-pre-up.d/route

运行该脚本将这些规则适用于iptables的。

/etc/network/if-pre-up.d/route

 

现在你可以从你的电脑或移动设备连接到您自己的VPN服务器。

WordPress如何配置Redis

Redis是一个数据结构存储。由于在其高速缓存优化的方法,提供了很大的性能提升。对Redis来说,另外一个选择是Memcached的,但目前的Redis可以比Memcached做的更多。

第1步:安装的Redis

我们将要同时安装Redis的服务器端(redis-server)和PHP扩展,将允许应用程序与Redis的通信,(此为unbuntu和debian命令,centos为yum):

apt-get install php5-redis redis-server
第2步:设置的Redis作为缓存

我们将使用Redis的一个缓存。为了实现这一点,我们需要在配置的时候变更一个数字。编辑/etc/redis/redis.conf文件(etc/redis/为默认安装路径,):

vi /etc/redis/redis.conf

最后一行后,加入:

maxmemory 128mb
maxmemory-policy allkeys-lru

本maxmemory应根据您的服务器上可用的RAM数量进行设置。如果你担心用完的RAM,那就创建一个swap


步骤3:更改WordPress的配置文件

编辑您的wp-config.php文件添加设置允许缓存:

vi wp-config.php

Authentication Unique Keys and Salts的最后,添加以下行。请注意,string是你希望可以是任何东西,只要它是独一无二的。(随便写一点字符)

define('WP_CACHE_KEY_SALT', 'string');
define('WP_CACHE', true);

步骤4:使用Redis的对象缓存

下载一个Redis对象缓存脚本,这是一个第三方编写的脚本,在你wordpress安装目录/wp-content下执行:

wget https://assets.digitalocean.com/articles/wordpress_redis/object-cache.php

第5步:重新启动服务

重启Redis和环境,这里以apache为例

service redis-server restart
service apache2 restart

现在,测试Redis和WordPress的集成。导航在你的WordPress管理区域,同时查看Redis的显示器。

redis-cli monitor

如果你看到日志条目出现,这意味着WordPress与Redis开始作用了。现在,您可以尽情使用Redis的高速缓存为WordPress提升性能!

OK
 1412273195.815838 "monitor"
 1412273198.428472 "EXISTS" "example.comwp_:default:is_blog_installed"
 1412273198.428650 "GET" "example.comwp_:default:is_blog_installed"
 1412273198.432252 "EXISTS" "example.comwp_:options:notoptions"
 1412273198.432443 "GET" "example.comwp_:options:notoptions"
 1412273198.432626 "EXISTS" "example.comwp_:options:alloptions"
 1412273198.432799 "GET" "example.comwp_:options:alloptions"
 1412273198.433572 "EXISTS" "example.comwp_site-options:0:notoptions"
 1412273198.433729 "EXISTS" "example.comwp_:options:notoptions"
 1412273198.433876 "GET" "example.comwp_:options:notoptions"
 1412273198.434018 "EXISTS" "example.comwp_:options:alloptions"
 1412273198.434161 "GET" "example.comwp_:options:alloptions"
 1412273198.434745 "EXISTS" "example.comwp_:options:notoptions"
 1412273198.434921 "GET" "example.comwp_:options:notoptions"
 1412273198.435058 "EXISTS" "example.comwp_:options:alloptions"
 1412273198.435193 "GET" "example.comwp_:options:alloptions"
 1412273198.435737 "EXISTS" "example.comwp_:options:notoptions"
 1412273198.435885 "GET" "example.comwp_:options:notoptions"
 1412273198.436022 "EXISTS" "example.comwp_:options:alloptions"
 1412273198.436157 "GET" "example.comwp_:options:alloptions"
 1412273198.438298 "EXISTS" "example.comwp_:options:notoptions"
 1412273198.438418 "GET" "example.comwp_:options:notoptions"