最近申请了oracle的免费arm机器, 我直接创建了一个4核24G内存的, 看别人说使用不多会收回, 所以迁移一些服务到这个机器上.
因为内存足够, 所以就用了1panel, 比宝塔要用起来舒服些.
迁移过程中碰到了一些坑, google也搜不到答案, 自己尝试成功了, 故而记录, 以帮后来者
1. 迁移数据库
这个没什么好说了, 还是mysql数据库, 在新的1panel创建数据库, 然后从旧站点备份导出, 新的数据库执行导入即可.
2. 1panel创建php运行环境
首先, 必须是php74
环境, php8
不行, 然后需要安装以下扩展
mysqli
pdo_mysql
fileinfo
redis
opcache
exif
bcmath
intl
mbstring
gd
imagick
curl
有两个好像不是必需的, 但是我一开始按照原作者教程只勾了mysqli
pdo_mysql
fileinfo
redis
opcache
, 结果完全运行不了, 因为原作者教程是基于宝塔的,而宝塔的php环境已经内置了部分扩展, 所以最好就按照我上面这个表去安装
3. 迁移网站文件
-
从原宝塔把网站备份, 下载到本地
-
在1panel上创建一个网站, 域名填你实际的,我只标了重点
-
把文件上传到文件目录的
index
文件夹, 并且设置好权限, 运行目录(选择public
), 伪静态(laravel5
)
- 修改
mysql
和redis
的连接信息
在/opt/1panel/apps/openresty/openresty/www/sites/你的网址/index
里, 文件是.env
改为你对应的就行, host
分别是mysql
和redis
, 注意不要填127.0.0.1
, 因为这是容器, 不是原生部署.
- 对了, 记得删除
index
目录下的.well-know
和public
目录下的.well-know
, 因为没用了, 还可能导致异常
配置进程守护
完成了上面的之后, 应该就可以访问了, 但是独角数卡还需要配置进程守护, 这一关应该难倒了不少人, 因为1panel是容器化, 直接按照原作者的方式是不行的.
首先安装进程守护
直接参考官方文档就行: https://1panel.cn/docs/user_manual/toolbox/supervisor/
然后配置
-
新建一个进程守护
-
名称随便设置
-
启动用户是
root
-
运行目录是你的网站目录
/opt/1panel/apps/openresty/openresty/www/sites/你的网址/index
-
启动命令是
docker exec 你的php容器名称 php /www/sites/你的网址/index/artisan queue:work
-
确认即可
完成
然后就没问题了, 我试着下了个单, tg和邮箱都正常, 网页也正常.
如果你还有其他问题, 可以留言.
评论区