Backend

linux 安装go

普通 cd /usr/local wget https://golang.org/dl/go1.17.2.linux-amd64.tar.gz tar -xvzf go1.17.2.linux-amd64.tar.gz #环境变量 vi /etc/profile export GOROOT=/usr/local/go #你的go语言包的位置 export PATH=$PATH:/usr/local/go/bin #添加go语言包的bin到path变量里 export GOPATH=/root/gopath #go的项目存放地址,以后你的go项目需要放在哪里,这个你自己随意设置,重要的...

基于docker的php开发环境,多容器

之前写过一篇 vagrant + virtualbox搭建一个可移动的开发环境,现在有了更好的选择,基于docker的php开发环境 拥有前者所有的优点 https://github.com/chudaozhe/dev-environment-php

Supervisor进程守护监控

应用场景 工作中可能要写一些cli脚本,需要后台运行,一般会用 nohup command & nohup /usr/bin/php /www/test.php >> /var/log/test.log 2>&1 & 但这样会有一些问题,不能监控进程状态,异常退出时不能自动重启,这时候 supervisor 是更好的选择 注意:像nginx, mysql, php-fpm等,还是推荐系统级的systemctl 安装 #centos/redhat/fedora yum install supervisor #Debian/Ubuntu可通过apt安装 apt-get install su...

使用 Beanstalk 实现微信支付的异步通知

Beanstalk介绍 Beanstalk是一个基于内存的(binlog持久化到硬盘),事件驱动(libevent),简单、快速的任务队列,支持大部分编程语言,将前台的任务转为后台异步处理,为web开发提供更高弹性。它可以支持多个server(客户端支持),一个任务只会被投递到一台server,一个任务只会被一个消费者获取(Reverse)。 使用Beanstalk任务队列提升PHP异步处理能力,降低程序耦合度,使前台更专注,后台处理耗时、扩展性任务(也可以使用其他语言开发),使得web架构更具扩展性。 相比RabbitMQ,Beanstalk作为一个任务队列,设计比较简单,支持以下特性: ...

在k8s上部署一个前后端分离的项目

4台虚拟机 |节点|系统|IP|备注| |-|-|-|-|-| |master|CentOS-8|192.168.10.90|主节点| |node1|CentOS-8|192.168.10.91|节点1| |node2|CentOS-8|192.168.10.92|节点2| |NFS|CentOS-8|192.168.10.99|文件系统,用于存储项目文件及日志| 准备 基于vagrant搭建k8s集群 linux 搭建 nfs 服务 一个前后端分离的项目 用户端(shop-h5):vue + vant 管理员端(shop-admin):vue + element ui 服务端(...

基于docker的 EFK 日志分析系统

EFK 不是一个软件,而是一套解决方案。EFK 是三个开源软件的缩写,Elasticsearch,Fluentd,Kibana。其中 ELasticsearch 负责日志分析和存储,Fluentd 负责日志收集,Kibana 负责界面展示。它们之间互相配合使用,完美衔接,高效的满足了很多场合的应用,是目前主流的一种日志分析系统解决方案。 本文主要基于Fluentd实时读取日志文件的方式获取日志内容,将日志发送至Elasticsearch,并通过Kibana展示。 启动服务 docker-compose -f docker-compose.yml up -d 验证服务是否已正常启动 ...

k8s 持久化存储

为什么需要持久化存储: 1、使得使用资源的pod的生命周期与存储卷的生命周期分开 2、使得使用资源的pod在被重启后仍然能够使用之前的存储卷 3、使得使用资源的pod在被调度到其它节点后仍然能够使用之前的存储卷 Host类型volume 测试用 - 仅适用于单节点k8s apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 1 template: metadata...

linux 搭建 nfs 服务

NFS 是什么? nfs(network file system) 网络文件系统,是FreeBSD支持的文件系统中的一种,允许网络中的计算机之间通过TCP/IP网络共享资源 服务端 yum install -y nfs-utils # 创建nfs目录 mkdir -p /nfs/data/ # 授予权限 chmod -R 777 /nfs/data # 编辑export文件 vi /etc/exports /nfs/data *(rw,no_root_squash,sync) # 使得配置生效 exportfs -r # 查看生效 exportfs # 启动rpcbind、nfs服务 syst...

k8s ingress 两种部署方式nodePort和hostNetwork

准备 下载deploy.yaml https://github.com/kubernetes/ingress-nginx/blob/main/deploy/static/provider/baremetal/deploy.yaml 替换镜像url并 创建资源对象 # 替换镜像url # 192.168.10.104:5000为本地镜像 将 k8s.gcr.io/ingress-nginx/controller:v1.0.0@sha256:0851b34f69f69352bf168e6ccf30e1e20714a264ab1ecd1933e4d8c0fc3215c6 替换为 192.168.10...

k8s 安装 dashboard

在 master 节点执行 本例 k8s 是 v1.22.0,对应的 dashboard 是 – 这个版本,具体去这里查看对应的版本 https://github.com/kubernetes/dashboard/releases wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml # 创建 pod kubectl apply -f recommended.yaml [root@master vagrant]# kubectl get pods -n ...