在学习笔记(2)中已经新建的test项目
进入到项目文件根目录 cd /var/www/test
vim .env 添加下面配置
CACHE_DRIVER=redis //缓存默认驱动 SESSION_DRIVER=redis //session默认驱动 QUEUE_DRIVER=redis //队列默认驱动 REDIS_HOST=192.168.10.147 REDIS_PORT=6379 REDIS_DATABASE=0 REDIS_PASSWORD=root REDIS_QUEUE_HOST=127.0.0.1 REDIS_QUEUE_PORT=6379 REDIS_QUEUE_DATABASE=1 REDIS_QUEUE_PASSWORD=root
新增并编辑配置文件 vim /etc/nginx/conf.d/lipy.conf
server { listen 80; server_name lipy.cc; #项目名 记得添加到本地的hosts文件中 access_log /data/logs/nginx/lipy.cc.access.log main; #项目 访问日志 error_log /data/logs/nginx/lipy.cc.error.log; #项目错误日志 index index.php; #默认解析文件 root /var/www/test/public; #项目目录 location / { try_files $uri $uri/ /index.php?$args; } location ~ ^(.+.php)(.*)$ { fastcgi_split_path_info ^(.+.php)(.*)$; include fastcgi.conf; # 此文件 须执行 cp /etc/nginx/fastcgi_params /etc/nginx/fastcgi.conf fastcgi_pass unix:/run/php/php7.0-fpm.sock; #特别注意 此处的fastcgi_pass 配置取自 /etc/php/7.0/fpm/pool.d/www.conf 里面的listen 另外记得修改www.conf 里面的user和group 改为你你当前的用户我是lipy (不要改为root,没啥用) fastcgi_index index.php; fastcgi_param PATH_INFO $fastcgi_path_info; } }
配置完成后,新建日志文件的目录,并给相关用户(我的用户是lipy)权限,此处/run/php/php7.0-fpm.sock 的权限也需改为相关用户的(我的用户是lipy,系统默认是www-data),重启nginx service nginx restart
刚修改了项目的 .env 文件,现在需要把config/database.php文件最下面的redis的配置改为
'redis' => [ 'cluster' => false, 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'port' => env('REDIS_PORT', '6379'), 'database' => env('REDIS_DATABASE', '0'), 'password' => env('REDIS_PASSWORD', 'root'), ], 'redis_queue' => [ 'host' => env('REDIS_QUEUE_HOST', '127.0.0.1'), 'port' => env('REDIS_QUEUE_PORT', 6379), 'database' => env('REDIS_QUEUE_DATABASE', 1), 'password' => env('REDIS_QUEUE_PASSWORD', ''), 'parameters'=>[ 'password' => env('REDIS_QUEUE_PASSWORD', '') ] ], ], 且修改 config/queue.php 文件中的connections配置,该配置中新增
'action_log' => [ 'driver' => 'redis', //用redis驱动 'connection' => 'redis_queue', //用database.php文件中的redis_queue 'queue' => 'action_log', //队列名称 'expire' => 600, //过期时间 ],
添加一个异步写日志的任务 对应的名称来自 学习笔记3 中的配置program
注:期间遇到redis有密码无法访问情况。如下图
执行
执行php artisan migrate --path=database/migrations 指定执行目录
执行 php artisan up 创建表
2、如果是执行队列报 No handler registered for command laravel 这个错误
解决办法,Job类文件引入 use Illuminate\Contracts\Bus\SelfHandling;
且类class ActionLogJob extends Job implements SelfHandling {