跟福哥学编程吧~~
介绍介绍福哥在添加新的主机节点的时候遇到了下面的错误信息:[etcd] Failed to bring up Etcd Plane: etcd cluster is unhealthy: hosts [192.168.2.168] failed to report healthy. Check etcd container logs ...
介绍介绍福哥在使用pymysql查询数据的时候发现了一个奇怪的问题,就是MySQL数据库里面明明存储的是正常的中文,但是通过pymysql查出来之后就会报出如下错误:UnicodeDecodeError: 'utf-8' codec can't decode b...
介绍介绍CentOS自带的docker是早期的版本,支持的功能比较少,而且已经没有人维护了。最新的版本存在于docker团队维护的版本,社区版本是docker-ce,企业版本是docker-ee,像福哥这样的P民自然选择docker-ce版本了。由于默认CentOS自带的是早期的版本的docker,所以福哥要把它升级到docker-c...
介绍介绍福哥在使用docker-compose工具build镜像的时候得到了如下的错误信息:[root@dev TFLinux]# docker-compose build mysql Building mysql unknown flag: --iidfile...
介绍介绍前面福哥带着大家使用CentOS7通过Postfix和SASL服务搭建了一个SMTP邮件服务器,通过SMTP服务可以实现发送电子邮件的功能。SMTP服务可以用来发送电子邮件,POP服务可以用来接收电子邮件,今天福哥会带着大家继续在SMTP服务器的基础之上通过Dovecot搭建POP邮件服务器。安装安装直接通过yum安装dove...
介绍介绍福哥在使用docker-compose搭建邮箱服务器的时候发现sendmail需要依赖的服务非常多,势必需要用到privileged权限,而福哥非常不想在这样的服务里面分配这么高的权限,那么怎么办呢?后来经过一番研究,发现了postfix这个小可爱,它真的很简单,真的很好用,比起sendmail来说配置起来舒服太多了!配合着d...
介绍介绍Rancher/Rancher就是Rancher 2.x版本的命名,Rancher 2.x是不依赖Apache之类的web服务器运行的,因此如果我们要更换默认的非授权SSL证书不是那么简单的了。福哥为了这个证书的问题折腾了一下午,经过各种研究尝试终于解决了问题~~安装原来rancher 2.x的ssl证书默认情况下是不在ran...
介绍介绍福哥发现如果我们在rancher服务器节点上面部署rancher客户端节点的话,总是会出现不成功的情况。这是因为虽然是一台服务器,但是服务器节点和客户端节点之间还是“远程”操作的,这里面就存在一个安全的问题。而rancher解决安全的方式就是使用HTTPS方式加密传输数据,HTTPS就意味着需要一张SSL证书。当我们没有合法的...
介绍介绍关于docker做端口映射的技术,相比大家都比较属性了,不就是用port做个映射吗?简单!!!其实,这个端口映射还是有一些道道的,大家跟着福哥来吧~~expose暴露端口给宿主机,这时可以通过iptables设置NAT规则将暴露出来的端口映射出来。真实IP地址因为是通过NAT访问的,所以服务器获取的客户端IP地址就是NAT外面...
介绍介绍通过 GeoIP 库可以建立一个本地IP归属地查询系统,快速查询IP归属地信息。最主要的是,它是免费的哦~~安装下载下载 GeoIP2 库https://dev.maxmind.com/geoip/geoip2/geolite2/1、下载库需要注册账号,注册步骤:提交注册申请,需要一个 Email 地址通过 Email 接收邮...
介绍介绍要学会使用Rancher需要学会使用kubectl工具,这个工具也是rancher里面管理集群的工具。今天福哥要在一个全新的机器上面安装kubectl工具,大家跟着来吧~~安装导入源首先需要将kubernetes的源导入进来。cat <<EOF | sudo tee ...
介绍介绍我们辛辛苦苦调好了一个容器的设置,想保存起来怎么办?我们需要备份一个容器的设置和数据,数据没有通过卷功能做持久化怎么办?我们想把调整好的容器打包成一个镜像供其他环境使用,应该怎么办?这些问题都涉及到一个操作,就是把容器数据整体导出,形成一个文件,或者一个镜像。export导出镜像可以使用export命令,export可以将一个...
介绍介绍有的时候我们在合并Git分支的时候会发现两个分支的差异特别大,这种情况多发生在多人开发一个项目的时候。如果只是差异大还好,如果还伴随着一堆冲突,那简直不要太恶心~~原因这个原因大家应该比较容易想明白,就是在你commit修改的时候,也许其他人已经commit过很多很多次了。这里面不乏一些公共库大家都会往里面添油加醋,这时候后面...
介绍介绍福哥使用httpd -k start命令启动CentOS 7自带的Apache服务,结果发现总是启动不起来,查看错误日志发现了如下信息:AH01762: Failed to create shared memory segment on file原...
介绍介绍福哥需要在php里使用AES加密解密功能,今天整理出来和大家分享一下。早期的PHP实现AES借助的是mcrypt扩展,后来在PHP7之后就换成了openssl扩展来实现了。mcrypt版本代码比较复杂且需要自己实现PKCS7补位的逻辑,而openssl版本则默认使用了PKCS7补位不需要自己来编写代码实现了。通过openssl...
介绍介绍福哥需要给TFPHP框架添加一个TFMail对象,因为发送电子邮件是通过Socket和SMTP服务器通讯完成的,这里面发送的数据包和接收的数据包都是要遵循SMTP协议的。今天福哥就将SMTP协议的基本流程整理出来,根据这个流程,任何可以直接操作Socket发送接收封包的语言就都可以实现发送电子邮件的功能了。SMTP协议SMTP...
介绍介绍php脚本有着非常强大的库支持,可以轻松做出特别强大的程序。php不仅仅可以搭建各种各样的网站系统、平台系统,还可以开发基于控制台运行的程序。不过使用php开发的控制台程序在使用的时候需要保证包含库文件的相对路径结构,这个在使用上不是很方便。如果有一个方法可以把整个php项目都变成一个php文件就好了。其实php自身支持一种叫...
介绍介绍福哥在使用selenium去爬取网页的时候发现有的网站的结构设计的非常复杂,如果使用chrome自带的find_element_by_xxx方法想要得到目标元素简直比登天还难。福哥就想如果可以在抓取的网站上面加一段JavaScript代码就好了,福哥就可以随心所欲地玩弄页面上面的元素了。福哥在翻阅文档的时候发现了chrome的...
介绍介绍福哥在使用selenium实现页面爬取的时候发现遇到包含框架(frame)的网页时候就无法通过find_xxx方法得到页面上的元素,这可真是麻烦了啊!福哥在使用F12调试前端的时候发现在调试面板的控制台栏里就可以选择页面上面的任意一个框架(frame)作为当前框架,如果selenium也可以选择页面上面的框架就好了!经过一番折...
介绍介绍福哥发现很多网站都要通过邮箱来注册账号,去申请别人的邮箱需要提交好多资料,烦人啊!最后福哥决定自己搭建一个邮箱服务器好了。福哥用sendmail搭建自己的电子邮箱系统,sendmail是linux操作系统的软件,所以服务器选用的是centos7。安装安装sendmailsendmail是搭建电子邮箱系统的基础服务yum&nbs...
介绍介绍我们使用 python 替代 shell 是因为 python 更强大,但是shell就是linux,shell调用系统命令直接就可以那么 python 如果调用系统命令呢?教程使用 os 模块获取标准输出标准输出stdout通过readlines()方法得到数组import os fd = ...
介绍介绍上一课我们通过Dockerfile把PHP、MySQL、Redis、MongoDB、Elasticsearch和Nginx重新安装了一遍,大家会发现单独启动这些相互依赖的软件还真是技术活,需要根据依赖关系按顺序启动容器,一旦容器退出了还要想办法及时启动起来。这个问题在早期的Docker部署时期只能通过Shell脚本+Cront...
介绍介绍Nginx是一个反向代理软件,大部分的网站都采用Nginx作为网站/平台的服务器软件。Nginx除了可以直接作为web服务器使用外,更多的情况是通过反向代理将请求转发给上游服务器。配置上游服务器可以使用upstream进行设置,通过upstream可以实现服务的负载均衡规则,可以提高服务器的高可用性。今天福哥要带着大家把Ngi...
介绍介绍大家都知道CentOS 7操作系统默认就带了一个Python的解析器,可以直接运行python程序。不过虽然有了Python解析器,却没有Python包管理工具pip,如果我们想安装Python包的话就无从下手了~~原因可以想象一下,如果允许服务器随便安装Python包,这是一个挺可怕是事情。所以,如果我们想要使用Python...
介绍介绍前面福哥已经把之前在微信公众号里删除掉的文章全部都重新发布出来了,这算是续上了!这让很多老朋友看了两个月的旧内容,福哥实在是不好意思啊,权当是温故而知新吧!技术这东西不怕重复劳动,重复的次数多了,就找到窍门了,然后就水平就提高了!今天福哥打算给大家放出一个常用的前端控件——消息提示框tips。我们在操作网站的时候,尤其是填写功...
介绍介绍我们打开百度首页,在搜索输入框内输入一个关键词,会发现在输入框下面会出现一个下拉菜单,里面是一些包含我们输入的关键词的搜索关键词,下拉菜单里的关键词可以通过键盘的上下键选择或者直接通过鼠标点击选择,大大提高了我们的使用体验。这种功能就是自动完成的功能,其实浏览器本身就支持这种自动完成功能。不过,浏览器的自动完成功能是以你的操作...
介绍介绍福哥在配置MySQL的复制同步的功能的时候,发现这个同步数据的日志是存储在文件里面的,如果数据更新频次非常高的话,对磁盘性能是一个考验~~原因默认情况下master状态信息和slave状态信息都是以文件形式存储起来的,可以通过如下的方法查看。show variables like '%in...
介绍介绍福哥今天要详情的跟大家讲讲图像处理库pillow的使用技巧,pillow是一个非常强大的图像处理库,基本可以满足日常使用当中的所有图片加工的需求。学会pillow库的使用技巧,就可以对我们的照片进行自动化的加工处理了。格式转换可以使用convert方法转换图片模式参数说明1 (1-bit pixels, black and w...
介绍介绍我们的TFLinux是CentOS 7操作系统,在CentOS 7里面增加了一个管理防火墙的工具就是firewall-cmd,这个工具通过firewalld服务起作用,我们可以通过firewall-cmd去控制firewalld服务的功能。今天福哥就把这个firewalld的使用方法教给大家~~添加如果我们要添加一个端口可以使...
介绍介绍福哥在给同福网增加全文搜索功能的时候遇到了一个需求,福哥想要调出“热门标签”列表,这个可以通过SQL语句的Group by来实现。但是福哥想通过Elasticsearch来完成,毕竟ES的执行效率要快很多,那么如何通过Elasticsearch来实现类似SQL的Group by语句的效果呢?通过研究发现了在Elasticsea...