自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 禅道文档恢复导出

需求目的因产品运营无备份,需要从禅道上找到之前的产品运营文档。看了下禅道的文件上传,module/file/model.php保存到upload目录,company->id (默认为1),按月分目录。savePath = $this->app->getAppRoot() . "www/data/upload/{$this->app->company->id}/" . date('Ym/', $this->now);保存的文件名生成规则为:sessio

2021-06-29 13:26:11 1018

原创 Docker 容器支持SFTP上传文件

使用镜像启动容器:$ docker run -itd --restart=always --privileged=true --net='bridge' --name kooi -p 80:80 -p 25770:25770 -p 22000:22 192.168.0.77:5000/mmox:env /sbin/init注:-p: 指定端口映射,格式为:主机(宿主)端口:容器端口-p 22000:22 将宿主机的22000映射到容器的22 端口 ,内网SFTP上传代码到容器里面( 或者使用

2021-05-25 17:50:16 2041

原创 Docker Registry部署私有仓库及实用案例

为统一环境部署,减少linux开发环境的重复安装Nginx,Mysql,MongoDB,Redis,RabbitMQ,PostgreSQL,尤其是Python版本和项目依赖第三方库。在内网搭建一个私有的docker仓库,将几个项目的开发环境都做好镜像推到私有仓库,供开发下载部署。registry 官方文档地址:https://docs.docker.com/registry/仓库机器:部署registry存储docker镜像的仓库机器。  镜像机器:制作镜像,推到私有仓库的机器。 &nb

2021-05-21 09:31:46 820

原创 php安装扩展imagick

之前使用GD库可以满足项目中需要的头像,图片的处理。包括群和讨论组的类似QQ讨论组九宫格头像拼接也用GD库实现了。但是,在用户量逐步涨上来的时候,效率上就满足不了。即便做了异步队列来异步生成讨论的头像,还是会有延迟显示的问题出现。索性,直接换上imagick。先解释下名词,这两者的关系;ImageMagick:ImageMagick 是用来创建,编辑,合并位图图像的一套组件。 它能够用于读取,转换,写入多种不同格式的图像。 包含 DPX, EXR, GIF, JPEG, JPEG-2000,

2020-08-19 10:39:02 1593

原创 Python使用 Google Protocol Buffers (protobuf)

最新在用Python写游戏服务器,想更换掉老旧的protobuf2,看了下proto3的语法,来测试下:服务器环境 与 protoc 版本:# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core)# protoc --version libprotoc 3.11.4一、安装 Python 的protobuf包:1.1 默认安装最新版本# pip install protobuf1.2 查看protob

2020-08-18 17:41:45 4661

原创 PHP使用 Google Protocol Buffers (protobuf)

很久之前,写PHP的时候,使用 Protobuf 做了聊天APP, 游戏服务器。 那个时候还用的是protobuf 2.5。看了下proto3的语法,来测试下:服务器环境 与 protoc 版本:# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core)# protoc --version libprotoc 3.11.4一、安装 PHP 的 Protocol Buffers 扩展:1.1 默认安装最新版本

2020-08-18 17:19:21 1607

原创 【rabbitmq-Python】-发布Publish 与订阅Subscribe

发布/订阅,使用扇型交换机(fanout)https://pika.readthedocs.io/en/stable/pip install pika发布端(Publish)# coding=utf8'''发布/订阅Publishhttps://github.com/rabbitmq/rabbitmq-tutorialshttps://www.rabbitmq.com/tutorials/tutorial-three-python.html'''import pikaimp..

2020-08-13 19:02:10 1678

原创 【rabbitmq-Php】-发布Publish 与订阅Subscribe

发布/订阅,使用扇型交换机(fanout)composer.json### composer.json { "require": { "php-amqplib/php-amqplib": ">=2.9.0" }}发布端(Publish)/** * rabbitmq * 发布/订阅 * Publish * https://github.com/rabbitmq/rabbitmq-tutorials * https://www.rabbitmq..

2020-08-13 19:00:57 1330

原创 CentOS安装kafka==2.6.0

CentOS版本:# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.6 (Maipo)官方地址: http://kafka.apache.org/quickstart中文文档: https://kafka.apachecn.org/1. 下载kafka源码:# wget https://mirror.bit.edu.cn/apache/kafka/2.6.0/kafka_2.13-2.6.0.tgz2

2020-08-13 17:32:43 1371

原创 PHP安装kafka扩展rdkafka==4.0.3

CentOS版本:# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.6 (Maipo)PHP版本:# php -vPHP 7.2.19 (cli) (built: Jun 4 2019 17:46:23) ( NTS )Copyright (c) 1997-2018 The PHP GroupZend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technolo

2020-08-13 17:00:09 1584

原创 CentOS7安装RabbitMQ的PHP扩展amqp==1.10.2

CentOS版本:```shell# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 7.6 (Maipo)```PHP版本:```shell# php -vPHP 7.2.19 (cli) (built: Jun 4 2020 17:46:23) ( NTS )Copyright (c) 1997-2018 The PHP GroupZend Engine v3.2.0, Copyright (c) 19..

2020-08-03 11:30:15 1773

原创 CentOS7安装rabbitmq3.8.5

CentOS环境:redhat的release版本:[root@depakin ~]# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core)Linux内核版本:[root@depakin ~]# uname -aLinux fuckqiu 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 x86_64 x86_64 GNU/Lin

2020-07-31 15:56:11 1670

原创 mysqldump使用rsync异地全量备份数据库

Mysql 做了本机,同机房全量备份后,想同时做一份异地备份,考虑异地机房的网络不稳定性,使用 rsync 来同步备份的文件;同机房异机备份,内网速度快可以使用scp,或者mysqldump备份脚本放在非mysql机器上;服务器环境: CentOS Linux release 7.7.1908 (Core)当前是一体机,所以在mysql机器做mysqldump,实际业务中上最好在非mysql机器执行mysqldump做备份;一. 远程备份服务器,安装rsync:1.1 使用yum安装:[ro

2020-07-22 18:22:35 4209

原创 php socket数据发送接收MSG常量

windows下:常量数值说明socket_recvsocket_sendMSG_OOB1处理超出边界的数据。√√MSG_PEEK2从接受队列的起始位置接收数据,但不将他们从接受队列中移除。√-MSG_WAITALL8在接收到至少 len 字节的数据之前,造成一个阻塞,并暂停脚本运行(block)。但是, 如果接收到中断信号,或远程服务器断开连接,该函数将返回少于 len 字节的数据。√-MSG_CTRUNC512控制数据被截断-

2020-06-23 17:56:26 12483

原创 Linux下 PHP socket 错误码预定义常量, 对应数值,错误信息

Linux下 PHP socket 错误码预定义常量, 对应数值,错误信息!php版本:PHP 7.4.0 (cli) (built: Nov 27 2019 10:14:18) ( ZTS Visual C++ 2017 x64 )Copyright © The PHP GroupZend Engine v3.4.0, Copyright © Zend Technologies    with Xdebug v2.9.2, Copyright © 2002-2020, b

2020-06-22 14:49:43 12671

原创 window下 PHP socket 错误码预定义常量, 对应数值,错误信息

window下 PHP socket 错误码预定义常量, 对应数值,错误信息!php版本:PHP 7.4.0 (cli) (built: Nov 27 2019 10:14:18) ( ZTS Visual C++ 2017 x64 )Copyright © The PHP GroupZend Engine v3.4.0, Copyright © Zend Technologieswith Xdebug v2.9.2, Copyright © 2002-2020, by Derick Reth

2020-06-22 14:48:43 13076

原创 CentOS7 安装 淘宝Tengine,健康检查负载均衡

Tcp代理加负载均衡走了Haproxy后,Http的代理和负载均衡,想换个方式,nginx也可以做,但是健康检查太被动了,失败了才发现异常,然后再切换。并不是真正意义上的健康检查。所以准备使用Tengine来替代nginx,来做http七层转发。nginx 并没有自带 ”健康检查“, 而是在某节点出现异常时进行切换。Tengine的health_check_module 则是主动发起请求,去探测是否符合配置预期。ngx_http_upstream_check_module此功能为tengine独立

2020-06-13 19:07:49 15777

原创 linux CentOS7 安装Haproxy,实现Tcp四层负载均衡

跨区域部署业务时,为最小化部署,使用正向代理将请求转发到中心服务器,转发请求包括http 和 tcp。当然Haproxy也是可以做负载均衡的,尤其是在多TCP后端服务器部署下。HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。服务器环境:CentOS Linux release 7.8安装方式,yum安装,Root权限。注意CentOS 8安装时会不一样查找yum源中的hapr

2020-06-13 17:55:15 15521

原创 CentOS7安装OpenResty

有一个项目是Lua库写的,需要部署一个web服务器,考虑Openresty对lua的支持,部署Openresty。OpenResty官方说明:OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。下载地址:OpenResty官网: http://openresty.org/OpenResty下载地址:http://

2020-06-13 10:17:39 10989

原创 Azure Redis 缓存部署注意

最近在Azure 上面部署使用 Azure Redis, 从划分好子网,到部署测试完成,也花了小半天时间。Azure Redis 不同于阿里云,腾讯云的云redis,还是要看下文档,先熟悉下部署注意的地方。根据文档,整理下了要注意的点:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-vnet#how-can-i-verify-that-my-cache-is-working-in-a-vnet

2020-06-07 11:40:25 14806

原创 git 使用中遇到的一些问题

SmartGit是git的一种很好用的可视化工具,收费的。可以注册非商业用途免费使用。注册地址 注意,使用git仓库用户的邮箱注册。如果注册邮箱和git仓库的用户邮箱不一致,会出现弹窗。>> git使用中的一些问题:使用SSH keys 免密操作git: linux使用xshell等SSH客户端 windows使用Git Bash: $ ssh-keygen -t rsa -C "yisangwu@hao123.com" -b 4096 # 使用git账号生成

2020-06-03 00:45:00 14645

原创 CentOS8安装Squid代理服务器

更换了一台阿里云服务器,重新部署服务。直接上了CentOS8系统。CentOS8系统除了默认的pyhton版本是Python 3.6 ,RHEL 包含PHP 7.2。结果,原来的python2的服务都要重新兼容一次python3,也懒得再去安装pyhton2版本。更重要的是,原本代理服务Tinyproxy,在CentOS8上面,无论是rpm安装,还是源码安装最新版本Version 1.10.0,都起不来!!!Tinyproxy git地址:https://github.com/tinyp.

2020-06-03 00:37:57 13310

原创 iptables-F 后 SSH 连接断开

最近回收利用一台被征用做邮件服务的服务器,重新部署新的业务。清理了所有的安装软件和目录文件后,调整了网络安全组规则,仅开放所需端口。看了下防火墙的配置:```shell# iptables -LChain INPUT (policy DROP)target prot opt source destination ACCEPT all -- anywhere anywhere st...

2020-05-29 23:41:40 12065

原创 CentOS7下GitLab修改域名host

因原git域名用作他途,需要更新gitlab的域名。 找了个周末的凌晨更换了域名。 准备工作:新域名的DNS解析,添加 A(主机地址)记录,指向gitlab服务器。 更新域名时,一定不要有代码提交操作。更新域名比较简单,只要restart成功,gitlab的所有服务都正常重启,就没有问题了。更新步骤如下, root权限操作:1.修改gitlab.rb文件中,域名相关的地方:$ grep 'xx.com' /etc/gitlab/gitlab.rbexternal_url '...

2020-05-23 16:01:50 12212

原创 CentOS7 下部署Google Authenticator

Google AuthenticatorGoogle身份验证器是一款基于时间与哈希的一次性密码算法的两步验证软件令牌,此软件用于Google的认证服务。此项服务所使用的算法已列于 RFC 6238 和 RFC 4226 中。查看当前yum源有无Google Authenticator:$ yum list | grep authenticatorLinux (apk, rpm, tgz)下载地址: https://pkgs.org/download/google-authentica

2020-05-22 23:30:11 11393

原创 python 3.7 crash after install readline

pip install readline 安装了readline模块之后,python控制台崩溃:执行结果,如下:>>> 1+1 *** Error in `python': free(): invalid pointer: 0x00007f13bf7a7af0 ***======= Backtrace: ========= /usr/lib64/libc.so.6(+0x81679)[0x7f13be21a679] /usr/local/lib/libpython.

2020-05-22 22:03:40 10313

原创 Django 每个App配置独立域名

环境:Python 3.8.1 + Django 2.2.12为整合流程规范,部署了综合型的项目,包含了 task (需求系统),doc (文档系统),sso (单点登录系统),大致的目录结构:CellMiddle -- 项目根目录├─task --- 需求系统│ ├─migrations│ ├─static│ └─templates├─logs --- 日志目录├─doc --- 文档系统│ ├─data│ ├─migrations│ ├─static.

2020-05-22 22:01:03 10543

原创 php 使用array_walk生成新的数组

array_walk(array,myfunction,userdata...)array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。典型情况下 myfunction 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。$a = ['a' => 'red', 'b' => 'green', 'c' => 'blue...

2020-05-22 21:59:34 10383

原创 TOA - TCP Option Address

使用Haproxy转发TCP到业务服务器端,后端报文看到的源 IP 地址是代理服务器的IP 。为了让后端能够获取到用户端实际的 IP 地址,有三个方案:1. http 请求记录标识:在客户端和服务器建立TCP连接之前,一般都是先http请求拿到服务器的IP和PORT。 在http请求时,使用客户端的ID或者macid,device_id,golbal_id等唯一标识映射用户的ip,存储起来,ex:redis的hash 或 zset。 这样,后端tcp服务器就可以根据唯一标识,在存储中拿到用户的ip

2020-05-22 21:58:19 13914

原创 php使用RSA私钥公钥签名校验

#### 生成 RSA 私钥```shell$ openssl genrsa -out rsa_private_key.pem 1024```#### 生成 RSA 公钥(php和java都用私钥生成公钥)```shell$ openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem```####PHP 版本加密,认证:```php<?php$privateKeyString=<<<E

2020-05-22 21:56:24 10914

原创 Python版本Google广告admob服务端回调验证SSV

Google的激励广告的 Google 回调的服务器端验证 ( SSV ) server side verifiy。Python版本的基于第三方包 ecdsa 开箱即用。Google公钥的地址:https://www.gstatic.com/admob/reward/verifier-keys.json注意:AdMob 密钥服务器提供的公钥会不定期轮换。为确保可以继续按预期验证 SSV 回调,请勿使公钥的缓存时间超过 24 小时。 Google 预计您的服务器会针对 SSV 回调返回

2020-05-22 21:51:38 10873 1

原创 PHP版本Google广告admob服务端回调验证SSV

老文章,搬运到这里而已。因业务需要接入Google的激励广告,涉及Google回调的服务器端验证 (SSV) server side verifiy。Python版本的基于第三方包ecdsa开箱即用,PHP版本也有一个ecdsa库,但是过于复杂。想到之前做支付宝支付,google支付的openssl rsa密钥签名校验。还是自己来写个简单实用的。Google公钥的地址:https://www.gstatic.com/admob/reward/verifier-keys.json注意.

2020-05-22 21:49:11 11139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除