一.什么是Composer
长期以来,PHP的开源方法一直是项目级的,这意味着当我开源时,它是一个项目,例如一整套CMS,以及一个框架(例如Codeigniter)。为什么?非常重要的原因之一是您不容易拆卸。如果您进行拆卸,则没有有效的管理工具可以组合使用,从而导致拆卸的小模块无人问津。然后出现了Composer。它负责管理所有小的开源模块,并将它们有效地集成到一个完整的项目中。Composer是PHP代码依赖项管理工具之一。例如,您的项目需要使用PHPmail类库。只要遵循composer的格式,composer就会自动为您拉出代码库。在您的项目中。
二、安装laravel
首先,使用 Composer 下载 Laravel 安装程序:
composer global require "laravel/installer"
安装laravel
composer create-project --prefer-dist laravel/laravel blog
查看laravel版本
laravel -v
三、创建新项目
1.进入目录
cd /data/www/
2.创建新工程
composer create-project --prefer-dist laravel/laravel blog
该行命令会创建一个叫做blog的项目。ps:已经跑过一次该行代码,再次运行会导致terminal卡住,什么都不显示
3.查看工程目录
进入到工程目录下
subl .
4.后端关注composer.json文件(直接位于blog目录下)
composer.json描述了本项目有哪些依赖
“require”里面看到本项目使用的是laravel框架5.5
然后层层依赖下去
5.前端关注package.json
描述了主要靠mpm依赖包
例如
axios用来发起前端业务请求
cross-env webpack命令
注意:bootstrap默认配置的是sass源码(/resources/assets/sass/app.scss)
6.安装nmp
sudo apt install npm
npm i
安装完成后可以看到,前端依赖的包都放在新生成的node_modules目录下
7.项目创建好后,可以看到已经生成了.env文件
8.浏览器查看本地网页
首先配置好hosts文件(hosts文件位置:/etc/hosts)
127.0.1.1 l.blog.com
浏览器输入l.blog.com
9.查看nginx配置(nginx不负责解析php)
sudo nginx -t
subl nginx目录地址
nginx配置文件是nginx的入口,配置http的基本配置和站点的配置,其中可以引用配置
需要在nginx配置好server才能访问网站,比如设置server_name *.blog.com 在我们输入l.blog.com的时候就会自动匹配到server,然后会去root 下/data/www/blog.com/public目录下找php默认页面,就是index.php找执行,于是换成laravel框架,我们的网站就可以访问啦。
此处两个很重要的文件,enable-php.conf和enable-laravel.conf
enable-php.conf负责配置与php的通讯
enable-laravel.conf是手写的,可在laravel文档中查询如何使网站成为符合laravel的文档
location / {
try_files`$uri`$uri/`/index.php$is_args$args;
}
四、Q&A
问:出现unexpectedValueException:the stream or file “/data/www/blog.com/storage/logs/laravel.log”could not be open:failed to open stream:Permission denied
答:说明已经进入laravel框架的范畴
更改文件夹权限sudo chmod -R 777 . 注意:此处R大写
问:载入网站的时候一直转圈
答:按F12检查网站,network发现有一项time一直处于pending状态,其他任务都完成
光标移上去显示是fonts.googleapis.com
是views上一直在引用谷歌的字体,找到views目录下的welcome.blade.php
把此处的raleway字体注释掉就ok
第二种,bootstrap引用的谷歌字体导致转圈
找到/resources/assets/sass/app.scss
发现bootstrap默认在使用raleway的字体库,是谷歌的东西,把它注释掉就ok
注意:此处修改的是sass源码,需要重新编译
npm run prod
问:浏览器进入l.blog.com后,将显示LNMP一键安装软件包页面
答:这是因为未配置nginx.conf文件
subl / usr / local / nginx / conf / nginx.conf
重新配置服务器ps:最好将所有项目放在一个目录中并养成良好的习惯。 项目路径在此处易于编写。
配置服务器后,检查配置文件。
sudo nginx -s reload
sudo nginx -t
检查正确后,即可访问项目
我来说两句