搬站流程
old 代表旧服务器;new 代表新服务器;我这里用的是宝塔的站点搬运操作
首先确保域名完全配置到新服务器中,如果怕有遗漏,可直接查看旧服务器中
/www/server/panel/vhost/nginx/ 里面的站点,一一配置新站
1.在新服务器搭建好站点,配置正式域名,加临时域名 `tmp`
2.使用原站的数据库导入新站,尝试运行新站是否完整运行
3.关闭旧站点的计划任务。
如果数据库有配置字段,比如手动还是自动,最好改成手动模式
4.关闭旧站点
5.导出原服务器数据库,弄到新服务器
6.将 dns 解析到新服务器。访问 new 域名是否正常,正常则表明dns解析正常
7.此时可删除旧站点。但为了怕出遗漏,最好先保留,但最好将入口文件 `index.php` 文件直接 die;
因为怕有终端或者其他计划任务遗漏,导致重复执行数据
8.在新站开启计划任务
1.在new 服务器上建立好站点和项目
1.建立站点
可将 old 中的nginx站点拷贝下来,根据站点,一个个搭建到 new 服务器中,这样不会出现遗漏现象
scp -r(代表整个文件夹下载下来) -p 代表 ssh 端口
scp -r -P 22 root@1.1.1.1:/www/server/panel/vhost/nginx/ ./
根据配置文件中的 server_name 和 root(站点目录) 去配置 new 环境
nginx/redirect 是重定向域名操作,可能也需要处理
2. 检查有没有https需要配置 处理https证书
scp -r -P 22 root@1.1.1.1:/www/server/panel/vhost/cert/ ./
2. 关闭 old 服务器的定时任务
关闭 supervisor 和 'crontab -e -u www' 和 'crontab -e ' 的定时任务
supervisor 文件夹
cd /www/server/panel/plugin/supervisor/profile/
逐个删除相关进程,eg:'rm -rf job.ini'
查看是否关闭成功
ps -ef |grep 'php artisan'
你开启进程的指令是什么,grep 后边就使用什么。
3.停止旧站点的服务运行。关闭站点
在宝塔关闭此项目的站点,停止运行
但是关闭站点后,终端项目我不知道是否在还运行
所以可以执行 'php artisan down' 关闭项目。我的是 laravel项目,所以是这个指令。
也可以直接在入口文件 index.php 中,直接 'echo 1;die;'
最好关闭站点1分钟后,在开始导数据,以免有定时任务之类的处理以后
4.导出数据库
在导出数据前,如果代码中有关闭程序运行的设置,最好设置成关闭。这样不至于忘记哪个配置,引起重复处理数据
1. 创建文件(如果不创建,则执行mysqldump会提示文件不存在,无法写入)
touch /tmp/test_table.sql
2. 执行导出数据库 test_tname=用户名;test_pass=密码;test_table=数据库名字
mysqldump -u test_tname -p test_table > /tmp/test_table.sql
这时候会提示输入密码 ,输入你自己的密码即可
3.将数据库传递到本地
scp -P 22 root@1.1.1.1:/tmp/test_table.sql ./
此时,旧服务器的东西算是处理完毕,下面要开始处理新服务器的东西。
5.搭建新的服务器站点
这一步其实就是第一步,此处再重复叙述下
1.上传项目
2.配置环境
3.配置域名和重定向
4.配置https
5.添加数据库数据
6.开启定时任务(必须确保旧站的定时任务关闭)
eg:
*/5 * * * * systemctl restart supervisord >> /www/server/cron/supervisord.log 2>&1
* * * * * php /www/wwwroot/admin/test/artisan schedule:run >> /dev/null 2>&1
6.将dns的配置服务器ip,改成新服务器ip
为了保险期间,你可以提前绑定个新域名 test.xxx.com 测试下新服务器的环境是否搭建成功
网友评论