日记:手工迁移站点到VPS

in #cn2 years ago

相比于迁移站点数据到虚拟主机,迁移站点到VPS要麻烦许多许多,之前PHP的一个short_open_tag,就卡了我大半天,不过最终总算帮用户迁移成功了,尽管还有一些细枝末节问题,暂时就不管了。

image.png
(图源 :pixabay)

这几简单记录一下迁移到VPS所作的工作,因为我自己还有大把的站点要迁移,难免之后用到。

安装Apache、PHP、MYSQL

Apache

虽然都说nginx更好用一些,但是我没怎么用过,还是还是用Apache吧,以后有时间慢慢研究。

安装Apache很简单:

sudo apt install apache2

安装完,访问IP,效果如下(允许入站规则后,详见后文):

image.png

PHP

接下来是安装PHP,我看godaddy装的是PHP 7.2,我也装7.2好了

sudo apt install php7.2

MySQL

使用如下指令安装MySQL以及相应的PHP支持

sudo apt install mysql-server php7.2-mysql mysql-client

简单加固

安装完三大件后,要对其进行一些简单的加固,让其更加安全。

Apache出了对配置文件进行优化外,还启用了mpm-itk 模块:

sudo apt-get install libapache2-mpm-itk
sudo a2enmod mpm_itk

MySQL则使用下列命令进行一些安全设置:

sudo mysql_secure_installation

创建站点

在进行完上述步骤后,就可以创建站点了。

我们首先创建一个用户:

sudo adduser mysite

然后登录这个用户,在目录下创建www文件夹以及logs文件夹。

然后进入/etc/apache2/sites-available使用默认站点模板略作修改后创建新站,对应目录指向上述目录即可。

<Directory /home/mysite/www>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
 </Directory>

加上如上内容,否则会出现禁止访问错误:

image.png

使用如下命令使能站点:

sudo a2ensite mysite.conf
sudo systemctl reload apache2

开启两端的防火墙

因为要在服务器之间传输数据,所以要允许原服务器端的出站设置以及VPS(新站)这边的入站设置。

否则就会出类似如下错误:

image.png

老站在ConfigServer Security & Firewall中做如下设置,并重启csf。

tcp|out|d=22|d=x.x.x.x

新站在AWS,默认已经允许了SSH链接。

但是要想访问的话,所以要编辑安全组中的入站(80)规则(Edit inbound rules->Add rule):

image.png

一个很奇异的地方是,如果我禁用了IPv6的入站,我自己就无法访问网页了,不细研究了,先允许吧。

传输数据

传输数据没啥说的了,我用的scp。

测试站点

为了测试站点访问,我使用了hosts文件启用本地解析功能。

使用记事本用管理员权限打开以下文件:

C:\Windows\System32\drivers\etc\hosts

添加如下内容:

x.x.x.x example.com

前边是IP,后边是域名,这样相当于不用修改DNS就可以本地访问啦。

修改DNS

测试没问题后,修改DNS就可以了,这样迁移就完成啦。当然了,后边可能还有一些工作要做,就交给客户自己去弄好了。

其它

除了文中涉及到的内容,cURL、 zlib、https等都是需要处理和解决的问题,每一样都耗费我诸多时间,这里就不过多描述啦。

相关链接

Coin Marketplace

STEEM 0.30
TRX 0.06
JST 0.041
BTC 36545.80
ETH 2474.70
USDT 1.00
SBD 4.00