当前位置: 首页 > news >正文

laravel部署api项目遇到问题总结

laravel线上部署问题

  • 一、Ubuntu远程Mysql 61“Connection refused”
  • 二、Ubuntu更新php8
  • 三、线上部署Permission denied
    • 3.1、部署完之后访问域名出现报错:
    • 3.2、The /bootstrap/cache directory must be present and writable.
  • 四、图片访问404
  • 五、git部署线上文件

一、Ubuntu远程Mysql 61“Connection refused”

Ubuntu 20.04.1线上数据库mysql连不上,有可能是线上mysql的配置为只本地访问到,我们需要修改线上mysql的配置,运行命令cd /etc/mysql/mysql.conf.d,然后运行命令sudo nano mysqld.cnf
找到:bind-address = 127.0.0.1
改为:bind-address = 0.0.0.0
在这里插入图片描述
control + x保存退出后,输入命令sudo systemctl restart mysql.service重启mysql
如果还是连接不上的话,就查看防火墙mysql的端口是否开放。

二、Ubuntu更新php8

运行命令sudo add-apt-repository ppa:ondrej/php && sudo apt-get update

Tips: 有报错请看,无报错忽略
报错sudo: add-apt-repository: command not found
解决:先运行命令 apt-get -y install software-properties-common,再执行命令sudo add-apt-repository ppa:ondrej/php && sudo apt-get update,提示按enter就按enter

接着运行sudo apt install php8.2.9具体看你安装哪个版本,接着安装相对应的扩展只需将版本号加上即可。例如:apt install php8.2.9-curl

三、线上部署Permission denied

3.1、部署完之后访问域名出现报错:

UnexpectedValueException
The stream or file "/var/www/furniture-maintenance-api/storage/logs/laravel.log" could 
not be opened in append mode: Failed to open stream: Permission denied The exception 
occurred while attempting to log: The stream or file "/var/www/furniture-maintenance-
api/storage/logs/laravel.log" could not be opened in append mode: Failed to open 
stream: Permission denied The exception occurred while attempting to log: The 
/var/www/furniture-maintenance-api/bootstrap/cache directory must be present and 
writable. Context: {"exception":{}} Context: {"exception":{}}

权限不足,我们运行命令:chmod -R 777 storage

3.2、The /bootstrap/cache directory must be present and writable.

部署完之后报错The /bootstrap/cache directory must be present and writable.
运行命令php artisan cache:clea
在这里插入图片描述

四、图片访问404

如果发现部署线上图片访问404,那么我们运行命令php artisan storage:link,如果还是不行的话那么将/public下的storage删了,重新运行这个命令php artisan storage:link
如果还是404的话,请查看线上storage/app/public是否有文件。

五、git部署线上文件

先将本地代码进行git仓库连接(此步骤可以网上搜索)。
在终端进行ssh root@你的公网ip输入密码,进行连接线上服务器后,进入到目录/var/www后我们把刚刚本地代码克隆下来:
git clone 你本地代码的远程仓库连接,这样就完成了git部署线上文件。

在学习php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。

http://www.lryc.cn/news/161560.html

相关文章:

  • lintcode 1646 · 合法组合【字符串DFS, vip 中等 好题】
  • 【多线程】线程安全 问题
  • 【用unity实现100个游戏之11】复刻经典消消乐游戏
  • 若依cloud 修改包名等
  • 健康系统练习
  • 网络协议从入门到底层原理学习(一)—— 简介及基本概念
  • centos密码过期导致navicat无法通过SSH登录阿里云RDS问题
  • 对于pytorch和对应pytorch网站的探索
  • 和AI聊天:动态规划
  • 微信小程序——使用插槽slot快捷开发
  • 大数据技术之Hadoop:使用命令操作HDFS(四)
  • 静态路由配置实验:构建多路由器网络拓扑实现不同业务网段互通
  • Python函数的概念以及定义方式
  • 【数学建模竞赛】超详细Matlab二维三维图形绘制
  • 2023国赛数学建模E题思路代码 黄河水沙监测数据分析
  • 窗口延时、侧输出流数据处理
  • 发送HTTP请求
  • 高等工程数学张韵华版第四章课后题答案
  • wpf C# 用USB虚拟串口最高速下载大文件 每包400万字节 平均0.7s/M,支持批量多设备同时下载。自动识别串口。源码示例可自由定制。
  • 代码随想录二刷day20
  • Yolov5如何训练自定义的数据集,以及使用GPU训练,涵盖报错解决
  • 设计模式之单列模式
  • linux内核模块编译方法详解
  • 简介shell的关联数组与普通数组
  • 玩转Mysql系列 - 第17篇:存储过程自定义函数详解
  • 自动驾驶:轨迹预测综述
  • 【uniapp/uview】u-datetime-picker 选择器的过滤器用法
  • 如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程
  • yocto stm32mp1集成ros
  • Linux 中的 chroot 命令及示例