东拉西扯

张戈博客正式启用全新个性域名:zhang.ge

Docker

Nexus3最佳实践系列:搭建Docker私有仓库

Docker

零门槛!基于Docker快速部署ES集群

网站建设

分享张戈博客的WordPress优化方案,缓解国内云服务器配置低下的问题

Docker

Docker新手入门实战教程

Docker

基于Docker部署ceph分布式文件系统(Luminous版本)

东拉西扯

浅谈个人博客网站or屌丝vps服务器暴露真实IP的危险性

脚本编程

CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

网站建设

如何正确配置CDN高速缓存,避免越用越慢的尴尬

10月4日 · 2019年

Docker Remote API简介及实战分享:Haproxy远程管理

468 9
熟悉Docker的朋友都知道,Docker是可以开启远程控制API的,默认监听TCP 2375端口,它有非常丰富的接口方法,可以用来远程控制Docker Daemon来做很多操作。Docker版本迭代很快,因此不同的版本官方也提供了不同版本的API文档,本文主要基于当前最新的v1.40简单介绍下一些常用操作及最佳实践。一、安装DockerCentos 系统可以直接使用yu...
7月7日 · 2019年

CloudFlare边缘计算Workers尝鲜初探:博客跳转中间页

1489 40
4月27日,有幸参加了由Aftership组织、CloudFlare的大牛孟鑫主讲的《CloudFlare 最新边缘API,打造无服务器(Serverless)架构》课程,感觉收获颇丰。因为这个课程非常接地气,大部分内容都在实战,而不像有些分享一味的讲理论、拼PPT,听得云里雾里,分享的时候是一个样子,真正你去尝试的时候却是另外的样子,duang~,当然,还有一个原因就是张戈博客目前也在用Clo...
6月23日 · 2019年

Docker镜像分享:一键部署MariaDB Galera Cluster集群

1516 19
MariaDB Galera Cluster(下文简称MGC集群),是一套在MySQL innodb存储引擎上面实现多主、数据实时同步以及强一致性的关系存储架构,业务层面无需做读写分离工作,数据库读写压力都能按照既定的规则分发到 各个节点上去,在数据方面完全兼容 MariaDB 和 MySQL。...
6月2日 · 2019年

张戈博客使用CloudFlare CDN加速的经验技巧分享

11137 55
我博客之前的文章提到了因更换了个性域名 zhang.ge 导致无法备案,因此服务器也不得不迁移到国外,这里也顺便分享一下,目前博客使用AWS的lightsail,坐标东京,配置如图:图1:我选择的是套餐三,另外挂了一个20GB云数据盘大概10刀多一点每月,换算软妹币80左右,比国内的绝大部分香港或境外同等配置云服务器划算。如果选择前2个套餐会更便宜。图2:近几个月的费用报...
5月2日 · 2019年

分享一个Nginx反向代理的另类应用案例

2143 35
博客前面分享了一篇《分享一个Nginx正向代理的另类应用案例》,时隔不久,身为救火队员、万金油的博主又再一次接到了一个另「W」类「T」需「F」求:场景和上次有些类似,也是部门引进的第三方应用,部署在各个网络区域,从OA办公区域无法直接访问。目前,运营人员都需要登陆Windows跳板机,才能打开这些应用的WEB控制台。既不方便,而且还有一定Windows服务器的维护工作量,于是找到我们团队...
4月12日 · 2019年

惊现Haproxy重复添加X-Forwarded-For问题(附官方解决办法)

1271 7
最近在配置Haproxy代理的时候发现一个很有意思的事情:Haproxy在代理http请求会无脑加一个X-Forwarded-For(后文简称XFF),而不是将自身的IP地址加到已存在的XFF列表之后,WTF!还有这种神操作?确认无误之后,我到Haproxy的github开了一个issue反馈了这个BUG(issue地址),最终了解到了Haproxy就是这样设计的,并得到了解决方案,而且这个is...
3月22日 · 2019年

解决升级WordPress 5.1后回复评论框不跟随、页面刷新问题

1942 25
近期,发现博客存在不少问题,先是发现图片暗箱、JS二维码失效了,接着评论点击回复按钮页面直接刷新,而没有评论框跟随效果,直到今天居然连网站CSS图标也挂了。。。不能忍,决定花点时间看看到底是啥问题,打开F12并没有发现明显报错,既然是CSS图标挂了,那应该是我外链到fontawesome的css地址有问题。于是过滤了下这个地址,发现居然是301??类似情况如下:原来是 cdn.bootcss...
3月16日 · 2019年

解决MySQL主从复制错误1595:Relay log write failure…

1230 10
先交代下背景:我这边正在研究基于Docker的MariaDB Galera Cluster的自动化集群部署方案【以下简称MGC,后续有时间可以考虑分享下这个方案】,已经完成所有调试,想在生产环境部署一个MGC集群作为从先灰度测试。生产环境主DB版本为MySQL5.5,新的MGC采用Mariadb最新10.3.12 stable版本,做好MGC集群,并导入一份从主DBdump出来的完整SQL之后...
2月16日 · 2019年

解决Nexus Docker仓库搜索镜像返回500错误

617 11
之前用Nexus给团队搭建了一个数据仓库,其中Docker仓库配置教程已经整理分享到了博客《Nexus3最佳实践系列:搭建Docker私有仓库》,但是一直有个小问题,使用docker search来搜索会返回500错误:[[email protected]:~]# docker search idocker.io/hello-worldError response from daemon: Un...
5月20日 · 2015年

为网站开启Nginx缓存加速,支持html伪静态页面

13000 53
上一篇文章分享了如何开启 Nginx 的缩略图功能,也提到了 Nginx 缩略图在完美替代七牛缩略图或PHP缩略图的同时,还会带来一定的CPU负载消耗。因此,本文就来分享一下如何解决这个实时生成缩略图带来的CPU开销问题。思路很简单,既然你要实时生成,那我就将你生成的缩略图缓存一份好了!在我测试期间发现,Nginx 的缓存也同样可以缓存伪静态的 html 页面,完全可以替代WP-S...
12月18日 · 2013年

详解Linux运维工程师必备技能

2068 1
本人是Linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧。说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具。我就大概列出这几方面,这样入门就基本没问题了。Linux系统如果是学习可以选用Redhat或CentOS,特别是CentOS在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄...
4月18日 · 2014年

解决WordPress修改数据库表前缀后无法登陆的问题

2041 33
昨晚,MOREOPEN博友重装Wordpress后发现没有任何内容,帮忙解决时,发现他的数据库居然有3种前缀,看来是多次安装的时没填的前缀不一致造成的。于是,玛思阁着手帮他整理数据库:点击查看大小,找到有数据的的表前缀,发现前缀居然是数据库名,很长很长。。。太难看了!这对于我这种强迫症患者是无法容忍的。。。我先将其他2个前缀的所有空表全部删除,只留下那个前缀很长的表,然后全选使用下...
脚本编程阅读更多
12月17日 · 2013年

[持续更新]批处理重命名系列案例

1851 1
批处理用于文本/文件的操作确实非常简单有力!不用多么复杂的代码,仅一个记事本加上简洁的代码即可搞定大部分文本/文件的操作,下面记录下我用过的一些代码,基本都是我在百度回答知友的一些代码,既给涧客们参考,也让起到备忘的作用。。。。(本文是系列博文,将持续更新,敬请关注!)案例一、百度原址 知友问:想把一个文件夹里的全部文件都命名成001,002……这样按顺序,什么顺序无所...
4月8日 · 2015年

zabbix agentd客户端插件Shell一键自动安装脚本

2790 5
这次生产环境上线了多台Linux服务器,需要全部纳入Zabbix监控范畴,一台一台的去装Zabbix Agentd插件那就太苦逼了,所幸Zabbix客户端插件是支持绿色安装的,就写了个简单的一键安装脚本,然后配合 Secure CRT 的多窗口交互命令一次性就可以搞定了。正常启动Zabbix客户端服务其实只需要2个文件: zabbix_agentd 和 zabbix_agentd....
1月2日 · 2017年

利用腾讯云COS云对象存储定时远程备份网站

6160 81
导读:2个月前,张戈博客分享了一篇Python+Shell定时备份网站到阿里云OSS的教程,已经有非常多的站长朋友用上了,反馈还不错,也有不少朋友提出了很多优化建议,比如上传完成后能否删除本地压缩包之类的,本文将继续分享另一种云端备份方案。一、优点分析内网传输:和阿里云OSS一样,腾讯云COS同样支持内网和外网文件传输,对于腾讯云服务器,使用内网传输绝对是最快、最稳定的备...
12月17日 · 2013年

[转]批处理For语句从入门到精通

1866 5
申明:本资料转自批处理之家,版权归作者:namejm 所有,如需转载请注明。原帖地址:http://bathome.net/thread-2189-1-1.html此文是俺学习批处理的启蒙教程,作者非常详细的分析了批处理最核心的for命令以及变量延迟,对于要学习批处理的童鞋非常值得仔细研读。一 前言二 for语句的基本用法三 for /f 含变量延迟四 fo...
7月31日 · 2014年

VPS服务器备份网站文件和数据库到七牛云存储的shell脚本工具

2667 33
一直想写一篇关于网站本地备份和远程备份的文章,相关草稿其实在6.12号就写好了,一直因为没有测试环境,没发布出来。时间久了,也就忘了,回头找个时间测试下再发布好了。今天分享的工具也和备份有关,而且是远程备份,这个工具算是我的无聊之作吧,虽说WordPress已经有wp2pcs这类备份插件了。相信折腾VPS的站长会喜欢我这个工具的,因为它不会常驻占用资源。一、工具档案工具名称:Bac...
11月3日 · 2014年

VPS/Linux系统防CC攻击带白名单过滤功能的Shell脚本

3019 4
最新更新:张戈博客已推出功能更强大的轻量级CC攻击防御脚本工具CCKiller==>传送门根据我个人VPS需求,并参考了余洪春前辈的《自动甄别黑白名单的iptables安全脚本》,编写如下Shell代码。脚本名称:自动拉黑CC攻击者IP的Shell脚本功能说明:通过netstat -an命令统计出当前请求并发大于100的IP,然后将不在白名单的IP自动加入DROP规则...
3月24日 · 2015年

bat/cmd批处理连接SqlServer数据库查询脚本

5022 10
难得今天晚上9点前赶回家,而且最近草稿箱也压了不少“湿货”,就挑一篇发出来好了!不过在发文章之前先吐槽一下那个从昨天攻击张戈博客到现在还在继续的无聊蛋疼之人!本来就算开启了云加速全缓存也是扛不住的,因为静态中混着动态请求,比如浏览计数。还好灵机一动,对这些动态做了点小手脚,现在基本毫无压力了!粗略分析一下这个攻击博客的小人,无外乎是2种人:①、最近张戈博客流量大涨,估计遭人...
11月15日 · 2014年

grep无法查找shell传过来的变量?先注意一下文本格式吧!

9900 6
昨天,同事告诉我发现一个诡异的问题,grep无法搜索shell中的变量,着实很惊讶。到他所说的服务器上试了下,还真是不行!大概就是这样一个要求:①、有个文本为userid.txt,里面每一行一个用户id,类似如下:00010003000500070009②、另外还有一个文本为record.txt,里面是所有用户的操作记录,一行一条,并且包含有id,类似如下:...
6月16日 · 2017年

Python远程控制模块paramiko遇到的问题及解决记录

10565 15
最近一直在开发自动化运维发布平台,底层命令行、文件通道主要基于paramiko模块,使用过程中遇到各种各样的问题,本文主要用于收集问题及解决记录,以备后续使用。一、Error reading SSH protocol banner连接错误这个关键词,在百度、谷歌一搜一大把的提问,也有少部分给出了解决方案,但是最终都无法解决,我经过不断尝试和解读paramiko源码,终于搞定了这个问题,在此...
5月16日 · 2014年

百度开放适配&360移动适配专用Sitemap格式转换工具

6350 52
此工具可将标准版的sitemap.xml转换成电脑版—移动版的对应关系sitemap,用于百度开放适配&360移动适配的文件提交。工具用批处理制作,仅起到批量转换的辅助功效,免去手动制作的麻烦!可以用于移动适配的提交测试!张戈不会php,而shell又不能普遍适用,所以只能挑了自己比较拿手的批处理来制作这个辅助工具!因为批处理的局限性,做出来的工具只能用于尝鲜测试使用!或长期不更新的CMS企业网站来提交移动适配sitemap。另外,响应式站点亦无需提交适配!...
操作系统阅读更多
1月2日 · 2014年

安装完Win7之后推荐做的一些设置

2124 1
 前言:不知道写什么,就总结一下我个人安装完成windows7之后要做的一些设置吧!以下全文均为个人回忆总结,文章也很冗长,难免有纰漏或者不符合你个人习惯的内容,如果发现有让你觉得很不屑的内容,立即关闭此网页,以免浪费时间~~虽然Win8已经推广使用,但目前windows7还是普通用户的主流系统,个人虽然也挺喜欢Win8的一些功能,比如超级任务管理器、可暂停的复制/粘贴等。但个人比...
9月29日 · 2014年

Linux网络实时流量监测工具iftop的安装使用

5842 1
概述:网络管理是基础运维中一个很重要的工作,在看似平静的网络运行中,其实暗流汹涌,要保证业务系统稳定运行,网络运维者必须要了解网络的流量状态、各个网段的使用情形,带宽的利用率、网络是否存在瓶颈等,同时,当网络发生故障时,必须能够及时发现问题,迅速定位问题,进而解决问题,这就需要一些网络监测工具的辅助,本节将介绍一款小巧但功能很强大的网络实时流量监测工具iftop。一、iftop概述ifto...
5月4日 · 2014年

在Linux中发现IP地址冲突的方法

3317 8
Linux下出现IP冲突,是不会像Windows那样,在右下角弹出冲突提示的。博主就出过一次糗,记得当时是在VM虚拟机里面安装了4个redhat,测试LVS集群。结果发现其中一台RealServer老是掉线,重启network服务后能正常几分钟,然后又掉线了。。。4个Redhat都是VM克隆出来的、完全一致的系统,仅其中一台出问题,所以博主觉得匪夷所思!直到,后来我的办公电脑(宿主)网线直接没...
8月19日 · 2015年

解决dos2unix/unix2dos报错,并在家目录下生成u2dtmp*文件问题

3068 3
最近接到一个 case:大数据分析那边反馈我们这边推送的数据同比去年同期少了很多。这是很不正常的,因为业务一直在增长。于是,我开始顺藤摸瓜的跟进。一开始就发现一个小问题:scp 推送文件脚本执行后居然会报错:[[email protected] :/data]# sh pushdata.shdos2unix: converting file pushdata.log to UNI...
8月7日 · 2014年

Linux系统yum命令安装软件时保留(下载)rpm包

7609 4
昨天在部署zabbix监控的时候,遇到一个问题:监控服务器处于无外网状态,在线安装不可用。而某些依赖包度娘或谷姐搜索起来也挺呛人的!于是想到一个办法,利用有外网的服务器的yum命令来安装这些软件,并自动保留安装包即可。于是就有了以下的转载教程:一、让yum命令下载RPM包,而不安装。yum是一个优秀的软件获取与系统更新的工具,主要应用于redhat系列的发行版本上。但是这样一个优秀...
4月17日 · 2015年

Linux系统编译安装Redis以及主从复制配置小记

3612 6
Redis的安装配置很简单,而且很早之前就装过Redis,可这几天再次安装时居然又遗忘了一些细节,看来好记性不如烂笔头,还是在博客记录一下比较好,至少不用总是抱度娘大腿了。今天编译安装了几次,发现居然没在prefix指定目录生成文件??看了半天结果发现PREFIX我用了小写字母。。。看来还是得记录一次正确的操作步骤,免得再次出现这种窘迫。一、选择版本前往官方网站:h...
4月4日 · 2014年

Linux优化方法收集与整理

3342 15
之前一直有博主要求整理下VPS主机优化方法,那么如果你是VPS主机(Linux),可以尝试一下了,尤其是linux系统的内核参数优化。一、增加SWAP分区VPS(Virtual Private Server 虚拟专用服务器)技术,将一部服务器分割成多个虚拟专享服务器的优质服务。每个VPS都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立执行程序和独立系统配置等。下...
11月18日 · 2014年

Linux系统crontab备份数据库执行不成功?可能是百分号%在作怪!

2726 4
之前博客分享过一篇《Linux/vps本地七天循环备份和七牛远程备份脚本》,我自己也一直在用。某天检查备份的时候,突然发现数据库的备份的压缩包是空的!看了下crontab的日志,发现有如下错误:Access denied for user \'dbuser\'@\'localhost\' to database \'db\' when using LOCK TABLES原来,我在计划任务中备份...
3月24日 · 2014年

Linux:10个实用的网络和监控命令

2663 13
本文列出了10个基础的每个Linux用户都应该知道的网络和监控命令。网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看linux服务器ip地址,管理服务器网络配置,通过 telnet 和ethernet建立与linux之间的网络链接...
4月29日 · 2014年

教你如何查看Linux的CPU负载

11948 6
记得博主以前被问到CPU负载如何才算高的时候,出过一次糗,具体就不记录了。。。在网上找了一篇比较详细的Linux下的CPU负载算法教程,科普一下。不感兴趣,或看不懂的朋友无视即可,不必浪费时间哈。昨天查看Nagios警报信息,发现其中一台服务器CPU负载过重,机器为CentOS系统。信息如下:2011-2-15 (星期二) 17:50   WARNING - load av...
WEB应用阅读更多
4月24日 · 2016年

Nginx网站使用CDN之后禁止用户真实IP访问的方法

8652 51
做过面向公网WEB运维的苦逼们肯定见识过各种恶意扫描、拉取、注入等图谋不轨行为吧?对于直接对外的WEB服务器,我们可以直接通过 iptables 、 Nginx 的deny指令或者是程序来ban掉这些恶意请求。而对于套了一层 CDN 或代理的网站,这些方法可能就失效了。尤其是个人网站,可能就一台VPS,然后套一个免费的CDN就行走在互联网了。并不是每个CDN都能精准的拦截各种恶意请求的,更...
9月22日 · 2014年

http加速器Varnish的vcl配置小记(lnmp环境)

3141 2
在以前的公司曾安装过Varnish,可惜还没摸热就离职了,这次接着倒腾了下Varnish,并搭建成功,特来记录下,以备后用。一、测试环境系统版本:CentOS 6.4 x64WEB环境:Nginx+PHP+MySQLVarnish:3.0工作原理:简单的说,在本次测试中,Varnish将来自80的请求转发到后端的nginx8080端口,当匹配到请求是jpg、css、...
5月18日 · 2014年

nginx配置文件参数详解

2933 32
这年头原创技术博文真心难写,不可能每天都有灵感,也不可能每天都出问题。而且技术教程也非常全面,不管是百度一下,你就知道,还是谷歌一把,你就找到,基本要啥有啥,只有你想得到,没有你搜不到。。。如果突然发现搜不到了,那恭喜你,你又可以来个原创研究项目了!之所以开篇吐槽这么多,也是因为张戈今天确实没东西写,又不想转载, 就来点伪原创吧!主要是更换域名之后,确实需要很长一段时间的原创文章来取得搜索...
10月6日 · 2015年

Nginx配置多站点下的Proxy_cache或Fastcgi_cache缓存加速

5037 19
张戈博客分享过很多关于缓存加速的教程,自己也是不断的在摸索,追求最佳的网站静态缓存加速方案。在这里简单的总结一下:1、使用虚拟主机的朋友推荐使用缓存插件或php 代码版缓存方案=>点此直达2、使用独立主机的朋友推荐使用Nginx的Fastcgi纯静态缓存方案=>点此直达在我分享了Nginx的Fastcgi缓存之后,有不少朋友已折腾成功。不过有朋友反馈,不知道在多...
4月29日 · 2015年

Nginx发布1.9.0版本,新增支持TCP代理和负载均衡的stream模块

17951 10
昨天在公司微信群,CTO分享了这个消息,对运维来说以后基于TCP协议的后端业务的高可用又多了一个新的选择,实在是棒极了!一直以来,Nginx 并不支持tcp协议,所以后台的一些基于TCP的业务就只能通过其他高可用负载软件来完成了,比如Haproxy。这算是一个nginx比较明显的缺憾。不过,在1.90发布后这个认知将得到改写:2015-04-28ngin...
11月11日 · 2016年

解决Nginx配置http2不生效,谷歌浏览器仍然采用http1.1协议问题

7848 30
昨天一个网友通过QQ联系我,说按照我博客之前分享的http2配置教程不能生效,想请我帮忙看看。经过测试,使用谷歌浏览器访问他的测试站点,确实没有开启http2,但他的配置和编译参数都正确的,这有点奇怪了。不过昨天太忙就没有继续帮他分析,他只好将服务器账号和密码都留言给了我。今天中午我抽空在他服务器重新编译测试了一把,才发现原来是这么一个梗!他在编译Nginx之前,使用的是yum...
3月5日 · 2017年

libmemcached编译安装报错解决记录

1972 27
我负责的几个公司内部网站,仅集成了php原生memcache组件,不支持memcached分片存储的自动容灾方案,近期出现过几例因memcache服务器故障引起WEB爆卡的尴尬事,所以接到了一个给现网php集成memcached模块的需求。内部的个别系统有多老、多难用我就不吐槽了,slackware、suse用过的人都知道。。。不说了,总之老老实实的编译安装吧。memcached这...
12月27日 · 2014年

Linux+Nginx/Apache/Tomcat新增SSL证书,开启https访问教程

20179 21
上上篇文章《nginx平滑升级&新增模块》提到了公司的https访问需求。当我新增了SSL模块之后,却发现以前还真没部署过https访问。下面整理我的部署过程,并收集了一下Apache和Tomcat这2种Linux下常用的WEB软件配置SSL的简单简单步骤,以便回头翻阅。一、下载证书成功申请SSL证书之后,就可以下载到配置SSL的证书了!一般情况下,都可以选择下载相应WEB...
5月30日 · 2015年

Nginx开启fastcgi_cache缓存加速,支持html伪静态页面

16073 124
张戈博客不久前分享过Nginx开启缓存为WordPress加速的教程,其中分享了2种缓存模式:代理模式和本地模式。我一直以为单个 ngx_cache_purge 缓存模块只支持proxy代理模式,结果热心的网友回复,其实这个模块也是支持本地缓存的,而且WordPress还有配套的插件!看来还是我孤陋寡闻了!我像发现了新大陆一般,立马进入折腾状态,幸不辱命,已经成功部署!最爽...
12月6日 · 2014年

php平滑重启nginx,彻底清除WordPress的静态缓存

3957 9
每一次分享技术文章,都是基于自己的痛点,基于自己的需求。这次也一样,所以分享具体方法之前,我先说一下我这次的需求与痛点:一、需求痛点在博客集成了代码版缓存功能之后,为了方便在前台清理页面缓存,我特意写了ajax清理缓存的功能(相关文章)。这个功能写好之后确实可以正常工作。但是,为了让网站加载速度提升到极致,我还在nginx里面加了类似于WP Super Cache的mod_rewr...
5月20日 · 2015年

为网站开启Nginx缓存加速,支持html伪静态页面

13000 53
上一篇文章分享了如何开启 Nginx 的缩略图功能,也提到了 Nginx 缩略图在完美替代七牛缩略图或PHP缩略图的同时,还会带来一定的CPU负载消耗。因此,本文就来分享一下如何解决这个实时生成缩略图带来的CPU开销问题。思路很简单,既然你要实时生成,那我就将你生成的缩略图缓存一份好了!在我测试期间发现,Nginx 的缓存也同样可以缓存伪静态的 html 页面,完全可以替代WP-S...
2月27日 · 2016年

分享一下php7和其他php多版本共存的配置教程

6804 14
年前,终于迎来了期待已久的php7正式版,我也在第一时间就给博客用上了。性能确实有了质的飞跃,问题还是有不少的。比如鱼叔的微信插件在php7下面自动回复异常等。为了继续使用微信插件,我只好将php5.6又开了起来,下面简单分享一下多个版本php共存的方法。一、编译路径多个版本php要共存,必须使用不同的安装路径。比如,之前php5.6安装在/usr/local/php,那么我们安装...