监控系统实践第10天:用宝塔部署Laravel8.5框架的站点

Posted 家铭didphp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控系统实践第10天:用宝塔部署Laravel8.5框架的站点相关的知识,希望对你有一定的参考价值。

监控系统实践第10天:用宝塔部署Laravel8.5框架的站点

昨天介绍了用Composer下载Laravel8.5的方法,今天就来实际操作Laravel8.5的第一个hello world,将Laravel8.5部署到CentOS上。

添加Laravel框架的站点

之前我在服务器上安装了宝塔,所以现在添加站点,即创建网站,使用宝塔代劳。

宝塔添加Laravel8.5站点方法:

  1. 打开宝塔点击左侧的网站
  2. 右侧点击添加站点
  3. 在弹出的添加站点弹框,中会看到两个Tab,一个创建站点,一个批量创建,这里我们要在创建站点的Tab下填写信息;
  4. 域名:可以是你真实的域名,也可以是本地通过修改host来访问的域名;
  5. 备注:随便写,不写也行,只是个标记作用;
  6. 根目录:宝塔会自动生成,你也可以自定义,如果不太熟悉nginx,建议就用自动生成的目录;
  7. php版本:选择PHP-73PHP 7.3
  8. 点击弹窗右下角的提交按钮。
    在这里插入图片描述
    添加成功后,当前页面会刷新一下,同时可以看到界面上多了一行我刚刚添加的站点信息:
    在这里插入图片描述

将Laravel8.5的框架代码放到站点中

站点添加好了,点进站点根目录后,发现除了有宝塔创建的 4 个文件之外,其它什么文件都没有,相当于一个空目录。
在这里插入图片描述
现在就来把Laravel 8.5的代码放进去:

  1. 找到并打开昨天放置Laravel8.5最新版本代码的目录;
# 进入目录
cd /opt/laravel_code
# 查看文件是否存在
ls

在这里插入图片描述
2. 发现当前目录下有一个文件夹,进文件夹看到代码都放在了 /opt/laravel_code下的文件夹laravel里面;

# 进入
cd laravel
# 查看文件
ls

在这里插入图片描述
3. 复制代码到我刚刚添加的站点目录;

# 复制所有文件到laravel站点目录
\\cp -rf * /www/wwwroot/laravel.didphp.com/
# 进入laravel站点目录
cd /www/wwwroot/laravel.didphp.com/
# 检查一下是否复制成功
ls

在这里插入图片描述

配置Laravel站点

在站点列表里找到刚刚添加的laravel站点,点击它最右侧的设置
在这里插入图片描述
需要注意的是,站点列表里可以看到每个站点相关的域名、所在目录、PHP版本信息,但是如果被修改过,这个列表不一定会跟着同步更新。


点击设置后,出现弹框,然后点击弹框左侧的网站目录,接着点击右侧的运行目录右边的下拉框,选择/public,最后点击下拉框右边的保存按钮。
在这里插入图片描述


网站目录设置完之后,再点击左侧的伪静态,右边会出现一个下拉框和一个文本框,文本框里不要做任何操作,只点击下拉框进行选择。
在这里插入图片描述
展开下拉框后,选择里面的laravel5,这里不要以为是选错了,因为Laravel5Laravel8.5的伪静态是一样的。
在这里插入图片描述
选择后,点击弹窗的保存,成功之后关闭弹窗即可。
在这里插入图片描述

访问Laravel站点

虽然我配置了域名是laravel.didphp.com,但是我并没有去做解析,只是在本地host文件里加了一个指向。

本地打开站点,发现无法正常打开,出现了HTTP 500
在这里插入图片描述
打开报错,是少了文件?还是配置不当?写到这里,我自己也是懵的,因为我之前,这样一路下来没问题的。


看了下Laravel China 社区感觉知道了大概原因:
在这里插入图片描述
我在 3 个月之前微操过一下Laravel8.5的代码,当时对照的是Laravel8.x的文档。社区的这段话说 2 个月前又做了变动,可能现在连使用Composer下载的Laravel文件都做了调整吧。


首先想到的翻查之前的文档,看看用8.x的文档能不能让它跑起来。

之前的文档说需要将 .env.example 改名为 .env,官方文档说使用Composer下载Laravel会有这个文件,但是我使用Composer下载,并没有发现这个文件。

只能去github里下载一个,再来改名:

# 进入站点目录
cd /www/wwwroot/laravel.didphp.com
# 下载 .env.example 文件
wget https://raw.githubusercontent.com/laravel/laravel/8.x/.env.example
# .env.example 改名为 .env
mv .env.example .env
# 查看 .env 是否存在
ls -a

在这里插入图片描述
文件现在有了,打开看看
在这里插入图片描述
没有报HTTP 500了,只是报了文件夹权限问题,这个简单,我们给文件夹来个权限:

chmod -R 777 /www/wwwroot/laravel.didphp.com/storage

现在权限也有了,继续打开:
在这里插入图片描述
提示:No application encryption key has been specified.

这个简单,是需要生成一个 key 文件,执行命令:

php artisan key:generate

成功后会返回:Application key set successfully.
在这里插入图片描述
好了,再来重新打开一次:
在这里插入图片描述
终于完美的打开了。


不要以为这里结束了,实际刚才给予文件夹权限的操作不是很合适,刚才因为我是 root 账号登录的,所以被修改权限的文件夹还是 root 权限,保险起见,要改成跟 Nginx 同样的用户权限,即www:www权限,跟着以下顺序操作一下:

  1. 点击左侧文件,右侧找到存放网站文件的根目录;
  2. 找到其中存放Laravel8.5站点的目录,之前我选择的目录是laravel.didphp.com
  3. 这里我勾选了这个文件夹,然后点击了右边的权限,弹出了权限弹窗;
  4. 弹窗的第一个小框填写755
  5. 弹窗小框右边的下拉框选择www
  6. 弹窗最右侧应用到子目录前面的勾选上;
  7. 点击确定
    在这里插入图片描述
  8. 关闭权限弹窗,点击目录laravel.didphp.com
  9. 找到里面的文件夹storage,点击它右侧的权限,再次弹出权限弹窗;
  10. 这次第一个小框填写777,其它不变,点击确定。
    在这里插入图片描述
    如果这几个步骤不做会怎样呢?想知道的话,可以不管上面的 10 个步骤,后面遇到频繁读写文件的时候可以知道问题。

最后小结

如果真的按Laravel China 社区说的,8.5相对于8.x的文档存在一些变动,那我之前才消化的8.x的笔记要进一步更新了,重新慢慢消化后,我再学习总结一系列的Laravel 8.5基础教程。

以上的阐述只对有基础的朋友有作用,如果对以上的知识点有质疑或者不懂的可以在下方留言。

以上是关于监控系统实践第10天:用宝塔部署Laravel8.5框架的站点的主要内容,如果未能解决你的问题,请参考以下文章

监控系统实践第9天:使用Composer下载Laravel8.5

监控系统实践第12天:5天上手Laravel8.5之路由篇(1/5)

监控系统实践第15天:5天上手Laravel8.5之HTTP请求篇(4/5)

监控系统实践第15天:5天上手Laravel8.5之HTTP请求篇(4/5)

监控系统实践第13天:5天上手Laravel8.5之中间件篇(2/5)

监控系统实践第14天:5天上手Laravel8.5之控制器篇(3/5)