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