【CentOS7】DNS服务主从配置使用mysql-bind驱动

准备环境 虚拟机:VMware 15.5.5 网络: Net模式,master: 192.168.10.102 slave: 192.168.10.103 CentOS: 7.3 Python: 3.6.8 wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz Bind: 9.14.2 下载地址http://ftp.isc.org/isc/bind9/ MySQL: MariaDB5.5.60 下载地址 https://downloads.mariadb.org/mariadb/5.5.60/ MySQL BIND SDB Driver Files: https://mysql-bind.sourceforge.net/ mysql_bind下载地址: https://sourceforge.net/projects/mysql-bind/files/ Python编译安装 MariaDB编译安装 Bind编译安装 放通端口 firewall-cmd --add-port=53/tcp --permanent firewall-cmd --add-port=953/tcp --permanent firewall-cmd --add-port=8053/tcp --permanent firewall-cmd --reload 安装依赖 yum install -y wget groupinstall pcre-devel zlib zlib-devel gcc gcc-c++ autoconf automake make pcre-devel openssl openssl-devel openldap-devel libcap libcap-devel libuv libuv-devel unixODBC-devel gcc libtool 解压bind包 ...

2020年9月1日 · 4 分钟

【CentOS7】编译安装Python

安装依赖 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel yum install -y libffi-devel zlib1g-dev yum install zlib* -y 下载安装包并解压 wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz tar -xvJf Python-3.6.8.tar.xz 编译安装 mkdir /usr/local/python3 cd Python-3.6.8 ./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl #第一个指定安装的路径,不指定的话,安装过程中可能软件所需要的文件复制到其他不同目录,删除软件很不方便,复制软件也不方便. #第二个可以提高python10%-20%代码运行速度. #第三个是为了安装pip需要用到ssl,后面报错会有提到. ./configure --prefix=/usr/local/bind --enable-threads --with-openssl make && make install 创建软连接 ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3 验证是否成功 ...

2020年9月1日 · 1 分钟

【CentOS7】编译安装MariaDB5.5.60

1.下载MariaDB https://downloads.mariadb.org/mariadb/5.5.60/ 2.ftp上传压缩包至服务器并解压 tar -zxf mariadb-5.5.60.tar.gz 3.安装步骤 关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing # 注释掉 #SELINUXTYPE=targeted # 注释掉 SELINUX=disabled # 增加 :wq! # 保存退出 shutdown -r now # 重启系统 进入安装目录 cd mariadb5.5.60/ 安装依赖软件 yum install -y gcc gcc-c++ zlib-dev libaio-dev openssl cmake libncurses libevent-dev ncurses-devel 创建数据库的安装目录 mkdir /usr/local/mariadb 编译并指定安装目录 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 安装(时间较长,若夯住则敲几个回车催催) make && make install 将安装好的执行文件复制到系统执行命令路径 /bin/cp -rf /usr/local/mysql/bin/* /usr/bin/ 复制配置文件 ...

2020年8月27日 · 1 分钟

【问题记录】nohup python程序,print无输出

近期python写了个DNS得轮询脚本,交给调度器每分钟执行一次,解析失败就告警。 问题来了,中间使用print打印一些日志,想通过nohup运行方式收集print输出内容作为日志, 但是已经执行5分钟了,nohup.out还是空,什么都没输出, 起初以为是默认输出级别不对,于是改为 nohup python test.py > nohup.out 2>&1 & 然而并没有任何效果,最后搜索引擎告诉了我, 这是因为python的输出有缓冲,导致nohup.out并不能够马上看到输出。 python 有个-u参数,使得python不启用缓冲。 所以最终的启动命令为: nohup python -u test.py > nohup.out 2>&1 & END

2020年7月31日 · 1 分钟

【问题记录】Win10的IE错误代码inet_e_resource_not_found解决办法

Win10系统的IE偶尔出现过问题,chrome和Firefox正常使用,IE却提示错误代码inet_e_resource_not_found。 以前也纠结过怎么处理,网上搜来搜去后来经常是重启解决,反正win10装了SSD之后重启比较快。 不过后来还是找到了解决办法,不过这个问题总是偶尔发生,我也没有太重视这个。 昨天忽然又不能使用IE了,无奈只好想想常用的办法: (1)首先检查下是否开启了兼容视图,在兼容性视图里,把两个勾选框都勾上,很多IE莫名其妙的问题也许会好点。 (3)其次在Internet选项里,点《连接》标签,按下《局域网设置》按钮,在对话框里,勾选上那个《自动检测设置》的勾选框。 确认之后,刷新下IE,问题应该就解决了。 (3)如果没有解决问题的话,建议重启系统一下,如果还没有解决,那么可以重置IE一次。 (4)重置IE的按钮在Internet选项的《高级》标签里,下方有个《重置》按钮,重置时不用删除个人设置。 (5)一般此时,问题就彻底解决了,如果还是不行的话,就将就先用下Firefox或者Chrome了,过一阵子重启也许就可以用了,Windows系统抽风也不是一次两次的。

2020年5月31日 · 1 分钟

【问题记录】Windows服务器中无法开启php-fpm

windows server 2019 版 安装部署宝塔面板+LNMP环境+微擎框架,微擎提示: 问题原因: PHP-FPM只支持Unix-like系统(Linux/FreeBSD/MacOS),不支持Windows Windows上可以用PHP-CGI搭配CGI进程管理器来使用: 比如Apache mod_fcgid 可以用来替代 mod_cgi 和 mod_cgid,具有管理和维持PHP-CGI进程数目的功能. ApacheLounge提供有Windows上的mod_fcgid二进制包: http://www.apachelounge.com/download/ 如果你是搭配IIS使用,则需要PHP Manager这个CGI进程管理器: http://phpmanager.codeplex.com/ 解决方案: windows 下安装docker 搭建Nginx和php-fpm 下面以win7系统为例 准备工作:挂载本地磁盘到虚拟系统 本地文件夹结构 E:\docker nginx文件夹结构 conf文件夹结构 1、 docker pull nginx docker pull php:7.1-fpm 2、 启动php容器 docker run –name php7.1 -v /e/docker/html:/var/www/html -p 9000:9000 -d php:7.1-fpm 3、 启动nginx容器 docker run -d -p 8080:80 –name nginx1 -v /e/docker/html:/var/www/html -v /e/docker/nginx/conf/conf.d:/etc/nginx/conf.d -v /e/docker/nginx/logs:/var/log/nginx –link php7.1:php7.1 nginx ...

2019年12月12日 · 1 分钟

TCPing 一款检测端口是否开启和TCP延迟的工具

在日常玩服务器过程中,我们经常需要测试一下IP或者域名的延迟,一般直接PING 域名或IP即可~ 这种 PING 实际上走的是ICMP协议,其实我们用的最多的是TCP协议。如果直接测试TCP协议的网络延迟,应该是更准确的! 下面本文介绍一款工具,TCPing,不仅可以使用TCP协议的延迟,还能检测端口的连通情况。对于一些禁PING的域名或者IP,我可以直接利用TCPing来查看延迟情况! Windows版 下载地址:https://www.elifulkerson.com/projects/tcping.php 安装步骤:下载 tcping.exe 文件到 C:\Windows\System32\ 即可! 命令介绍:打开CMD命令控制台,输入 tcping 使用技巧: tcping [命令参数] 服务器地址(IP/域名) [服务器端口] -t : 连续 TCPing ,直到使用 Ctrl+C 键停止 示例:tcping -t 1.1.1.1 80 -n 5 : TCPing 5次后停止 示例:tcping -n 5 1.1.1.1 80 -i 5 : 每隔 5秒 TCPing 一次 示例:tcping -i 5 1.1.1.1 80 -w 0.5 : 设置超时时间为 0.5秒(1秒=1000毫秒),单位 秒 示例:tcping -w 0.5 1.1.1.1 80 -d : 在每行返回信息中加入时间信息 示例:tcping -d 1.1.1.1 80 -s : 当 TCPing 测试成功后(在超时时间以内返回 TCPing 延迟数据)自动停止 TCPing 示例:tcping -s 1.1.1.1 80 -4 : 优先 IPv4(如果一个域名有 IPv4 和 IPv6 解析,那么走 IPv4) 示例:tcping -4 www.google.com 80 -6 : 优先 IPv6(如果一个域名有 IPv4 和 IPv6 解析,那么走 IPv6) 示例:tcping -6 www.google.com 80 --file : TCPing 将逐行循环遍历文件内的 服务器IP/域名 信息(一行一个,支持端口,例如:1.1.1.1 443) 示例:tcping --file D:\abc\1.txt -v : 显示版本号 示例:tcping -v # 如果你没有写服务器地址的端口,那么默认为 80 端口 # 其实还有很多命令参数,只是大都用不上,所以省略了 Linux版 Linux平台中类似的工具非常多,比如nping , nc 等~ ...

2019年12月12日 · 2 分钟

【Go】GoLand安装使用

一 GoLand集成开发环境下载 IDE 下载地址:http://www.jetbrains.com/go/?fromMenu IDE安装就是平常的傻瓜式安装,这里就不多说了。 二 使用GoLand 1、 双击运行安装完的GoLand,选择创建项目,并关联GOROOT(会自动关联) 2、在项目上点击右键,按图选择,如下,给文件命一个名字,如 test 3、在文件中写入如下代码: 4、在文件上右键,选择 Run go build test.go,就可以看到控制台打印出hello world!啦 5、也可以在Terminal窗口下输入go run test.go,就可以看到打印结果 6、或者输入go build test.go ,会在当前路径下生成一个可执行文件(test),继续输入 ./test ,即可执行该可执行文件 END

2019年12月9日 · 1 分钟

【Go】Hello World

建立 Go 工作区 在编写代码之前,我们首先应该建立 Go 的工作区(Workspace)。 在 Mac 或 Linux 操作系统下,Go 工作区应该设置在 HOME/go∗∗。所以我们要在∗∗HOME/go∗∗。所以我们要在∗∗HOME 目录下创建 go 目录。 而在 Windows 下,工作区应该设置在 C:\Users\YourName\go。所以请将 go 目录放置在 C:\Users\YourName。 其实也可以通过设置 GOPATH 环境变量,用其他目录来作为工作区。但为了简单起见,我们采用上面提到的放置方法。 所有 Go 源文件都应该放置在工作区里的 src 目录下。请在刚添加的 go 目录下面创建目录 src。 所有 Go 项目都应该依次在 src 里面设置自己的子目录。我们在 src 里面创建一个目录 hello 来放置整个 hello world 项目。 创建上述目录之后,其目录结构如下: go src hello 在我们刚刚创建的 hello 目录下,在 helloworld.go 文件里保存下面的程序。 package main import "fmt" func main() { fmt.Println("Hello World") } 创建该程序之后,其目录结构如下: go src hello helloworld.go 运行 Go 程序 运行 Go 程序有多种方式,我们下面依次介绍。 ...

2019年12月9日 · 2 分钟

【Go】包管理详解

Go包管理 一 包管理历史 Golang 的包管理一直被大众所诟病的一个点,但是我们可以看到现在确实是在往好的方向进行发展。下面是官方的包管理工具的发展历史: 在 1.5 版本之前,所有的依赖包都是存放在 GOPATH 下,没有版本控制。这个类似 Google 使用单一仓库来管理代码的方式。这种方式的最大的弊端就是无法实现包的多版本控制,比如项目 A 和项目 B 依赖于不同版本的 package,如果 package 没有做到完全的向前兼容,往往会导致一些问题。 1.5 版本推出了 vendor 机制。所谓 vendor 机制,就是每个项目的根目录下可以有一个 vendor 目录,里面存放了该项目的依赖的 package。go build 的时候会先去 vendor 目录查找依赖,如果没有找到会再去 GOPATH 目录下查找。 1.9 版本推出了实验性质的包管理工具 dep,这里把 dep 归结为 Golang 官方的包管理方式可能有一些不太准确。关于 dep 的争议颇多,比如为什么官方后来没有直接使用 dep 而是弄了一个新的 modules,具体细节这里不太方便展开。 1.11 版本推出 modules 机制,简称 mod。modules 的原型其实是 vgo,关于 vgo,可以自行搜索。 除此之外,社区也一直在有几个活跃的包管理工具,使用广泛且具有代表性的主要有下面几个: godep glide govendor 二 modules 的使用 2.1 准备 Golang 版本:1.12.3。在 1.12 版本之前,使用 Go modules 之前需要环境变量 GO111MODULE: ...

2019年12月9日 · 3 分钟