昨天介绍了用Composer
下载Laravel8.5
的方法,今天就来实际操作Laravel8.5
的第一个hello world
,将Laravel8.5
部署到CentOS
上。
之前我在服务器上安装了宝塔,所以现在添加站点,即创建网站,使用宝塔代劳。
宝塔添加Laravel8.5
站点方法:
网站
;添加站点
;添加站点
弹框,中会看到两个Tab
,一个创建站点
,一个批量创建
,这里我们要在创建站点
的Tab下填写信息;PHP-73
即PHP 7.3
;提交
按钮。站点添加好了,点进站点根目录
后,发现除了有宝塔创建的 4 个文件之外,其它什么文件都没有,相当于一个空目录。
现在就来把Laravel 8.5
的代码放进去:
Laravel8.5
最新版本代码的目录;# 进入目录
cd /opt/laravel_code
# 查看文件是否存在
ls
2. 发现当前目录下有一个文件夹,进文件夹看到代码都放在了 /opt/laravel_code
下的文件夹laravel
里面;
# 进入
cd laravel
# 查看文件
ls
# 复制所有文件到laravel站点目录
\cp -rf * /www/wwwroot/laravel.didphp.com/
# 进入laravel站点目录
cd /www/wwwroot/laravel.didphp.com/
# 检查一下是否复制成功
ls
在站点列表里找到刚刚添加的laravel
站点,点击它最右侧的设置
。
需要注意的是,站点列表里可以看到每个站点相关的域名、所在目录、PHP版本信息,但是如果被修改过,这个列表不一定会跟着同步更新。
点击设置
后,出现弹框,然后点击弹框左侧的网站目录
,接着点击右侧的运行目录
右边的下拉框,选择/public
,最后点击下拉框右边的保存
按钮。
网站目录设置完之后,再点击左侧的伪静态
,右边会出现一个下拉框和一个文本框,文本框里不要做任何操作,只点击下拉框进行选择。
展开下拉框后,选择里面的laravel5
,这里不要以为是选错了,因为Laravel5
和Laravel8.5
的伪静态是一样的。
选择后,点击弹窗的保存
,成功之后关闭弹窗即可。
虽然我配置了域名是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
,其它不变,点击确定。如果真的按Laravel China 社区
说的,8.5
相对于8.x
的文档存在一些变动,那我之前才消化的8.x
的笔记要进一步更新了,重新慢慢消化后,我再学习总结一系列的Laravel 8.5
基础教程。
以上的阐述只对有基础的朋友有作用,如果对以上的知识点有质疑或者不懂的可以在下方留言。