本文目录
- 一、购买服务器
- 二、云服务器配置
- 三、打包压缩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的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。