Laravel作为重量级的一款PHP框架,代码简洁优雅,如果想更深入的学习PHP建议了解Laravel这款框架。下面对Laravel做一个测试环境部署。
1、服务器环境(我这里选取Laravel 6.x版本,操作系统是mac并未使用虚拟机,官网教程使用了虚拟机https://laravel.com/docs/6.x)
我这里使用mac + nginx1.15 + php7.2 +mysql5.6(这里不详细说明、百度或查看我之前的博客),如下图
然后php扩展支持如下:
BCMath PHP Extension
Ctype PHP Extension
Fileinfo PHP extension
JSON PHP Extension
Mbstring PHP Extension
OpenSSL PHP Extension
PDO PHP Extension
Tokenizer PHP Extension
XML PHP Extension
2、创建一个项目文件夹,mac中控制台进入该目录
利用composer创建Laravel项目,命令如下:
$ composer create-project laravel/laravel wwwlaravel --prefer-dist "6.*"
3、在nginx中配置laravel,将目录指向laravel入口目录:public
找到nginx中的*.conf文件,修改www.conf(或者修改nginx.conf,一般www.conf会被引用到nginx.conf中)
我这里修改www.conf 如下:
server {
listen 8088;
server_name localhost;#charset koi8-r; #access_log logs/host.access.log main;
root /usr/local/var/wwwlaravel/public;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;}
#error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/var/wwwlaravel/public; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 #
location ~ .php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params;
}# deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
4、修改storage目录中所有文件的权限为777,否则无法写入日志文件会报错
直接在改目录下执行:
$ sudo chmod -R 777 .
扫描二维码关注公众号,回复: 11180410 查看本文章
5、在第三步设置的端口为8088,直接访问http://127.0.0.1:8088/ ,如下:
6、文件夹名称对应简介
app 应用程序的业务逻辑代码存放文件夹
app/Console 存放自定义 Artisan 命令文件
app/Http/Controllers 存放控制器文件
app/Http/Middleware 存放「中间件」文件
bootstrap 框架启动与自动加载设置相关的文件
composer.json 应用依赖的扩展包
composer.lock 扩展包列表,确保这个应用的副本使用相同版本的扩展包
config 应用程序的配置文件
database 数据库操作相关文件(数据库迁移和数据填充)
node_modules 存放 NPM 依赖模块
package.json 应用所需的 NPM 包配置文件
phpunit.xml 测试工具 PHPUnit 的配置文件
public 前端控制器和资源相关文件(图片、JavaScript、CSS)
readme.md 项目介绍说明文件
resources 应用资源
resources/js 未编译的 JavaScript 代码
resources/sass 未编译的 SASS 代码 (将会编译为 CSS )
resources/lang 多语言文件
resources/views 视图文件
routes/api.php 用于定义 API 类型的路由
routes/channels.php 事件广播注册信息
routes/console.php 用于定义 Artisan 命令
routes/web.php 用于定义 Web 类型的路由(重点,大部分情况下本书会用到)
server.php 使用 PHP 内置服务器时的 URL 重写(类似于 Apache 的 "mod_rewrite" )
storage 编译后的视图、基于会话、文件缓存和其它框架生成的文件
storage/app 目录可用于存储应用程序使用的任何文件
storage/framework 目录被用于保存框架生成的文件及缓存
storage/logs 应用程序的日志文件
tests 应用测试相关文件
vendor Composer 依赖模块
webpack.mix.js Laravel 的前端工作流配置文件
yarn.lock Yarn 依赖版本锁定文件
.gitignore 被 Git 所忽略的文件
.env 环境变量配置文件