服务器迁移大法

最近给服务器升级了配置,需要完成从旧服务器到新服务器上的迁移。由于起初配置的时候就想到了之后可能会迁移,把网站和数据库都放在了外挂硬盘上,因此只需要把硬盘挂载到新服务器上,再做一些设置就可以了。

记录一下搭建环境的过程:

  1. 开机自动挂载硬盘

在/etc/fstab添加:

1
/dev/vdb1 /mydata ext4 defaults 0 0
  1. 更新源
1
apt update
  1. 安装nginx
1
apt install nginx
  1. 配置nginx

按照需求修改/etc/nginx/site-available/default即可。

修改/etc/nginx/mime.types的以下内容:

1
2
text/lrc lrc;
application/font-woff woff woff2;
  1. 安装mysql
1
apt install mysql-server php7.0-mysql
  1. 安装php
1
apt install php7.0-fpm
  1. 配置php

修改/etc/php/7.0/fpm/php.ini的以下内容:

1
2
3
4
max_execution_time = 300
post_max_size = 128M
cgi.fix_pathinfo = 0
upload_max_filesize = 128M
  1. 为php添加openssl扩展(我已经忘记为什么要装这个了)

安装php-dev:

1
apt install php7.0-dev

查看php版本号,在http://php.net/releases/下载对应源码并解压。进入目录./ext/openssl,执行:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/
cp config0.m4 config.m4
phpize
./configure --with-php-config=/usr/bin/php-config --with-openssl
make
cp modules/openssl.so /usr/lib/php/20151012/
chmod 644 /usr/lib/php/20151012/openssl.so
'''

修改/etc/php/7.0/fpm/php.ini的以下内容:

```ini
extension_dir="/usr/lib/php/20151012/"
extension=openssl.so

重启nginx和php:

1
2
/etc/init.d/nginx restart
/etc/init.d/php7.0-fpm restart
  1. 安装并链接phpmyadmin
1
2
apt install phpmyadmin
ln -s /usr/share/phpmyadmin/ /mydata/phpmyadmin
  1. 迁移MySQL数据库

先停止mysql服务:

1
/etc/init.d/mysql stop

修改/etc/mysql/mysql.conf.d/mysqld.cnf:

1
datadir = /mydata/mysql

修改/etc/apparmor.d/usr.sbin.mysqld:

1
2
/mydata/mysql/ r,
/mydata/mysql/** rwk,

修改/etc/apparmor.d/abstractions/mysql:

1
/mydata/mysql{,d}/mysql{,d}.sock rw,

最后再检查一下/mydata/mysql的目录所有者和权限等问题,重启mysql:

1
/etc/init.d/mysql start
京ICP备17016743号
Built with Hugo
主题 StackJimmy 设计