laravel部署api项目

3,722 阅读2分钟

我正在参加「掘金·启航计划」

一、购买服务器

由于我们是测试,所以我们可以买按量付费的服务器进行测试: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 因为我们是测试的所以设置成一个小时后自动释放。 在这里插入图片描述 配置入方向安全组 在这里插入图片描述

返回控制台查看我们云主机的公网ip。

二、云服务器配置

购买完之后,我们用终端连接云服务器,升级软件: 在这里插入图片描述 连接进来之后运行命令 apt update 在这里插入图片描述 更新完之后,安装我们需要的软件: apt install nginx 在这里插入图片描述


安装 mysql。运行命令apt install mysql-server在这里插入图片描述


安装phpapt install php

在这里插入图片描述


运行命令apt install php7.4-fpm。(进行ftp上传需要,当然也可以使用git进行上传,我们这使用ftp演示) 在这里插入图片描述


安装php相关扩展:apt install php7.4-xml

在这里插入图片描述

apt install php7.4-mysql 在这里插入图片描述 apt install composer 在这里插入图片描述


三、打包压缩ftp上传代码

我们将根目录下的vendor删除,这个第三方的包文件较大,我们删掉之后再云服务器下composer再安装。 接着在虚拟机里code文件夹下压缩我们的项目: tar -zcvf shopProjectApi.tar.gz ./shopProjectApi 在这里插入图片描述 在这里插入图片描述 我们需要将shopProjectApi.tar.gz传输到我们远程的云服务器上。 运行命令:scp shopProjectApi.tar.gz root@39.107.140.29:/tmp 然后输入密码 在这里插入图片描述 可以看到已经传输完成了。


查看远程服务器就有这个文件: 在这里插入图片描述 接下来把这个文件移动:mv /tmp/shopProjectApi.tar.gz /var/www/

在这里插入图片描述 运行命令解压:tar -zxvf shopProjectApi.tar.gz 在这里插入图片描述 在这里插入图片描述 运行composer install 安装依赖项:报错缺少什么就安装什么。 在这里插入图片描述

apt install php7.4-curl apt install php7.4-dom 然后再composer install 在这里插入图片描述 接着发布配置:

1、cp .env.example .env 2、修改.env配置,主要是数据库配置等 3、发布DingoApi配置:php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider" 4、发布JWT配置:php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" 5、生成JWT TOKENphp artisan jwt:secret 6、发布权限相关配置:php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"

但是数据库配置有问题,我们配置的是虚拟机的,而云服务器上还没配置,接下来配置下: 在这里插入图片描述 可以看到我们数据的密码和名称。 接下来我们先去创建一个数据库: 在这里插入图片描述 在这里插入图片描述 接着exit推出。 编辑.env文件:nano .env在这里插入图片描述 control + x推出输入Y保存退出。

7、运行迁移同事填充数据:php artisan migrate --seed 在这里插入图片描述

接着修改nginx配置:nano /etc/nginx/sites-available/default 服务器:

try_files $uri $uri/ /index.php?$query_string; 在这里插入图片描述 在这里插入图片描述 control + x推出输入Y保存退出。 输入命令nginx -t 查看配置是否正确: 在这里插入图片描述

四、测试效果

接着重启nginxnginx -s reload 在这里插入图片描述 重启后访问发现报错: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 可以看到我们项目已经部署到线上了。

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