Laravel作为重量级的一款PHP框架,代码简洁优雅,如果想更深入的学习PHP建议了解Laravel这款框架。下面对Laravel做一个测试环境部署。
1、服务器环境(我这里选取Laravel 6.x版本,操作系统是mac并未使用虚拟机,官网教程使用了虚拟机https://laravel.com/docs/6.x)
我这里使用mac + nginx1.15 + php7.2 +mysql5.6(这里不详细说明、百度或查看我之前的博客),如下图
Laravel之-Hello world_第1张图片
然后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.*"
Laravel之-Hello world_第2张图片

3、在nginx中配置laravel,将目录指向laravel入口目录:public
Laravel之-Hello world_第3张图片

找到nginx中的*.conf文件,修改www.conf(或者修改nginx.conf,一般www.conf会被引用到nginx.conf中)
Laravel之-Hello world_第4张图片
我这里修改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 .

5、在第三步设置的端口为8088,直接访问http://127.0.0.1:8088/ ,如下:
Laravel之-Hello world_第5张图片

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 环境变量配置文件