当地laravel项目【dcat-admin】部署到liunx服务器

打印 上一主题 下一主题

主题 2128|帖子 2128|积分 6384


媒介

laravel新手记载
差不多一个月,总算用laravel把商城小步伐开发好了【这个背面可以直接把代码分享出来】
一直在当地开发,如今需要部署到服务器上面和前端联调了
记载一下部署流程和碰到的问题
主要工具:
liunx服务器,已经安装宝塔大概lnmp环境
navicat(用于数据库迁移通过备份还原)

一、部署流程

1、数据库搬迁

把当地数据复制到服务器上面
方法许多,可以导出成sql在实行,我之前用的的中简单粗暴的方式,就是偶尔报错吧,并且实行时间很长,数据库很大还可能失败
最近发现navicat是可以备份一个数据库,然后在另一个数据库里面还原,条件是两个数据库名一样
   【只有navicat学习交流版可以备份还原,navicat免费版不行】
  详细操纵:
先把当地数据库备份

   顺便说下mysql5.7如何开启root账号长途登陆
找到mysql.user表,把root前面的host值,从localhost改成:%
这样表示答应所有ip访问了
改完后实行【FLUSH PRIVILEGES;】革新权限
  然后链接服务器数据库,新建一个如出一辙的数据库,也备份一下

最后把当地备份的这个备份文件拷贝到服务器备份文件路径里面,选择这个当地备份,还原备份即可,这种方式需要当地和长途mysql版本一致
2、宝塔创建网站,设置php

由于我用的框架dcat-admin是比较新的代码【相对如今似乎很老了】,需要安装php8.2
安装好了之后安装fileinfo扩展,似乎装上就自己开启了

宝塔新建网站,选择php8.2创建,运行目录设置到public,大概网站目录直接设置到public,我感觉应该差不多吧?
这个防跨站攻击感觉可以关了,背面可能会报错,因为我们需要访问public目录之外的文件

3、修改nginx设置

可以设置伪静态,也可以直接在网站的nginx设置文件这里加上这一行
  1. location / {
  2.         try_files $uri $uri/ /index.php?$query_string;
  3.     }
复制代码

如果没有这个,访问网站就会返回404
4、在public目录设置软连接

默认背景上传图片是存储在这个目录的
  1. /www/wwwroot/你的网站.cn/storage/app/public
复制代码
但是我们网站运行目录是public目录,也就是和storage同级,可以创建一个软连接解决
有3种方式,前两种可能报错大概失败,第3种包成功
1、在网站根目录实行:php artisan storage:link
然后我报错了,说我php没有安装PHP的symlink模块,懒得装了,看第二种
2、使用命令:ln -s storage/app/public public/storage
没报错,但是路径不对,最好用完整路径,我其时没注意
3、直接去宝塔背景手动创建:

这个本质就是第二种,不过变成图形化操纵了。
成功后会有这个特殊文件夹出现,这时直接访问/storage就是访问storage/app/public
解决许多图片路径问题导致404的环境
5、修改env设置、革新缓存

这个时间打开你的env设置,把mysql链接暗码改好、域名配好。
在网站根目录下实行这些,革新所有缓存
  1. php artisan config:clear
  2. php artisan cache:clear
  3. php artisan view:clear
  4. php artisan route:clear
  5. //重启消息队列,如果更新了模型,消息队列使用了模型,就需要重启这个,重启nginx都没用
  6. php artisan queue:restart
复制代码
二、其他问题

1.背景登陆失败问题

env设置不开启https,网站通过https访问,但是请求登陆接口会使用http,这时间会出现跨域问题。
如果网站已经申请了https证书,就把设置文件也开启https,就可以了
如果你的dcat-admin版本也是:“dcat/laravel-admin”: “2.*”,
config文件夹里面文件都是默认值
可以参考这个env设置:
  1. APP_NAME=Laravel
  2. APP_ENV=local
  3. APP_KEY=
  4. APP_DEBUG=false
  5. ADMIN_HTTPS=false
  6. APP_URL=http://xinhu.com
  7. IMAGE_URL='http://xinhu.com/storage'
  8. #后台路由域名
  9. ADMIN_ROUTE_DOMAIN=""
  10. #后台路由前缀-加前缀后需要执行命令清除路由缓存
  11. ADMIN_ROUTE_PREFIX=""
  12. #后台域名
  13. ADMIN_DOMAIN=""
复制代码
不要小瞧ADMIN_ROUTE_PREFIX=“”,之前没注释,我随手就填了我的域名,就没管了,干其他的去了,然后就出bug,菜单栏不见了,折磨了我1天时间,最后重新拉代码部署才好,然后一个一个排查才发现是这个设置项搞得鬼……
2.完美解决接口跨域问题



总结

话说如今在学dcat-admin算不算49年入国军,作者都跑路了,看官网都噶啦,文档、社区帖子也都是3年前的了。
本来用的thinkphp的,然后一个月前去官网想看个文档,才发现,如今看个文档都收费,新版的8收费就算了,以致之前免费开源的3、5、6文档都收费,太离谱了就换laravel框架了。
刚刚去看,如今又可以免费看文档了,以致thinkphp8都可以免费看了,不过感觉他们收费免费太随意了,喜欢瞎搞,先用着dcat-admin吧
好在照旧留下了许多好用的插件,整个项目也很完善了,用起来照旧嘎嘎不错的
下次分享一些好用的扩展和安装修改,好比日记查扩展引用cdn总是失效搞得访问界面错位
dcat-admin官方文档:https://learnku.com/docs/dcat-admin/2.x/use-of-fields/8107#162e7c
dcat-admin扩展集合:https://learnku.com/articles/70305

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表