集群化实战之——CentOS 7下使用kubeadm安装kubernetes多机集群(版本1.14)

最近正在学习Kubernetes,但发现官方的文档仅限于配置单机集群(即Master和Node位于同一台机器上),依旧无法判断哪部分属于Master、哪部分属于Node,而互联网上的相关教程、资源大多还停留在1.3、1.7版本,与最新的版本存在大量差异,且内容不够详细。
在踩了无数坑,与Kubernetes激战了好几天后,我决定将1.14版本Kubernetes通过kubeadm的完整安装过程分享出来,希望对大家有所帮助。

继续阅读

使用Apache的Rewrite解决ThinkPHP入口在Public目录的问题

在部署ThinkPHP业务时,我们经常需要将Web服务器根目录指向ThinkPHP源码的public目录,因为该目录内有ThinkPHP的启动脚本,即index.php。但在某些情况下(虚拟主机或Docker甚至Kubernetes等环境下),我们无法直接修改配置文件来将根目录切换到public
但如果这个时候刚好使用Apache作为Web服务器,就可以利用其Rewrite配置来轻松解决这一问题。

继续阅读

探索URL中~符号的起源

在很多高校、组织、机构的网站里,我们经常会看到形如http://example.com/~john/index.html 的URL,其中的~符号异常显眼,但介于主流搜索引擎总是屏蔽特殊符号,且国内使用该URL规则的网站少之又少,想要搜索其源头异常困难。

继续阅读

Tags: , , ,

Nginx通过配置实现单点访问多地存储的文件

最近需要将所在Team的一个静态资源库迁移到阿里云OSS,但在迁移过程中发现大量业务直接通过文件写入的方式向该静态资源库追加文件,这导致了静态资源库的迁移异常困难,而OSS的同步工具ossutil也不能做到实时同步。我灵机一动,想到使用Nginx的Fallback策略来变相完成无缝迁移,即在不影响业务的情况下,使用单点访问多地存储的文件。

继续阅读

Tags: , , ,

浅谈Heredoc及其使用

相信只要在Shell、PHP、Perl等语言中接触过『多行字符串』的人,对Heredoc以及其特征性的『EOF』标识符不会陌生。但关于Heredoc背后一些有意思的玩法,却很少有人接触。这篇文章为大家介绍一下Heredoc的基础操作,历史由来,及其进阶使用。

继续阅读

Tags: , , , , ,

在Linux中建立后台任务的若干种姿势

由于Linux中SIGHUP信号的存在,导致了当终端Detach(退出终端或网络断开)时,从属于终端的进程也被销毁,导致当前所执行任务停止的问题。而且在日常的使用中,也会遇到需要在一个任务执行的过程中,使用同一个Shell来执行其他任务的情况。这篇文章即来盘点在Linux中建立后台任务的若干种姿势。

继续阅读

为MAMP的Web服务器加入gzip压缩功能

MAMP是Web(尤其是PHP)开发者通常在使用MacOS进行Web开发时的最佳选择,然而当有时候我们需要对所开发网站的页面大小进行评估,却发现MAMP默认并未开启gzip压缩(通常线上服务器会开启gzip,优化页面的体积),设置面板中也未找到gzip相关字样。那么我们应该如何开启MAMP的gzip压缩功能呢?

继续阅读

Tags: , , ,

解决Nginx反向代理下Jupyter Notebook出现无限重连的问题

最近因为需要进行大量的数值分析和科学计算,我在服务器的一台虚拟机上安装了Jupyter Notebook,并使用一台有公网IP的虚拟机对其进行反向代理,却在使用过程中遇到了Python终端无限重连的故障。

继续阅读

Windows如何判断你是否连接网络?其中大有文章!

相信有使用过Windows Vista及以上版本系统的读者,一定遇到过连接网络后Windows任务栏上的网络图标出现黄色感叹号的情况,这通常代表尽管已经连接上了局域网,却并没有获得互联网的访问权限,那么微软是通过什么方法来判断我们是否已经连接上网络了呢?

继续阅读

使用wget轻松下载文件列表

很多时候我们会遇到需要批量下载一个文件列表中所有文件的场景,例如下载本地镜像源、下载资源集合之类,这个时候我们可能会求助于第三方工具,例如迅雷等。但其实MacOS&Linux自带的wget已经足够强大,能够帮助我们实现这一需求。

继续阅读

Tags: , ,

解决CSV中长数字在Excel中被转换为科学计数法的BUG

最近接触了一个项目,要求将表格导出为CSV文件,我使用了JS的csv-exportor组件导出CSV,然而导出的数据在Excel中打开却出现了长数字被截断为科学计数法的BUG。

继续阅读

Tags: , ,

动态为Docker容器添加新属性(续)

上一篇博客中,我提到了如何利用docker update命令为已经运行的Docker容器动态添加新属性,然而这个命令有着很大的局限性,而例如端口映射、IP绑定、卷组挂载等更为常用的操作却没有在该命令中得到支持,因此我们需要使用另外的方法来实现这一目标。
继续阅读

Tags: , ,

动态为Docker容器添加新属性

由于docker run命令又臭又长,经常我们会遇到在键入完成后才发现出现了错误的情况,而在这种情况下,大部分时候我们想到的是执行docker stop docker rmdocker run,但其实不用那么复杂,docker容器动态添加新属性其实很简单。
继续阅读

Tags: , ,

不用重启也能让fstab生效的一条命令

最近因为工作需要,配置了大量的服务器,在批量挂载NFS&SMB的时候,总是会遇到需要修改fstab,然后重启,再等待数分钟(内存自检速度极慢)进入服务器的痛苦过程。但其实和source命令类似,有这样一个命令能让我们不重启也能挂载fstab。
继续阅读

解决GitLab在恢复备份后打开『集成』页面时报错500的问题

最近因为服务器迁移,我将原先的GitLab仓库备份后还原到了新的服务器上,却发现在打开仓库的『集成』页面时出现500错误。

继续阅读

Tags: , , ,

为VMware ESXi安装smartctl软件,查看更详细的磁盘健康信息

VMware ESXi提供了esxcli storage core device smart get命令,便于查看与监控磁盘信息。然而VMware ESXi却没有提供Linux/Unix下更加常用的smartctl软件。这对运维工作造成了很大的困扰,而互联网上也很难找到相关的文档。在一周的折腾后,我终于解决了这一问题,因此分享出来,希望能帮到大家。

继续阅读

[软件发布][Baijiahao-Fucker]-删除百度搜索结果中关于百家号与百度视频的内容

百家号害人不浅,用户怨声载道。
程序员们率先起义辣~(振声)
继续阅读

解决VMware ESXi输入正确的密码依旧提示密码错误的问题

最近租了一台独立服务器,让技术人员帮助我安装了VMware ESXi,以便充分利用其性能。然而当我第二天尝试登录这台服务器的时候,却出现了密码错误的提示。无论是Web、客户端还是SSH,均提示密码错误。

继续阅读

Tags: ,

为通过Remi仓库安装的PHP-FPM配置Systemd服务

作为RHEL系最方便的网页搭建工具集仓库,Remi仓库以其极快的更新速度与简单实现多版本共存的优势大受运维欢迎,既不用受限于官方仓库较低的版本,也不用纠结于源码编译的复杂配置。美中不足的是,其PHP-FPM包并不支持Systemd启动,也就造成了其常驻后台的不便之处。今天我们来讲解一下如何为通过Remi仓库安装的PHP-FPM配置Systemd服务。

继续阅读

Tags: , ,

Linux连接OpenVPN教程(作为客户端)

一般来说,提供Web服务的Linux服务器是很少需要连接OpenVPN的,但是个人Linux计算机在很多时候就需要连接OpenVPN,比如以Linux为开发环境,需要连接公司或团队的OpenVPN等等。本文将以CentOS系统为例,介绍在终端下连接远程OpenVPN服务的方法。

继续阅读

Tags: , ,