centos7.8安装docker

1. Docker在很多地方出现的名词,比如某某聘啊,论坛,技术群等,对部分人来说,这是啥,这又是啥,干嘛用的。2. Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。百度百科3. 简单来说作用,就是快速部署应用,统一运行环境,解决应用之间的隔离问题的作用,占用资源少。4. Docker的三大核心概念:容器,镜像,仓库。它
阅读全文

php中简单的使用redis发布与订阅

  • liao
  • 2021-02-21 18:15:08
  • php
  • PHP
1. 新年里的第一篇简单redis的发布与订阅文章,旧的一年一言难尽,新的一年祝你我顺利。2. Redis发布和订阅的介绍(摘抄): 基于事件的系统中,Pub/Sub是目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者(如服务器)可将订阅者感兴趣的事件随时通知相关订阅者。 重点:消息发布者,即publish客户端,无需独占链接,你可以在publish消息的同时,使用同一
阅读全文

mysql+navicat-导出数据库文档

1. 现在有些同事(不是我,我喜欢先写文档再建表),喜欢直接在数据库建表,然后不写数据库文档,事后没办法快捷写数据库文档,很苦恼,但之前有个同事写的文档挺快的,所以我问了问秘诀,用sql语句生成就可以了,然后顺带查了查资料,确实是个好方法。2. 先准备一下Navicat,再创建一个测试库,再创建以下数据表:```php//商品表CREATE TABLE `goods` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT
阅读全文

Laravel队列与supervisor简单使用

1. 本文和 一起食用最佳。2. Supervisor的作用:监控进程状态,异常退出时能自动重启。3. 先安装Supervisor:```phpyum install supervisor```4. Supervisor主配置文件:```php/etc/supervisord.conf```5. Supervisor子配置文件(supervisord.d目录下的所有.ini结尾的文件):```php/etc/supervisord.d/.ini```
阅读全文

redis队列秒杀原理

  • liao
  • 2021-01-13 18:07:54
  • php
  • PHP
1. 在商品秒杀等场景中,使用普通的方法处理的话,容易出现以下问题:高并发下的流量冲击数据库商品容易出现库存超卖问题2. 秒杀的大致逻辑:秒杀前,商品上架的时候,将库存添加到redis的队列中,秒杀开始的时候查询这个商品的redis的队列(队列先进先出原则),从这个队列取出值,取出成功的下单,取出失败的全部返回false。3. 准备好redis的环境,复现秒杀场景,开干,先建一个测试用的数据库和数据表:```php//创建cc数据库CREATE DATABASE cc;//
阅读全文

关于laravel日志文件权限错误

1. 场景:laravel在Nginx运行的时候产生的日志文件,定时任务也产生了日志文件,在某些时候会报权限错误(could not be opened in append mode: failed to open stream: Permission denied)。2. 这个问题在技术群里面有人提到过,觉得挺有意思的,打算复现一下场景。3. 准备好了laravel6.0,虚拟机一台(centos7.8),宝塔的集成环境。4. 创建一个日志写入的控制器:```phpphp artis
阅读全文

laravel使用简单队列案例

1. 队列是一种特殊的线性表,只能在表头进行删除操作,表尾进行添加操作,简单来说就是数据的先进先出原则。2. 另类的理解案例:你(消费者)在公司上班,按照领导(生产者)给你的任务表(队列)开始搬砖干活,任务表里面有着任务1,任务2,任务3,干活嘛只能一件一件干,所以要完成任务1才能去做任务2,以此类推,直到干完活,想屁吃呢,领导只会给你不停的生产任务,比如刚刚生产出来任务4嘛,就会安排在任务3后面,以此类推,然后你就不停的干活,日复一日,年复一年。Ps:队列本质上就是一堆任务排队,先进先出。3.
阅读全文

Laravel+PHPUnit学习记录

1. 参考资料:Laravel教程:https://learnku.com/laravel/t/22814 (文章里面部分函数例如: visit(),see(),高版本已废弃,高版本函数请参考 https://learnku.com/docs/laravel/6.x/httptests/51835d75bd )PHPUnit中文网:https://phpunit.readthedocs.io/zh_CN/latest/index.html2. 在某某招聘中和laravel的中文文档有提到单元测
阅读全文

git的自动部署

1. 早些年就想用git来做一个简单的单机自动部署的,然后一直都没有实现,然鹅最近刚好发现一篇文章是写git的单机自动部署,所以自己又搭了一遍玩,原理和我那篇svn自动部署的文章原理一样,都是通过hook(钩子)操作。2. 开始抄作业了。衔接之前写的git文章的版本。3. 服务器端把代码克隆到根目录:```php//创建运行项目的根目录,这个路径自己定mkdir p /www/wwwroot//进入到根目录cd /www/wwwroot//克隆仓库到根目录git clo
阅读全文

集群-搭建主从数据库

1. 搭建主从数据库的目的就是减少数据库的压力,遇到大流量的时候不会死这么快。2. 先准备好两个虚拟机(centos7.8),里面已经搭好了LNMP(nginx1.8,mysql5.7,php7.4)的环境,(我用的宝塔,挺方便的,不一定要使用宝塔的环境,自行安装也可以的,记得安装的位置就好)。3. 配置主数据库:```phpvi /etc/my.cnf //这个是宝塔的默认安装路径和数据库配置文件 自己安装的就不是这个了// logbin : binlog文件存储路径,相对路径
阅读全文