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 .

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