监控系统实践第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
站点方法:
- 打开宝塔点击左侧的
网站
; - 右侧点击
添加站点
; - 在弹出的
添加站点
弹框,中会看到两个Tab
,一个创建站点
,一个批量创建
,这里我们要在创建站点
的Tab下填写信息; - 域名:可以是你真实的域名,也可以是本地通过修改host来访问的域名;
- 备注:随便写,不写也行,只是个标记作用;
- 根目录:宝塔会自动生成,你也可以自定义,如果不太熟悉nginx,建议就用自动生成的目录;
- php版本:选择
PHP-73
即PHP 7.3
; - 点击弹窗右下角的
提交
按钮。
添加成功后,当前页面会刷新一下,同时可以看到界面上多了一行我刚刚添加的站点信息:
将Laravel8.5的框架代码放到站点中
站点添加好了,点进站点根目录
后,发现除了有宝塔创建的 4 个文件之外,其它什么文件都没有,相当于一个空目录。
现在就来把Laravel 8.5
的代码放进去:
- 找到并打开昨天放置
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
,这里不要以为是选错了,因为Laravel5
和Laravel8.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
权限,跟着以下顺序操作一下:
- 点击左侧
文件
,右侧找到存放网站文件的根目录; - 找到其中存放
Laravel8.5
站点的目录,之前我选择的目录是laravel.didphp.com
; - 这里我勾选了这个文件夹,然后点击了右边的
权限
,弹出了权限弹窗; - 弹窗的第一个小框填写
755
; - 弹窗小框右边的下拉框选择
www
; - 弹窗最右侧
应用到子目录
前面的勾选上; - 点击
确定
- 关闭
权限弹窗
,点击目录laravel.didphp.com
; - 找到里面的文件夹
storage
,点击它右侧的权限
,再次弹出权限弹窗; - 这次第一个小框填写
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)