腾讯云主机迁移

以前在广州区买的共享核主机,不能续费了,官方给发了代金券,免费升级到独立核的1核1G主机,所以就重新买了北京机房的云主机,要把以前的数据全部导过来。

安装好Centos6.5 64bit,安全组选了开放所有端口,然后自己用iptables做安全限制就行。

先用vnc以root登录,密码在邮件发给你了,新建wawa用户,设置密码,用visudo设置允许无密码sudo,配置sshd config把root的ssh登录关了,端口换成非22端口, 允许ssh登录,允许密码登录。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
useradd wawa
passwd wawa

visudo

wawa ALL=(ALL) NOPASSWD: ALL

vi /etc/ssh/sshd_config

Port 36000
PermitRootLogin no
AllowUsers wawa
PasswordAuthentication yes
ChallengeResponseAuthentication yes

service sshd reload

然后就可以用putty登录wawa账户了。

旧机器上把要迁移的数据打包, 主要有Let’s Encrypt的脚本,.vim, .vimrc,.bashrc,.bash_profile,crontab, rc.local, nginx配置,.ssh等

1
2
3
4
5
6
7
tar zcfv bk.tar.gz \
/usr/local/nginx/conf/nginx.conf \
/var/spool/cron/root \
/etc/rc.d/rc.local \
/data/ssl/ \
.vimrc .vim .gitconfig .bashrc .bash_profile .ssh/ \
scripts/ src/ readme

打包了,想办法下周到新机器上,解压,大多文件放home目录就可以了,nginx配置,rc.local, crontab, let’s encrypt得重新对一遍。

安装必备环境,git, nginx, python, node。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
sudo yum gcc
sudo yum install gcc-c++
sudo yum install make
sudo yum install sqlite-devel
sudo yum install zlib-devel
sudo yum install readline-devel
sudo yum install bzip2-devel
sudo yum install git
sudo yum install pcre pcre-devel
sudo yum install openssl-devel
yum install mysql-devel

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
nvm install 5.0

wget https://www.python.org/ftp/python/2.7.7/Python-2.7.7.tgz --no-check-certificate
tar xf Python-2.7.7.tgz
cd Python-2.7.7
./configure --prefix=/usr/local
make
sudo make install
/usr/local/bin/python -V

wget http://nginx.org/download/nginx-1.9.12.tar.gz
tar xf nginx-1.9.12.tar.gz
cd nginx-1.9.12
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
make
sudo make install
sudo /usr/local/nginx/sbin/nginx

防火墙设置下, 只允许ssh端口,80,443链接,把其它的端口都关了,再把本机访问本机打开,允许本机向外的访问。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
iptables -L -n
iptables -A INPUT -p tcp --dport 36000 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 36000 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -j ACCEPT

service iptables save

基本能用了。