PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Laravel  /  管理员 发布于 5年前   481
相对于熟读官方文档,更重要的是要把框架环境搭起来。 一、安装LNMP 二、安装Composer 局部安装 分别执行以下两条命令 安装完成,使用以下命令看是否安装成功 出现版本号,即说明安装成功 三、安装Laravel 安装完成后,在Nginx的配置文件(一般是/etc/nginx/conf.d/default.conf)最下方添加如下配置 来到你的laravel工程目录下,看到storage和vendor文件夹,使用以下命令修改其文件读写权限,让Nginx用户能读写它 四、让MVC跑起来! demo/app/http/routes.php底部添加如下代码: demo/app/http/controllers/ 目录新添文件 ItemController.php,代码如下: demo/app/目录下新增文件 Item.php 代码如下 使用浏览器访问http://yourIp/item/1,即可列出所有的item数据 五、Laravel结合Redis 安装 启动 查看官方下载和安装文档,只需要几个命令即可 cd 到你的App所在路径,修改composer.json,在require字段里,添加"predis/predis":"~1.0.1",然后当前目录下 sudo composer update,此时就会自动下载包需要的扩展包,这些扩展包将会被放在vendor目录下。如果出现内存不够这些报错,现在看来是内存分配不够的原因,重启一下服务器即可,彻底解决的办法要修改服务器配置,但我不清楚改哪里,后续再补 配置相关配置,查看官方文档即可。主要是配置config/database.php
零、环境介绍
在安装Laravel之前,需要把Linux + Nginx + Mysql + Php的环境搭建好。具体的搭建步骤这里就不再详述了。
P.S.
composer是用来管理PHP包依赖的工具,Laravel正使用此工具进来依赖管理。有两种安装方式
全局安装,即在系统任意目录下可使用。本文只介绍此种安装方法。官方安装文档curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer
composer -V
按照Laravel的官方文档说明即可,建议使用【通过Laravel安装工具】,没什么坑,这里略过
提示:由于Laravel还依赖于一些的PHP扩展,所以使用yum安装sudo install yum php-mysql php-mcrypt php-mbstring php-tokenizer php-openssl
location / { try_files $uri $uri/ /index.php?$query_string;}
sudo chmod -R 766 storagesudo chmod -R 766 vendor
在此之前,你应该读一下官方文档 路由、控制器、数据库使用基础、Eloquent ORM
至此,可以开始coding,开发一个 MVC的demo了,此demo的功能是将数据库表tbl_item从数据库里读出来,并以json格式响应给浏览器。
假设你已经通过laravel new demo来初始化你的web app。Route::get('/item/{id}', 'ItemController@showItem');
model = new Item(); } public function showItem($id) { $users = $this->model->fetchAll(); echo json_encode($users); Log::info('获取用户列表,通过msyql'); }}
all()->toJson(); return $items; }}
直连DB是不够的,很快数据库访问就会成为系统的瓶颈。我们引入缓存Redis。还是一样的思路,先让系统跑起来。
1、安装启动Redis$ wget http://download.redis.io/releases/redis-3.0.1.tar.gz$ tar xzf redis-3.0.1.tar.gz$ cd redis-3.0.1$ make
$ src/redis-server
2、安装PHP PRedis
PRedis是PHP访问redis的扩展包,只需要下载原码即可,不需要安装PHP扩展(如php-redis.so)。但在这之前要介绍一个composer,因为laravel通过它来安装第三方程序包(管理依赖关系)。'redis' => array( 'cluster' => false, 'default' => array('host' => '127.0.0.1', 'port' => 6379))
3、codingmodel = new User(); } /** * Show * * @return Response */ public function showUser($id) { $redis = Redis::connection('default'); $cacheUsers = $redis->get('userList'); if( $cacheUsers ){ $users = $cacheUsers; print_r($users); Log::info('获取用户列表,通过redis'); }else{ $users = $this->model->fetchAll(); $redis->set('userList', $users); print_r($users); Log::info('获取用户列表,通过msyql'); } }}
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号