本文目录
- 一、购买服务器
- 二、云服务器配置
- 三、打包压缩ftp上传代码
- 四、测试效果
一、购买服务器
由于我们是测试,所以我们可以买按量付费的服务器进行测试:






因为我们是测试的所以设置成一个小时后自动释放。

配置入方向安全组

返回控制台查看我们云主机的公网ip。
二、云服务器配置
购买完之后,我们用终端连接云服务器,升级软件:

连接进来之后运行命令 apt update

更新完之后,安装我们需要的软件:
apt install nginx

安装 mysql。运行命令apt install mysql-server:

安装php。apt 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 TOKEN:php 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查看配置是否正确:

四、测试效果
接着重启nginx:nginx -s reload

重启后访问发现报错:



可以看到我们项目已经部署到线上了。
在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。
