开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
博客专区 - 开源中国社区

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

内网穿透之万能遁- xp、win7、win8、win10等安装

如何使用内网穿透呢? 1、去 http://ip4.club/ 官网下载 自己对应的客户端 2、解压得到以下目录 我这里下载的是windows版的 点击skynet-64.exe 即可启动 或者点击万能启动器 点击后有个小黑框--自己会消失、等会自己也可以关掉   可以看到管理地址: http://127.0.0.1:7878 第一次启动会要求填入 设备码 购买一个复制进去即可 成功后进入以下界面 默认账号:admin 默认密码:admin 如果提示正常就可以开始映射了、如果不正常可以点击启动客户端或重启电脑重新启动即可
调调哥 发布于 21小时前 阅读 309 评论 18

Docker安装Jenkins(DooD)

Docker安装Jenkins(DooD) # 切换root用户 su - # 不要安装centos7自带的1.13版本,这个版本过低,所以脚本方式安装最新版 curl -sSL https://get.daocloud.io/docker | sh # 或者直接下载rpm包安装 wget -P /opt https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpm yum install -y /opt/docker*.rpm && rm -f /opt/docker*.rpm # 使用Docker中国加速器 echo '{"registry-mirrors":["https://registry.docker-cn.com"]}' > /etc/docker/daemon.json # 启动Docker并设置开机启动 systemctl start docker systemctl enable docker # 需要挂载共享库libltdl.so.7 yum install -y libltdl.so.7 # 查找libltdl.so.7位置 whereis libltdl.so.7 # 显示如下,找到目录位置 libltdl.so: /usr/lib/libltdl.so.7 /usr/lib64/libltdl.so.7 # 创建容器,会自动创建volume卷jenkins_home代替主机目录,避免权限问题,使用root用户权限,可以容器内apt-get安装软件 docker run -d --rm --name=jenkins -u root \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which doc...
顾小兔2018 发布于 4天前 阅读 450 评论 2

Cobbler 快速入门指南(翻译)

# Cobbler 快速入门指南 --- 由于Cobbler涉及各种各样的技术,Cobbler可能是一个稍微复杂的系统,但它在安装后几乎不需要任何配置就支持大量功能。在开始使用Cobbler之前,您应该具备PXE相关知识以及所选发行版的自动化安装方法。 本快速入门指南将重点介绍红帽kickstart流程,该流程非常成熟并经过了充分测试。未来我们将为其他发行版(如Ubuntu和SuSE)添加快速入门指南。下面的步骤将集中在Fedora上,但它们应该适用于任何基于Red Hat的发行版,例如RHEL,CentOS或Scientific Linux。有关您的特定操作系统版本的安装和先决条件的详细信息,请参阅[安装补丁程序](http://cobbler.github.io/manuals/2.8.0/2_-_Installing_Cobbler.html)部分。 最后,本指南将只关注CLI应用程序。欲了解更多关于皮匠的网络用户界面的细节,请点击这里:[Cobbler Web用户界面](http://cobbler.github.io/manuals/2.8.0/5_-_Web_Interface.html) ## Disable SELinux(optional) --- 在开始使用Cobbler之前,最好禁用SELinux或将其设置为“permissive”模式,特别是您不熟悉SELinux故障排除或修改SELinux策略时。随着Cobbler不断发展,以及协助管理新的系统技术,并且OS随附的策略有时会落后于...
kangvcar 发布于 5天前 阅读 271

Ansible 极简教程

## 一、基本部署 ### 安装Ansible ``` # yum -y install epel-release # yum list all *ansible* # yum info ansible # yum -y install ansible ``` ### Ansible配置文件 ``` /etc/ansible/ansible.cfg 主配置文件 /etc/ansible/hosts Inventory /usr/bin/ansible-doc 帮助文件 /usr/bin/ansible-playbook 指定运行任务文件 ``` ### 定义Inventory ``` # cd /etc/ansible/ # cp hosts{,.bak} # > hosts # cat hosts [webserver] 127.0.0.1 192.168.10.149 [dbserver] 192.168.10.113 ``` ### 使用秘钥方式连接 ``` # ssh-keygen -t rsa # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.149 # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.113 # ssh-copy-id -i /root/.ssh/id_rsa.pub root@127.0.0.1 ``` ### 使用帮助 ``` # ansible-doc -l 列出ansible所有的模块 # ansible-doc -s MODULE_NAME 查看指定模块具体适用 ``` ### Ansible命令应用基础 ``` 语法:ansible [-f forks] [-m module_name] [-a args] 这次命令对哪些主机生效的 inventory group name ip all -f forks 一次处理多少个主机 -m module_name 要使用的模块 -a args 模块特有的参数 ...
kangvcar 发布于 6天前 阅读 1105 点赞 5

「华为云」云中优选惠,全场低至2折,6.19-6.30开抢,签到抽P20

华为云年中钜惠,注册抽免费高配(2核4G)云服务器,单人成团2折起抢购热销云产品;云服务器、数据库、安全防护、大数据等150+云产品,更有精彩好礼送不停!
华为云

深度解析Tengine的调试与资源监控方法论

摘要: 在最近的飞天技术汇CDN Tengine开源技术沙龙上,阿里云CDN团队的高级开发工程师墨飏进行了《Tengine的调试与资源监控》的主题分享。本文为演讲记录,从Tengine的内存调试、核心结构、upstream、coredump四个部分展开,为大家整理和分享一些实践经验,希望能给关注Tengine的开发者带来一些帮助与启发。
我是王雪梨 发布于 3周前 阅读 1882 评论 7 点赞 2

根据 JWT 的 key 和 URL 决定是否缓存 HTTP 请求

## 需求 根据JWT的key和URL决定是否缓存HTTP请求 比如JWT里 ``` payload: { "iss": "iss", "sub": "sub", "userGroupID": "{userGroupID}" } ``` 然后请求 https://myapi.example.com/groups/{groupID}/cars 如果 userGroupID和groupID一样,则缓存,否则不缓存 ## 解决方案 使用 https://github.com/jiangwenyuan/nuster 基于HAProxy的高性能缓存服务器 **1. 下载并编译 ** wget https://github.com/jiangwenyuan/nuster/releases/download/v1.8.8.2/nuster-1.8.8.2.tar.gz make TARGET=linux2628 USE_ZLIB=1 USE_OPENSSL=1 USE_LUA=1 LUA_LIB=/opt/lua-5.3.1/lib LUA_INC=/opt/lua-5.3.1/include **2. 创建: base64.lua, json.lua, jwt_group_match.lua** base64.lua -- base64 FROM http://lua-users.org/wiki/BaseSixtyFour local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' base64 = {} function base64.dec(data) data = string.gsub(data, '[^'..b..'=]', '') return (data:gsub('.', function(x) if (x == '=') then return '' end local r,f='',(b:find(x)-1) for i=6,1,-1 do r=r..(f%2^i-f%2^(i-1)>0 and '1' or '0') end return ...
nuster 发布于 3周前 阅读 323

【大量干货】史上最完整的Tengine HTTPS原理解析、实践与调试

在最近的飞天技术汇CDN Tengine开源技术沙龙上,阿里云技术专家王祖熙(金九)进行了《Tengine HTTPS最佳实践》的主题分享。本文为演讲记录,介绍了HTTPS趋势、HTTPS基础、HTTPS实践、HTTPS调试。
我是王雪梨 发布于 3周前 阅读 467 点赞 3

sed、awk——运维必须掌握的两个工具

今天主要跟大家介绍2个非常霸道的工具,sed和awk,本篇文章将介绍这两个工具在日常运维中的常用用法,工作中这两个工具要掌握好了在结合一些管道命令、正则表达式,日常处理事务简直666啦! l Sed 1.强大的地方 擅长对数据行进行处理,sed是一种流编辑器,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。利用sed命令可以将数据行进行替换、删除、新增、选取等特定工作。 2.用法 sed [-nefr] [动作] 选项: -n:使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行或动作才会被列出来 -e :直接在命令列模式上进行 sed 的动作编辑; -f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作; -r :sed 的动作支持的是扩展型正规表示法的语法。(默认是基础正规表示法语法) -i :直接修改读取的文件内容,而不是输出到屏幕 动作说明: [n...
阮大侠 发布于 1个月前 阅读 469

Linux目录结构详解

由于利用Linux来开发产品的团队和个人实在太多了,想象一下,如果每个人都以自己的想法来配置文件放置的目录,那么管理上将会非常的困扰。为控制解决Linux文件目录配置极其混乱的局面,Linux目录配置标准FHS(Filesystem Hierarchy Standard)就这样出炉了,FHS的重点就在于规范每个特定的目录下应该放什么样的数据。这样就大大方便了独立的软件开发商、操作系统制作者及系统维护人员。        FHS针对目录树架构定义出三层目录下应该放置什么样的数据,三层目录分别是:        1、/(root, 根目录): 与开机系统有关;        2、/usr(UNIX software resource):与软件安装/执行有关        3、/var (variable):与系统运作过程有关   1、 根目录(/)的意义与内容   根目录与开机、还原、系统修复等操作有关。FHS标准建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好,如此不但性能较好,根目录所在的文件系统也较不容易发生问题。   FHS定义出根目录(/)下面应该要有下面这些子目录的存在: 目录 应放置文件内容 /bin 系统有很多放置执行文件的目录,但/bin比较特殊。因为/bi...
阮大侠 发布于 1个月前 阅读 393 评论 2 点赞 3

php-fpm的pool、PHP慢执行日志、open_basedir、php-fpm进程管理

12.21 php-fpm的pool 为了避免因多站点使用同一个pool时因一个站点故障导致pool出问题,进而影响使用同一个pool的其他站点的正常运行,要对每个站点配置一个单独的pool。 为php-fpm增加pool 编辑php-fpm配置文件: [root@1 etc]# vim /usr/local/php-fpm/etc/php-fpm.conf …… [1111.com] listen = /tmp/adai.sock listen.mode = 666 user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024 语法检测: [root@1 etc]# /usr/local/php-fpm/sbin/php-fpm -t [16-Aug-2017 16:10:23] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful 重新加载配置文件: [root@1 etc]# /etc/init.d/php-fpm reload Reload service php-fpm done 查看进程: [root@1 etc]# ps aux |grep php-fpm php-fpm 6222 0.0 0.4 226640 4716 ? S 16:10 0:00 php-fpm: pool www php-fpm 6223 0.0 0.4 226640 4712 ? S 16:10 0:00 php-fpm: pool 1111.com 为站点配置pool [root@1 vhos...
弓正 发布于 2个月前 阅读 186 点赞 2

ubuntu非LTS版本更新源失败的解决方法

本人当前使用的ubuntu版本为17.04,属于非LTS版本(非长期支持版本),刚开始安装完该操作系统后,能够正常更新软件。但最近在执行apt-get install或apt-get update时提示安装/更新失败,无法下载软件,即使更换国内的其它数据源,也无法更新。经过一番摸索,解决方法如下: 1、备份源文件 打开终端,输入 sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup 2、创建源文件 打开终端,输入 sudo vi /etc/apt/sources.list 编辑源列表文件,使用old-releases.ubuntu.com作为镜像源服务,这是有人专门注册了old-releases.ubuntu.com这个域名,用来提供较老版本的安装包,因此,对于非LTS版本也能够支持软件的更新。(注意,如果需要最新版本的软件请手动去官网或者github下载) 先清空sources.list里面的内容,然后将下面的内容复制到该文件中。 deb http://old-releases.ubuntu.com/ubuntu zesty main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu zesty-security main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu zesty-updates main restricted universe multiverse deb http://old-...
雪饼 发布于 2个月前 阅读 66 评论 1

【DVWA】DVWA的下载、安装与配置

DVWA是一个基于php的网络安全练习的环境,也就是可以用来练习hacker技术的地方,无须自己找个网络下手或者搭建安全环境来练习网络攻防了。DVWA也是一个对网上常见的漏洞的入门的平台,有sql注入、XXS跨站等等,即使不做hacker,即使只是个小小的网页程序猿,也可以用来学习和实践下网络常见的攻防,DVWA将对你大有裨益。   一、DVWA的下载 1、DVWA其实就是一个php网站,直接到DVWA的官网(http://www.dvwa.co.uk/)选择下载,得到DVWA-master.zip,解压之后放到你的php的网站目录,我这是WWW。   二、DVWA的安装与配置 1、要使用DVWA首先要开启php的gb库和url包含,具体可以修改php.ini文件。 Ctrl+F找到allow_url_include,将其修改为allow_url_include = On。 然后Ctrl+F找到extension=,将extension=gd2前的分号去掉,让php开启gd2库。 2、之后再配置DVWA,打开DVWA-master目录下的.\DVWA-master\config\config.inc.php 将$_DVWA[ 'db_password' ] 改成你mysql的密码,$_DVWA[ 'db_port ']这个不用管它,这是使用PGSQL才要修改的端口。 之后在$_DVWA[ 'recaptcha_public_key' ]和$_DVWA[ 'recaptcha_private_key' ]填写$_DVWA[ 'recaptcha_public_key' ]  = '6LdK7x...
yongh701 发布于 2个月前 阅读 159

Smokeping快速安装指南

偶尔会用到Smokeping,隔久了全忘。 记录一下安装配置的核心步骤,以作备忘。
胡凯 发布于 2个月前 阅读 152

shell特殊符号cut命令sort_wc_uniq命令 tee_tr_split命令 shell特殊符号下

cut sort wc uniq tee tr split命令 • cut 分割,-d 分隔符  -f 指定段号   -c 指定第几个字符 cut -d ":" -f 1 /etc/passwd 截取/etc/passwd文件中以:分割的第一段 cut -d ":" -f 2,4 /etc/paaswd 截取/etc/passwd文件中以:分割的第一段 cut -d ":" -f 1-3 /etc/passwd 截取/etc/passwd文件中以:分割的1到3段 head -n 3 /etc/passwd |cut -d":" -f 1 /etc/passwd 的前三行截图第一段 cut -c 6 /etc/passwd 提取每行的第六个字符 cut -c 1-8 /etc/passwd 提取每行的前八个字符 • sort 排序, -n 以数字排序 -r 反序  -u 去重复 -t 分隔符 -kn1/-kn1,n2 sort /etc/passwd sort不加任何选项,则从首字符向后,依次按ASCII码值进行比较, 最后将它们按升序输出。 head -n 5 /etc/passwd |sort -t: -k3 -n root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin -t后面跟分割符,-k后面跟数字,表示第几个区域的字符串排序,-n则表示使用纯数字排序。 head -n5 /etc/passwd | sort -t: -k3,5 -r lp:x:4:7:lp:/var/spool/lpd:/s...
laoba 发布于 2个月前 阅读 114

SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署

努力了这么久,但凡有点儿天赋,也该有些成功的迹象了。
郑龙飞 发布于 2个月前 阅读 1223 评论 6 点赞 1

VisualVM 通过JMX、Jstatd 对tomcat 监控

常用的监控jvm的东西叫JMX(Java Management Extensions,即Java管理扩展)。(后面也有了解到一个叫zabbix的系统,也可以通过JMX实现对jvm监控,这个系统功能比较多,还能做到微信公众号异常通知,读者可以自行去了解,这里不多描述)。在搭建这个JMX环境的时候遇到了一些问题,在这里总结一下,希望有兴趣搭建的同学避免一些不必要的坑。
守望_半吊子 发布于 2个月前 阅读 281 点赞 2

ulimit命令详解

ulimit用来限制每个用户可使用的资源,如CPU、内存、句柄等。下面以CentOS 6.5为例进行总结。
Rhys_Lee 发布于 2个月前 阅读 191 点赞 1

分分钟钟搭建基于skywalking的APM系统

在Windows环境搭建一个简单的例子
tqyin 发布于 2个月前 阅读 618

【Linux Deploy】一、Linux Deploy安装配置使用教程

作为一个程序猿和一个业余的玩机爱好者,自然喜欢折腾各种技术和设备,前几天无意间注意到一个可以在安卓机器上使用chroot容器技术运行arm或者x86的Linux系统(目前有些手机可能支持x64了),本文就亲自来体验下,还有后续使用该技术做一些好玩的事情(提前透露:利用手机搭建个人的云主机服务),不多说了下面开始教程
MaxBill 发布于 2个月前 阅读 686

迷之 crontab 异常:不运行、不报错、无日志

1、背景 前几天新同学入职,一不小心将跳板机上的 crontab 清空了,导致凌晨一大批任务异常,同事问了运维同学也没有备份,这一百多个任务要是恢复起来可不是件容易的事儿。还好我去年某天开始做了定时备份,每分钟一次 backup 到本地磁盘,最后很容易的将 crontab 给恢复了。 这件事情过后我也在想,一台跳板机整个部门都共用一个账号, Linux 水平和安全意识又参差不齐,其实很难避免以后还会误操作,比如一下子将 home 目录全干掉。所以我想 backup 最好不要保存在本地,于是想一条命令将其备份到 hadoop 集群上去。 2、问题 当时觉得这个问题很简单,于是随手写了一条类似这样的命令: */1 * * * * /bin/cat <(seq 10) >> /root/a.log 2>&1 本地测试了没问题,但是 crontab 怎么都不成功,也看不到错误日志,a.log 一直是空的。 这个我就比较好奇了,按理说 a.log 应该是能拿到所有的标准输出和标准错误的,究竟什么原因导致 crontab 既不执行又不报错呢? 3、分析 debug 终极大法还是得看日志,本 case 最让人疑惑的在于没有日志,如果能找到日志所有的迷雾应该都能烟消云散。 于是,我尝试看看 /var/log 下有没有 crontab 的执行日志,看了...
大数据之路 发布于 3个月前 阅读 2314 评论 1 点赞 1

LVM讲解、磁盘故障小案例

![](http://or0q9hkn7.bkt.clouddn.com/18-6-19/20372437.jpg) ## LVM > LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即LVM ``` 命令(输入 m 获取帮助):t 已选择分区 1 Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xd9bd4bfd 设备 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 8e Linux LVM ``` 2.准备物理卷 yum查看pvcreate命令使用的哪个包 ``` [root@yolks1 ~]# yum provides "/*/pvcreate" 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.neusoft.edu.cn * extras: mirrors.huaweicloud.com * updates: mirrors.neusoft.edu.cn base/7/x86_64/filelists_db | 6.9 MB 00:00:01 ex...
蛋黄Yolks 发布于 13小时前

Deepin 操作系统四面楚歌

作为国内做的最好的 Linux 发行版,源自 Debian sid 的 Deepin 目前正面临重重困境,新版本不断延期,开发人员离职,bug 长期得不到修复,和 Debian/Ubuntu 的兼容性问题也面临越来越严重的挑战。 如今,雪上加霜的事情发生了,其创始人兼 CTO 离职,Deepin 的前途更是坎坷。 最早发现端倪的是这个提交: 随后在论坛引起各种讨论,其创始人王勇也于次日在论坛证实: 各位使用过 Deepin 的伙计们怎么看呢? 本文转载自: https://www.linuxprobe.com/deepin-operating-system.html 免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好,开源站点:https://www.linuxprobe.com/
六库科技 发布于 3小时前

H3C配置Web登陆

1.开启http服务。 [H3C]ip http enable 2.创建web登陆的用户。 [H3C]local-user king //创建一个用户名为king [H3C-luser-manage-king]password simple 123456 //密码为123456 [H3C-luser-manage-king]authorization-attribute user-role level-15 //设置权限为最高15 [H3C-luser-manage-king]service-type http //设置用户的服务类型为http [H3C-luser-manage-king]quit //退出用户设置模式 3.完成,使用客户机浏览器访问。
Angus_Wong 发布于 2个月前 阅读 76

NanoPi NEO core 单网卡配置3个IP地址(2个静态,1个动态)

| 配置 root@NanoPi-NEO-Core:/etc/network# cat interfaces auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet static address 172.31.188.249 netmask 255.255.0.0 #gateway 172.17.1.1 auto eth0:1 iface eth0:1 inet static address 10.31.188.249 netmask 255.0.0.0 auto eth0:2 iface eth0:2 inet dhcp root@NanoPi-NEO-Core:/etc/network# 结果正常,可PING通: root@NanoPi-NEO-Core:/etc/network# root@NanoPi-NEO-Core:/etc/network# ifconfig eth0 Link encap:Ethernet HWaddr 02:81:52:a1:bc:f9 inet addr:172.31.188.249 Bcast:172.31.255.255 Mask:255.255.0.0 inet6 addr: fe80::81:52ff:fea1:bcf9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6484 errors:0 dropped:0 overruns:0 frame:0 TX packets:249 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:470066 (470.0 KB) TX bytes:38537 (38.5 KB) Interrupt:41 ...
SamXIAO 发布于 2小时前

详解:Zabbix 3.4 监控 MariaDB 数据库性能

先决条件: 首先你需要安装 Zabbix Servers 及 Zabbix-agentd 端: 《Zabbix Servers 3.4 源代码编译安装》 《Centos 7 Zabbix Agent 客户端源码编译安装配置》   1.配置 userparameter_mysql.conf Zabbix源码中包含了 userparameter_mysql.conf 配置文件,只需要将其拷贝到zabbix_agentd.conf.d目录下: $ find / -name userparameter_mysql.conf $ cd /tmp/zabbix-3.4.2/conf/zabbix_agentd/ $ cp userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/ 2.修改 zabbix_agentd.conf 因为我们将userparameter_mysql.conf文件放在了zabbix_agentd.conf.d目录,所以需要取消下面注释,这样Zabbix Agent才能够加载此文件 $ vim /usr/local/zabbix/etc/zabbix_agentd.conf ... Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf ... 注意:若 systemctl Zabbix-Agent.service 单元文件中已经加载此配置文件/路径,此步骤可以忽略。 3.创建监控 MariaDB(MySQL) 用户信息 MariaDB [(none)]> GRANT SELECT ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'Renwolecom'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit Bye 注意:MyS...
六库科技 发布于 1个月前 阅读 10

设置更改root密码、连接mysql、mysql命令

## 13.1 设置更改root密码 1. /usr/local/mysql/bin/mysql -uroot 2. 更改环境变量PATH,增加mysql绝对路径 mysqladmin -uroot password '123456' mysql -uroot -p123456 3. 密码重置 vi /etc/my.cnf//增加skip-grant 4. 重启mysql服务 /etc/init.d/mysqld restart 5. mysql -uroot 6. use mysql; 7. update user set password=password('aminglinux') where user='root'; ## 13.2 连接mysql 1. mysql -uroot -p123456 2. mysql -uroot -p123456 -h127.0.0.1 -P3306 3. mysql -uroot -p123456 -S/tmp/mysql.sock 4. mysql -uroot -p123456 -e “show databases” ## 13.3 mysql常用命令 1. 查询库 show databases; 2. 切换库 use mysql; 3. 查看库里的表 show tables; 4. 查看表里的字段 desc tb_name; 5. 查看建表语句 show create table tb_name\G; 6. 查看当前用户 select user(); 7. 查看当前使用的数据库 select databsase(); 8. 创建库 create database db1; 9. 创建表 use db1; create table t1(`id` int(4), `name` char(40)); 10. 查看当前数据库版本 select version(); 11. 查看数据库状态 show status; 12. 查看各参数 show variables; show variables like 'm...
派派菠菜 发布于 5小时前

通过docker network 解决容器间相互依赖(Link)的问题

    在之前的项目中,由于设计都比较合理,很少存在两个容器相互依赖的情况,在本地开发环境,一直使用 docker link 都能完美工作。     最近项目中开发优惠券系统,开发完成后发现优惠券系统依赖了订单系统,订单系统依赖又依赖了优惠券,由于相互依赖,无法启动。     其实在 docker-compose 的官方文档中,已经不推荐使用link,在未来的版本中会被移除,官方的推荐是使用 network。 解决方案就是在 docker-compose.yml 中自定义一个network,指定所有服务都使用这个network。Network 配置中还可以设置服务的别名,同network中的服务可以使用别名访问其他服务。 以下是我本地开发环境配置: version: '2' services: mall_gateway: image: registry.local.com/org/mall-gateway networks: mall-network: aliases: - mall_gateway ports: - 9009:80 volumes: - /Users/www/mall-gateway:/data/web_data/app mall_promotion: image: registry.local.com/org/mall-gateway networks: mall-network: aliases: - mall_promotion ports: -...
何吕 发布于 4小时前

Nginx防盗链&Nginx访问控制&Nginx解析php相关配置&Nginx代理

12.13 Nginx防盗链 Nginx防盗链的配置可以和日志记录的相关配置结合起来,因为都用到了location进行匹配 修改虚拟主机配置文件 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; //定义白名单 if ($invalid_referer) { //如果不是白名单的域名 return 403; //返回403 } access_log off; } 效果验证 [root@linux-10 ~]# curl -e "http://www.baidu.com" -x 127.0.0.1:80 test.com/123.png -I HTTP/1.1 403 Forbidden Server: nginx/1.14.0 Date: Mon, 11 Jun 2018 13:16:31 GMT Content-Type: text/html Content-Length: 169 Connection: keep-alive [root@linux-10 ~]# curl -e "http://test.com" -x 127.0.0.1:80 test.com/123.png -I HTTP/1.1 200 OK Server: nginx/1.14.0 Date: Mon, 11 Jun 2018 13:16:42 GMT Content-Type: image/png Content-Length: 19 Last-Modified: Sat, 09 Jun 2018 03:40:35 GMT Connection: keep-al...
影夜Linux 发布于 1周前 阅读 5

Redis 之 (4) redis集群介绍、搭建配置、操作

# 19. redis集群介绍 - 集群概念应该不陌生了,多台机器组成,用来解决像存储空间,查询速度,负载等提供一个或多个服务支持! - Redis集群 是一个分布式的一种架构,支持横向扩展,也就是说之前咱们配置的LVS+keepalived需要配置好基础环境,然后加入到集群系统。现在的Redis分布式,是**只需要把Redis这个集群配置到当前配置内就可以自动的去工作了~ ** ## Redis Cluster设计要点 - redis cluster在设计的时候,就考虑到了**去中心化,去中间件**,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态。每个节点都和其他所有节点连接,而且这些连接保持活跃,这样就保证了我们只需要连接集群中的任意一个节点,就可以获取到其他节点的数据。 - **那么redis 是如何合理分配这些节点和数据的呢?** - Redis 集群没有并使用传统的一致性哈希来分配数据,而是采用另外一种叫做哈希槽 (hash slot)的方式来分配的。redis cluster 默认分配了 16384 个slot,当我们set一个key 时,会用CRC16算法来取模得到所属的slot,然后将这个key 分到哈希槽区间的节点上,具体算法就是:CRC16(key) % 16384。 - 注意的是:必须要3个以后的主节...
周云台 发布于 2个月前 阅读 223

使用redis-trib.rb构建redis集群

首先确保安装好ruby和ruby的redis客户端 进入redis安装目录的src目录下,可以找到redis-trib.rb文件,执行它可以看到: 这代表我们可以用redis官方提供的ruby脚本来安装我们的cluster集群了。 接着准备6个节点 8000-8005端口, 配置好cluster(前面原生章节有演示)并启动 (演示是使用单机多部署的形式) 接着使用redis-trib.rb的create命令创建集群 这里说明下,--replicas 是指定主从配置,后面那个1代表每个节点有几个从节点(这里设置1个)然后后面跟6个节点的ip和端口。由于是每个节点1个从,所以是6/2,前三个节点自动会成为master,后3个对应的是slave。接着执行命令,可以看到它的一个执行的计划如下: 输入yes: 这样我们就完成了集群的构建,包括节点握手、分配槽、分配主从。 连接8000节点输入cluster info验证,一切ok! 至此,使用redis-trib.rb搭建集群演示完毕! 提一下,为什么不用原生命令安装?因为原生步骤十分繁琐,不具有标准化,容易出错,所以我们选择用官方提供的ruby工具。但如果集群节点特别多的话,这也不是一个好的管理集群方式,更好的是自己开发一个可视化部署的云平台。...
吴正宇 发布于 2个月前 阅读 30

apache2.4版本配置ssl/https的那些坑

  总有一些错误淬不及防,如果你在配置 apache2.4 上的 https过程中,看起来所有的配置都正确了,而且参考了众多文章还存在错误,那么只有一个可能,那就是 VirtualHost的监听的域名端口出错了. 是不是有点想发泄一下,昨晚就这一个问题,我配置了4个小时,最后一行一行代码删,才找到问题的点,也可以说,是自己对 VirtualHost 掌握的还不够. 解决方法只有一个:要么基于IP来做虚拟主机,要么基于名称来做虚拟主机,不要混用,不要混用,不然优先级绝对是一个大坑,而且推荐使用 基于名称来做,也就是 <VirtualHost *:443> 我原来的配置是   <VirtualHost localhost:443> ... </VirtualHost> <VirtualHost www.example.com:443> ... </VirtualHost>   对于 VirtualHost,官方定于如下:   <VirtualHost addr[:port] [addr[:port]] ...> ... </VirtualHost> 也就是说,可以监听多个地址多个端口 对于 addr 这一段,官方是这么描述的   + 虚拟主机的 IP + 域名的全称,不推荐 + * 号,就是可以监听多个IP + _default_ 这个是 * 号的别名   重要的是要知道,VirtualHost有两种配置方法,基于IP地址的虚拟主机和基于名称的虚拟主机,而且,两者不能混用,是的,...
周云台 发布于 3个月前 阅读 104

五周第三次课(4月20日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

第八章 shell基础 8.1 shell介绍 Shell是一个命令解释器,提供用户和机器之间的交互,支持特定的语法,比如逻辑判断、循环。每个用户都可以有自己特定的shell,CentOS7的默认shell为bash(Bourne Agin Shell),常见的还有zsh(power-shell)、ksh(Korn shell)。 8.2 命令历史(history) history命令 语法: history [-c] -c:=clear 清除内存中的命令,不能删除配置文件中的历史命令 [root@adai003 ~]# history 1 ls 2 ls /tmp/ 3 ls /boot/ 4 ls / 5 dhclient …… [root@adai003 ~]# ls /root/.bash_history /root/.bash_history history的家目录 显示使用过的命令历史,默认保存1000条使用过的命令(注:此令需要是在正常关机操作情况下的处1000条命)! history环境变量 变量HISTSIZE [root@cham2 ~]# echo $HISTSIZE 1000 该变量决定命令历史保存的命令的数目。 定义变量HISTSIZE [root@cham2 ~]# [[root@cham2 ~]# vim /etc/profile …… HOSTNAME=`/usr/bin/hostname 2>/dev/null` /搜索到HISTSIZE=改为2000 HISTSIZE=1000 …… [[root@cham2 ~]# echo $HISTSIZE 1000 保存退出,然后执行命令‘source /etc/profile’刷新该配...
Champin 发布于 2个月前 阅读 20

mac应用 已损坏,打不开.你应该将它移到废纸篓

操作系统: macOS High Sierra 10.13.4 更新sizeUp.app后 出现 "sizeUp.app 已损坏,打不开,你应该将它移动到废纸篓" 解决命令: 打开终端 执行`sudo spctl --master-disable` > 该命令开启"安全性与隐私"中"允许从以下位置下载的应用"的"任何来源"选项; 安装成功后,关闭命令`sudo spctl --master-enable`
铂金蛋蛋 发布于 2个月前 阅读 29

【Linux Deploy】二、Linux Deploy上安装JDK和MYSQL

由于我们安装的Linux是基于arm的cpu架构的,因此jdk和mysql也必须安装arm版本的,之前折腾了半天就是安装错版本了,导致jdk一直不能正常使用。还有mysql的安装配置也比较奇葩,限于安卓对系统的限制也需要做一些特殊的设置才能跑起来。
MaxBill 发布于 2个月前 阅读 57

RHCE是否还值得考取?

工作了也已经有了2年左右的时间,平常也会接触到各种各样的技术,但是老本行还是运维,那么对于Linux还是比较感兴趣的,也加了各种各样的技术交流群,也买了各种各样的学习书籍,自然而然得也知道了RHCE认证,公司里的同事也都知道,随着工作年限的增长,大家也都在想办法提升自己的实力,来获得涨薪或者跳槽的资本,有的同事觉得考一个国际的认证,会更加的有说服力,有的则不以为然,觉得有证书并不能达到预期的效果。 在我看来,证书是一个对于你某个时期的技术一个印证,如果你单纯想靠证书来获得高薪或者其他特别高的待遇,那么对不起,别说是RHCE,即使RHCA也达不到你的要求,在国内的同行,都应该知道像这种IT类认证的考试是有题库的,即使你什么都不懂,只要是背会题库也一样可以通过考试。但是考试仅仅是考试,考试不可能把要求的知识点都考察一遍,考试只能选取一些重点的知识来考察你对相关知识的理解,如果你只是按照通过考试的水平来要求自己那肯定做项目或者出来找工作都不顺心,企业要的是真正的技术,容不得半点虚假,会就是会,不会就是不会。举个很简单的例子,例如:老师教学生 数字1-10,100-200,300-1000,但是考试只考3,130,560 这三个数字,你不能...
问题终结者 发布于 2个月前 阅读 14

18.11 LVS DR模式搭建

18.11 LVS DR模式搭建 准备工作 三台机器, 三台机器均有公网IP。 调度器(director) IP:192.168.5.163 real server1(real1) IP:192.168.5.164 real server2(real2) IP:192.168.5.165 VIP:192.168.5.200 开始搭建 配置director , dir上编写脚本 vim /usr/local/sbin/lvs_dr.sh #! /bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward ipv=/usr/sbin/ipvsadm vip=192.168.5.200 rs1=192.168.5.164 rs2=192.168.5.165 #注意这里的网卡名字 ifdown ens38 ifup ens38 ifconfig ens38:2 $vip broadcast $vip netmask 255.255.255.255 up route add -host $vip dev ens38:2 $ipv -C $ipv -A -t $vip:80 -s wrr $ipv -a -t $vip:80 -r $rs1:80 -g -w 1 $ipv -a -t $vip:80 -r $rs2:80 -g -w 1 配置real server 分别在real1、real2配置下面的脚本: vim /usr/local/sbin/lvs_dr.sh #/bin/bash vip=192.168.5.200 #把vip绑定在lo上,是为了实现rs直接把结果返回给客户端 ifdown lo ifup lo ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up route add -host $vip lo:0 #以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端 #参考文档www.cnblogs...
吕湘颖 发布于 4周前 阅读 7

重做日志中如何分析日志容量及切换频率?

导读 在Oracle数据库的世界里,Redo Log是一个非常核心的存在,通过Redo日志,Oracle实现了数据变更的延迟写出,通过日志的顺序写推延了数据块离散写的性能影响,从而实现了高效率运作。 Redo Log首先在Buffer中生成,然后写出到磁盘上的Redo Log File – 重做日志文件,那么如何配置日志文件就成为数据库优化和健康巡检的重要内容之一。如果日志文件过小,就会出现重做日志频繁切换,检查点不能及时完成等问题,影响到数据库的正常运行。 最常见的,如果在告警日志中看到 Checkpoint not complete 的提示,就意味着存在日志切换重用时的阻塞。如果频繁出现,那么就必须采取主动的优化措施,如加大日志文件大小、增加日志组等。 在白求恩 – Bethune 智能巡检平台上,我们专门设定了于此有关的检查分析项目,帮助用户及时简单的剖析在日志设置上可能存在的问题。 在【数据库空间资源 – 重做日志】分析项,可以找到和Redo相关的分析项: 如果在日志设置上存在问题,Bethune会给出分析提示,如以下数据库的日志组大小不一致,三组日志大小是50M,另外两组日志大小是100M,这是不规范的配置,可能来自于某次临时的日志组增加,事实上需要DBA进行审视和整改: 对于日志切换频...
问题终结者 发布于 4周前 阅读 9

linux磁盘挂载

1、查看硬盘: fdisk -l 2、分区 fdisk /dev/vdb 依次输入 n回车 p回车 1回车 回车 回车 w回车 3、格式化 mkfs.ext4 /dev/vdb1 4、创建文件夹、挂载 mkdir /data mount /dev/vdb1 /data 5、查看挂载情况 df -h 6、开机自动挂载 vim /etc/fstab  增加一行: /dev/vdb1               /data                  ext4     defaults        0 0 7、重启验证 reboot
酋长思密达 发布于 1周前 阅读 37

Git 之 (2) git分支管理、远程分支管理、标签管理、git别名

# 4. 分支管理 ## 1 查看分支 ``` [root@yt-01 LNMP]# cd /data/gitroot [root@yt-01 gitroot]# git branch * master [root@yt-01 gitroot]# ls 1.txt ``` ## 2 创建分支 ``` [root@yt-01 gitroot]# git branch yuntai [root@yt-01 gitroot]# git branch * master yuntai ``` ## 3 分支管理 ``` # 切换到分支 [root@yt-01 gitroot]# git checkout yuntai 切换到分支 'yuntai' [root@yt-01 gitroot]# git branch //*号在yuntai分支前,表示目前的分支 master * yuntai [root@yt-01 gitroot]# ls //2个分支下文件相同 1.txt # 新分支下创建新文件 [root@yt-01 gitroot]# vim 2.txt [root@yt-01 gitroot]# git add 2.txt [root@yt-01 gitroot]# git commit -m "jjjjjj" [yuntai 98bf627] jjjjjj 1 file changed, 1 insertion(+) create mode 100644 2.txt [root@yt-01 gitroot]# cat 2.txt 1234hghklal # 切换回master分支 [root@yt-01 gitroot]# git checkout master 切换到分支 'master' [root@yt-01 gitroot]# ls 1.txt 由此可见,在不同的分支可看到的文件的内容是不同的,在所有分支都能看到master分支的文件。 ``` ## 4 分支合并与冲突 ``` # 分支合并 [root@yt-01 gitr...
周云台 发布于 2个月前 阅读 45

Ansible 极简教程

## 一、基本部署 ### 安装Ansible ``` # yum -y install epel-release # yum list all *ansible* # yum info ansible # yum -y install ansible ``` ### Ansible配置文件 ``` /etc/ansible/ansible.cfg 主配置文件 /etc/ansible/hosts Inventory /usr/bin/ansible-doc 帮助文件 /usr/bin/ansible-playbook 指定运行任务文件 ``` ### 定义Inventory ``` # cd /etc/ansible/ # cp hosts{,.bak} # > hosts # cat hosts [webserver] 127.0.0.1 192.168.10.149 [dbserver] 192.168.10.113 ``` ### 使用秘钥方式连接 ``` # ssh-keygen -t rsa # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.149 # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.113 # ssh-copy-id -i /root/.ssh/id_rsa.pub root@127.0.0.1 ``` ### 使用帮助 ``` # ansible-doc -l 列出ansible所有的模块 # ansible-doc -s MODULE_NAME 查看指定模块具体适用 ``` ### Ansible命令应用基础 ``` 语法:ansible [-f forks] [-m module_name] [-a args] 这次命令对哪些主机生效的 inventory group name ip all -f forks 一次处理多少个主机 -m module_name 要使用的模块 -a args 模块特有的参数 ...
kangvcar 发布于 6天前 阅读 1105 点赞 5

Cobbler 快速入门指南(翻译)

# Cobbler 快速入门指南 --- 由于Cobbler涉及各种各样的技术,Cobbler可能是一个稍微复杂的系统,但它在安装后几乎不需要任何配置就支持大量功能。在开始使用Cobbler之前,您应该具备PXE相关知识以及所选发行版的自动化安装方法。 本快速入门指南将重点介绍红帽kickstart流程,该流程非常成熟并经过了充分测试。未来我们将为其他发行版(如Ubuntu和SuSE)添加快速入门指南。下面的步骤将集中在Fedora上,但它们应该适用于任何基于Red Hat的发行版,例如RHEL,CentOS或Scientific Linux。有关您的特定操作系统版本的安装和先决条件的详细信息,请参阅[安装补丁程序](http://cobbler.github.io/manuals/2.8.0/2_-_Installing_Cobbler.html)部分。 最后,本指南将只关注CLI应用程序。欲了解更多关于皮匠的网络用户界面的细节,请点击这里:[Cobbler Web用户界面](http://cobbler.github.io/manuals/2.8.0/5_-_Web_Interface.html) ## Disable SELinux(optional) --- 在开始使用Cobbler之前,最好禁用SELinux或将其设置为“permissive”模式,特别是您不熟悉SELinux故障排除或修改SELinux策略时。随着Cobbler不断发展,以及协助管理新的系统技术,并且OS随附的策略有时会落后于...
kangvcar 发布于 5天前 阅读 271

远程桌面发生身份验证错误,要求的函数不受支持

因为工作关系,一直需要远程登录服务器。以前都是正常的,偶尔的故障也是因为机器本身或是网络故障,今天登录远程桌面一直是上面的错误。开始以为是登录凭证的问题,删除本地凭证以后还是不能登录且所有服务器都是一样的错误,这时候能想到的也只能是系统本身的问题了。 电脑常期是没有关的,今天早上打开发现打开的VS项目已经关闭,想到应该是自动更新以后重启了。 这样看到应该就是昨天的更新的某个补丁导致了这样的问题,检查更新发现一个基于FLASH的更新和一个名为KB4103718(适用于基于 x64 的系统的 Windows 7 月度安全质量汇总)的常规更新,卸载更新KB4103718后重启,问题得到解决! 但是很多人可能与我想的一样,既然微软提供了这样的更新肯定是有他的用处的,卸载或许是解决了问题,但带来的其它的影响却不得而知。 经微软的support指点得出如下解决方案: 使用微软官方建议修改本地组策略: 计算机配置>管理模板>系统>凭据分配>加密Oracle修正 选择启用并选择易受攻击。 易受攻击– 使用 CredSSP 的客户端应用程序将通过支持回退到不安全的版本使远程服务器遭受攻击,但使用 CredSSP 的服务将接受未修补的客户端。 问题解决,收工!   PS:该操作仅用于专业版,...
孟凡陆 发布于 1个月前 阅读 6536 评论 2

QQ坦白说之解密教程

> 背景:之前在QQ上突然有人发坦白说给我,第一感觉就是谁恶搞我,想找到是谁,是谁在恶作剧 ![输入图片说明](https://static.oschina.net/uploads/img/201804/13200650_zxN8.png "在这里输入图片标题") --- # QQ坦白说之解密教程 ### 一、模拟手机QQ 1. 首先使用谷歌浏览器来模拟手机qq 2. 打开谷歌浏览器,按F12或者快捷键ctrl+shift+i,到如下界面 ![按F12或者快捷键ctrl+shift+i](https://static.oschina.net/uploads/img/201804/13201805_DHeC.png "按F12或者快捷键ctrl+shift+i") 3. 构造UA ![输入图片说明](https://static.oschina.net/uploads/img/201804/13202331_dbYw.png "在这里输入图片标题") ![输入图片说明](https://static.oschina.net/uploads/img/201804/13202801_Z6oi.png "在这里输入图片标题") ![输入图片说明](https://static.oschina.net/uploads/img/201804/13203018_VLI7.png "在这里输入图片标题") 4. UA复制下面的代码即可 ``` ozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E5216a QQ/7.5.5.426 V1_IPH_SQ_7.5.5_1_APP_A Pixel/1080 Core/UIWebView Device/Apple(iPhone 8Plus)...
运维小白 发布于 2个月前 阅读 308

金山WPS发布了Linux WPS Office

近日,金山WPS发布了Linux WPS Office中文社区版新版本,支持大部分主流Linux系统,功能更加完善,兼容性、稳定性大幅度提升。本次更新WPS将首次在Linux提供专业办公文件云存储服务,实现跨系统、跨终端的联动。据悉,金山WPS已经推出Mac内测版,而Linux的文档上云版本发布,是否意味着WPS Office成为了全球可以支持全平台操作的办公软件? 破局Linux系统应用软件缺乏,提升用户体验 Linux系统发布以来,以其免费、稳定、高效、开源等特点受到开发者的喜欢,但其图形界面不如其他主流系统简单易用,因此,在个人桌面领域普及受到限制。近些年来随着 Ubuntu、Fedora 等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,让Linux 在个人桌面领域的占有率在逐渐的提高。但大多的应用软件开发商出于商业考虑难以为其开发适用的软件,作为日常办公必用的办公软件更是Linux用户的痛处。   金山WPS本次发布的Linux WPS中文社区版新版本(版本号10.1.0.6634),既提升了Linux用户的日常办公体验,同时也进一步打通了不同操作系统间的隔阂,解决了用户不同操作系统来回切换的尴尬,用户在不同系统上都能畅享简单高效的办公体验。新版从设计及功能上回应了长久以来网友的呼声和需...
六库科技 发布于 3天前 阅读 36 评论 7

【Linux Deploy】一、Linux Deploy安装配置使用教程

作为一个程序猿和一个业余的玩机爱好者,自然喜欢折腾各种技术和设备,前几天无意间注意到一个可以在安卓机器上使用chroot容器技术运行arm或者x86的Linux系统(目前有些手机可能支持x64了),本文就亲自来体验下,还有后续使用该技术做一些好玩的事情(提前透露:利用手机搭建个人的云主机服务),不多说了下面开始教程
MaxBill 发布于 2个月前 阅读 686

CentOS 7.0 安装部署Shadowsocks服务器。 搭建自己的VPN

一、环境介绍:   1、服务器:     CentOS7.0_x86_64   2、Windows客户端     Windows 10 二、安装部署:   1、安装Shadowsocks服务端:   # yum update   # yum install python-setuptools && easy_install pip   # pip install shadowsocks   2、配置Shadowsocks:     此文件默认不存在,需要创建:   # vim /etc/shadowsocks.json   {   "server":"your_server_ip",   "server_port":8388,   "password":"yourpassword",   "timeout":300,   "method":"aes-256-cfb",   "fast_open":false,   "workers": 1   }                     注:有的简化版centos 不识别 vim 命令,请先安装 vim                          # yum install vim -y                     上面代码的解释:       server:服务器 IP地址 (IPv4/IPv6)       server_port:服务器监听的端口,一般设为80,443等,注意不要设为使用中的端口       password:设置密码,自定义       timeout:超时时间(秒)       method:加密方法,可选择 “aes-256-cfb”, “r...
Kefy 发布于 1周前 阅读 42 评论 2

Vmware三大网络之Host-Only

导读 由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有VMware Workstations和VirtualBox等。在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而VMware的网络连接问题是大家遇到最多问题之一。在学习交流群里面,几乎每天都会有同学问到这些问题,写这篇详解也是因为群里童鞋网络出故障,然后在帮他解决的过程中,对自己的理解也做一个总结。今天我们就一起来探讨一下关于VMware Workstations网络连接的三种模式之Host-Only(仅主机模式)。 vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。 打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机,接下来让我们一起走进Host-Only(仅主机模式)的世界。...
问题终结者 发布于 3天前 阅读 16

table eg

| user_id |user_name |full_name | | :------------ | :------------: | ------------: | | 1 | zhangsan |张三| | 2 | lisi |李四| `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa
qwfys 发布于 2天前 阅读 9

mac电脑清理docker垃圾文件脚本

#!/bin/bash # Copyright 2017 Théo Chamley # Permission is hereby granted, free of charge, to any person obtaining a copy of # this software and associated documentation files (the "Software"), to deal in the Software # without restriction, including without limitation the rights to use, copy, modify, merge, # publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons # to whom the Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all copies or # substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING # BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTH...
lilugirl 发布于 3天前 阅读 14

分分钟钟搭建基于skywalking的APM系统

在Windows环境搭建一个简单的例子
tqyin 发布于 2个月前 阅读 618

在树莓派上搭建一个maven仓库

# 在树莓派上搭建一个maven仓库 - 20180618 lambo init ## 项目说明 ``` 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧. 所在这个项目就出来了 项目只支持maven jar包的上传下载。不支持搜索浏览。 项目开源地址:https://gitee.com/zlbroot/maven-manager ``` ## 运行方式 ``` 将maven-manager-web/target/maven-manager-web-1.0.war copy过来 或者 直接下载项目附件. java -jar maven-manager-web-1.0.war debug -Dconfig=maven.xml ```
林小宝 发布于 2天前 阅读 8

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如: 2表示每个两秒采集一次服务器状态,1表示只采集一次。 实际上,在应用过程中,我们会在一段时间内一直监控,不想监控直接结束vmstat就行了,例如: 这表示vmstat每2秒采集数据,一直采集,直到我结束程序,这里采集了5次数据我就结束了程序。 好了,命令介绍完毕,现在开始实战讲解每个参数的意思。 r 表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过...
刘祖鹏 发布于 3天前 阅读 14

搭建开发使用的DNS服务器

> 在部署Hadoop的时候经常要更新每一个节点的hosts文件真是太麻烦,如果布署结点特别多,那将是非常麻烦的事情。这时我们需要一个自己的DNS服务器,仅向Hadoop集群 中的服务器提供域名解悉服务,而集群中的服务器也可使用该域名服务器查询集群外域名的解悉,一举多得。 ## 一、安装Bind服务器 ```shell $ sudo apt install bind9 ``` ## 二、配置服务器 > 我们约定我们集群内的顶级域名是`ds.com`,DNS服务器IP为192.168.122.10,我们要布署两台服务器,分别是`namenode.ds.com(192.168.122.11)`和`datanode.ds.com (192.168.122.12)`。 ### 1. 配置FORWARD 为什么要配置FORWARD呢?因为集群中除了要解悉集群内的服务器的域名,同时在解悉集群外域名的时候,我们将这些域名请求FORWARD给电信ISP提供的域名服务器去解悉,例如`www.163.com`这些非集群内主机的域名。 我们编辑`/etc/bind/named.conf.options`文件: ```bash options { directory "/var/cache/bind"; forwarders { # 在最新的Ubuntu中使用127.0.0.53,而一般使用电信ISP的域名服务器IP ,例如:114.114.114.114 127.0.0.53; }; dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v...
kut 发布于 5天前 阅读 24

jenkins 添加sonar

#
努力爬坑人 发布于 2个月前 阅读 23

VMware Workstation 无法连接到虚拟机

笔记本电脑更新以后,虚拟机突然间无法使用了,显示问题如下: 一 移除了Centos7,卸载了VMware Workstation软件重新安装,问题依然存在。 二 通过百度,实验了如下方案: 解决方案: 1)右击我的电脑->>管理->>服务和应用程序->>服务->>Vmware Authorization Service->>选择自动、右击选择启动      (可以用快捷方式 win+R,输入services.msc ->>Vmware Authorization Service->>选择自动、右击选择启动ss) OK!问题解决!!   2)如果上面的方案无法解决问题,并且出现出现,要重启Vmware Authorization Service服务才能打开虚拟机,  则可以在Vmware Authorization Service服务右击属性,进入恢复,将第一次失败等设置为重新启动服务。如下图所示 问题依然存在 三 看到百度某一提示说有可能虚拟化因为更新而关闭了,重启,不停按F2键,进入BIOS打开虚拟化,重新实验,问题解决。
河图再现 发布于 3个月前 阅读 120

linux定时任务调度定系统——opencron

Opencron 介绍 一个功能完善真正通用的linux定时任务调度定系统,满足多种场景下各种复杂的定时任务调度,同时集成了linux实时监控,webssh,提供一个方便管理定时任务的平台. 你是否有定时执行任务计划的需求,需要在linux的crontab里一一定义任务?  -  需要在每台linux服务器的crontab里一一定义任务  -  任务的执行监控太不方便了  -  得登录到每台机器查看定时任务的运行结果,机器一多简直是一种灾难  -  对于多台机器协同处理一个任务很麻烦,如何保证多台机器上的任务按顺序依次执行?  -  当任务运行失败,要重新执行,还得重新定义下执行时间,让其重跑,重跑完成了还得改回正常时间  -  正在运行的任务要kill掉很麻烦,查看进程然后才能kill ...... opencron的出现将彻底的解决上面所有问题.功能如下:  -  自动化管理任务,提供可操作的web图形化管理  -  要当场执行只需点击执行即可,非常方便  -  时间规则支持quartz和crontab,更强大更灵活  -  非常方便的修改任务的执行时间  -  任务的运行状态实时查看  -  支持任务kill(包括由当前任务调起的其他子任务链,彻底kill)  -  支持重新执行正在运行的任务  -  出错后实时通知给任务人(超过重跑次数...
Linux_Anna 发布于 1周前 阅读 35

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启binlog才能进行主从。 binlog,其实就是一个文件,文件里记录了一些日志,文件是 二进制文件,无法cat 主从过程大致有3个步骤 1)主将更改操作记录到binlog里 2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里 relaylog,中文叫做 中继日志 3)从根据relaylog里面的sql语句按顺序执行 mysql主从共有三个线程 主上有一个log dump线程,用来和从的I/O线程传递binlog 从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地 MySQL主从原理图 原理很简单:从会把主上的binlog搞到从上来,从再根据这个binlog生成自己的中继日志,然后再根据中继日志执行相应的更改,最终达到两边的数据一致。 mysql主从使用场景: 数据备份,主机器宕机,从机器还能随时对web提供服务; 作为一个从库,读的库,减轻主库的压...
河图再现 发布于 2天前 阅读 4

linux各个发行版本对比与简介

首先我们要能够清晰的区分Linux系统内核与Linux发行套件系统的区别,Linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。而Linux发行套件系统才是我们常说的Linux操作系统,也即是由Linux内核与各种常用软件的集合产品,全球大约有数百款的Linux系统版本,每个系统版本都有自己的特性和目标人群,所以绝不能一概而论谁是第一,谁是第二。     Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Red Hat(RHEL红帽)为代表,后者以Debian为代表。下面我来总结和对比一下几个Linux的发行版本。     1.RHEL红帽                 Redhat,应该称为Redhat系列,包括            (1)RHEL  (Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本,稳定性非常好,适合服务器使用)            (2)Fedora Core  (由原来的Redhat桌面版本发展而来,免费版本,稳定性较差,最好只用于桌面应用)            (3)CentOS  (RHEL的社区克隆版本,免费版本,稳定性非常好,适合服...
河图再现 发布于 2个月前 阅读 32 评论 2

Exsi6.5修改主机密码

由于Exsi6.5应用了密码策略,导致无法更改root密码,研究了一下,终于找到了方法,记录一下。   Exsi更改密码总是提示密码不符合复杂度,受控于pam_passwdqc.so这个东西的影响,关于Exsi密码问题官方也有介绍,但是具体没告诉你怎么去操作这个密码: [root@localhost:/etc/pam.d] passwd root Changing password for root You can now choose the new password or passphrase. A valid password should be a mix of upper and lower case letters, digits, and other characters. You can use a 7 character long password with characters from at least 3 of these 4 classes. An upper case letter that begins the password and a digit that ends it do not count towards the number of character classes used. A passphrase should be of at least 3 words, 8 to 30 characters long, and contain enough different characters. Alternatively, if no one else can see your terminal now, you can pick this as your password: "hey4Lime&roar". Enter new password:  Re-type new password:      修改办法: vi /etc/pam.d/passwd password   required   ...
fatpanda 发布于 6天前 阅读 21

CentOS7 install and configuration OpenVPN

OpenVPN是一个开源应用程序,可以通过公共Internet创建一个专用网络。在我们开始之前,我们首先需要安装Enterprise Linux(EPEL)存储库的额外包。下面就是关于如何在CentOS 7上设置Client和OpenVPN服务器的教程。 安装EPEL套件库,顺道更新 # yum -y install epel-release && yum -y update 安装 OpenVPN 首先我们需要安装OpenVPN。我们还将安装Easy RSA来生成我们的SSL密钥对,这将保护我们的VPN连接。 # yum install -y openvpn easy-rsa 生成密钥及证书的前置条件 3.1.创建密钥与证书储存目录,并且准备好要产生密钥与证书的相关文件: # mkdir -p /etc/openvpn/easy-rsa/keys # cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa # cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf 3.2.修改凭证的默认资料,之后产生凭证时就会自动填写,不必再手动输入。 # vim /etc/openvpn/easy-rsa/vars 所有凭证资料的预设值分别是:国家、省份、城市、组织、电子邮件位址、单位。 ... export KEY_COUNTRY="CN" export KEY_PROVINCE="GD" export KEY_CITY="ZHUHAI" export KEY_ORG="YUNXI" export KEY_EMAIL="YU...
问题终结者 发布于 15小时前

【2018.06.19学习笔记】【linux高级知识 13.1-13.3】

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令
lgsxp 发布于 16小时前

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。   1.磁盘分区:    fdisk /dev/sdb    划分几个主分区    输入t更改每个分区类型为8e(LVM)    使用partprobe生成分区的文件:如/dev/sdb1   2.创建物理卷:    pvcreate命令使用yum安装lvm2包    pvcreate /dev/sdb1    pvcreate /dev/sdb2    pvcreate /dev/sdb3    pvdisplay                         #列出所有物理卷   或者使用 pvs命令查看    pvremove /dev/sdb1        #删除物理卷     3.创建卷组: vgcreate vg1 /dev/sdb1 /dev/sdb2 /dev/sdb3          #vg1为卷组名 vgdisplay                        #查看卷组   或者使用vgs查看 vgremove  vg1               #删除卷组   4.创建逻辑卷,并格式化挂载   lvcreae -L 100M -n lv1 vg1                     #创建逻辑卷大小100M,名称lv1,从vg1卷组划分   mkfs.ext4 /dev/vg1/lv1   mount /dev/vg1/lv1 /mnt       扩容逻辑卷:   缩容逻辑卷:   扩容卷组:      ...
ZHENG-JY 发布于 16小时前

Day16 LVM(逻辑卷管理)与磁盘故障小案例

### lvm详解 #### 简述 >LVM的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险;传统的分区当分区空间不足时,一般的解决办法是再创建一个更大的分区将原分区卸载然后将数据拷贝到新分区,但是在企业的生产系统往往不允许停机或者允许停机的时间很短,LVM就能很好的解决在线扩充空间的问题,而且不会对数据造成影响,LVM还能通过快照在备份的过程中保证日志文件和表空间文件在同一时间点的一致性;本篇文章不会对概念知识做太详细的介绍,主要讲述LVM的扩容、收缩、移除的方法。 #### 创建lvm **1.准备磁盘分区** > fdisk /dev/sdb , n创建3个新分区 分别1G , t改变分区类型为8e 示例: ``` [root@centos001 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xee32a29c 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 ...
杉下 发布于 16小时前

磁盘管理—逻辑卷lvm

4.10-4.12 lvm 操作流程: 磁盘分区-->创建物理卷-->划分为卷组-->划分成逻辑卷-->格式化、挂载-->扩容。 磁盘分区 注: 创建分区时需要更改其文件类型为lvm(代码8e) 分区 3 已设置为 Linux 类型,大小设为 1 GiB 命令(输入 m 获取帮助):t 分区号 (1-3,默认 3): Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM” 创建物理卷 #### pvcreate命令 pvcreate=physical volume create [root@3 ~]# pvcreate /dev/sdb1 -bash: pvcreate: 未找到命令 命令不存在,需要安装该命令包! [root@3 ~]# yum install -y lvm 已加载插件:fastestmirror Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/2): extras/7/x86_64/primary_db | 168 kB 00:00:00 ...
弓正 发布于 18小时前

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

> 准备磁盘分区 > fdisk /dev/sdb > n 创建三个新分区,分别1G > t 改变分区类型为8e > > 准备物理卷 > pvcreate /dev/sdb1 > pvcreate /dev/sdb2 > pvcreate /dev/sdb3 > > pvdisplay/pvs 列出当前的物理卷 > pvremove /dev/sdb3 删除物理卷 > > 准备卷组 > vgcreate vg1 /dev/sdb1 /dev/sdb2 /dev/sdb3 > vgdisplay /vgs列出卷组 > vgremove vg1 删除物理卷 > > 创建逻辑卷 > lvcreate -L 200M -n lv1 vg1 > lvdisplay 列出逻辑卷 > 格式化mkfs.xfs /dev/vg1/lv1,再挂载 > lvremove /dev/vg1/lv1 删除逻辑卷 > > 扩容逻辑卷 > lvresize -L 300M /dev/vg1/lv1 重新设置卷大小 > e2fsck -f /dev/vg1/lv1 检查磁盘错误 (ext4执行) > resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext4执行) > xfs_growfs /dev/vg1/lv1 xfs文件系统需要执行 > > 缩减逻辑卷(xfs不支持 ) > 先umount > e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext) > resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext) > lvresize -L 100M /dev/vg1/lv1 重新设置卷大小 > > 扩展卷组 > fdisk /dev/sdb 新增/dev/sdb5(逻辑分区8e) 2G > pvcreate /dev/sdb5 > vgextend vg1 /dev/sdb5 > lvresize -L 100M /dev/vg...
Linux_老吴 发布于 19小时前 阅读 2

LVM讲解

## LVM是什么 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。 ### LVM的工作原理 ![输入图片说明](https://static.oschina.net/uploads/img/201802/28001418_ZwON.jpg "在这里输入图片标题") ### 具体的操作步骤如下: 1、添加磁盘,现在的服务器磁盘都支持热拔插,不需要关机直接添加磁盘后系统也能识别到新的磁盘,在使用虚拟机的实验环境下,添加磁盘后需要重启虚拟机,系统才会识别到新添加的磁盘,如下所示,/dev/sdb就是我们新添加的磁盘 ``` ...
李超小牛子 发布于 20小时前 阅读 4

mysql更改密码、连接mysql、mysql常用命令

1. 更改mysql的root账户密码: mysql中root账户和系统root不是一个账户 1.1 更改环境变量PATH,增加mysql绝对路径 由于mysql安装目录为/usr/local/mysql/,所以系统不能直接使用mysql,需把/usr/local/mysql/bin/目录加入环境变量 临时加入: export PATH=$PATH:/usr/local/mysql/bin/ 永久生效: vim /etc/profile //增加一行 export PATH=$PATH:/usr/local/mysql/bin source /etc/profile 1.2 mysql 设置root账户密码 1.2.1 默认没有密码时设置密码: mysqladmin -uroot password '123456' //设置root密码为123456 1.2.2 修改密码: mysqladmin -uroot -p'123456' password 'sqlpwd123' 1.2.3 进入mysql命令行: mysql -uroot -p123456 //-p后面直接跟密码 mysql -uroot -p //不跟密码 1.2.4 不知道root密码时密码重置: vim /etc/my.cnf//增加skip-grant 重启mysql服务 /etc/init.d/mysqld restart mysql -uroot //此时不需要密码就可以进入mysql use mysql; //切换到mysql库中 update user set password=password('learnlinux') where user='root'; //user表是存放用户名密码和授权等信息 退出mysql把my.cnf中增加的skip grant删掉,如果不删所有的用户都可以不输入密码...
laoba 发布于 20小时前 阅读 3

Job for nginx.service failed 错误解决方案

今天刚在centos7上安装了nginx-1.2.11,/etc/init.d/nginx start启动时,出现 Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.错误。 解决方法:因为之前搭建了LAMP,apache服务还在运行,/usr/local/apache2.4/bin/apachectl stop关闭httpd服务以后,/etc/init.d/nginx start再次启动nginx服务,问题解决。
河图再现 发布于 21小时前 阅读 2

NTP服务设置

## macOS NTP 启用NTP状态 使用mdfind查看ntpd位置,然后用load加载至launchctl: ` sudo launchctl load /System/Library/LaunchDaemons/org.ntp.ntpd.plist ` 然后重新start服务即可: ` sudo launchctl start org.ntp.ntpd ` 关闭NTP服务 ` sudo launchctl stop ntp ` 使用如下命令删除ntpd服务 ` sudo launchctl remove org.ntp.ntpd ` ## CentOS 7.x上的NTP服务 RHEL/CentOS 6.x 下的时间同步基本是使用 ntpdate 和 ntpd 这两个工具实现的,但是这两个工具已经很古老了,RHEL/CentOS 7.x 已经将 chrony 作为默认时间同步工具了(其他 systemd 系统下无需安装 ntp/chrony,使用 systemd-timesyncd 服务即可)。 chrony 是 RedHat 开发的,它是网络时间协议(NTP)的另一种实现; RHEL/CentOS 7.x 的默认时间同步工具,在 CentOS 6.8之后也添加上了这个工具; chrony 可以同时做为 ntp 服务的客户端和服务端;安装完后有两个程序 chronyd、chronyc: chronyd 是一个 daemon 守护进程,chronyc 是用来监控 chronyd 性能和配置参数的命令行工具。 参考: [chrony 时间同步](https://www.zfl9.com/chrony.html "chrony 时间同步")...
saintli86 发布于 21小时前 阅读 4

设置更改root密码 连接mysql 及mysql常用命令

6月19日任务 13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令 扩展  mysql5.7 root密码更改 http://www.apelearn.com/bbs/thread-7289-1-1.html myisam 和innodb引擎对比 http://www.pureweber.com/article/myisam-vs-innodb/ mysql 配置详解: http://blog.linuxeye.com/379.html mysql调优: http://www.aminglinux.com/bbs/thread-5758-1-1.html 同学分享的亲身mysql调优经历: http://www.apelearn.com/bbs/thread-11281-1-1.html 设置更改root密码目录概要 /usr/local/mysql/bin/mysql -uroot 更改环境变量PATH,增加mysql绝对路径 mysqladmin -uroot password '123456' mysql -uroot -p123456 密码重置 vi /etc/my.cnf//增加skip-grant 重启mysql服务 /etc/init.d/mysqld restart mysql -uroot use mysql; update user set password=password('aminglinux') where user='root'; 设置更改root密码 root用户是mysql的超级管理员用户,和linux系统的root用户类似,不过和Linux的不一样 默认mysql的 root 用户密码是空的,直接就可以连接上去,不需要输入密码,但是不安全,所以就需要设置一个密码 为了方便使用mysql服务,将mysql目录加入到环境变量里 打开系...
lyy549745 发布于 21小时前

Linux下date格式化

最近在编辑一个脚本时,发现对Linux下时间的命令理解的不是很透彻,看到一篇关于date时间格式化的文章,遂摘录了下来。 本文取自:Linux下date命令,格式化输出,时间设置 一、date命令 [root@localhost source]# date --help 用法:date [选项]... [+格式]  或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式显示当前时间,或是设置系统日期。 -d,--date=字符串 显示指定字符串所描述的时间,而非当前时间 -f,--file=日期文件 类似--date,从日期文件中按行读入时间描述 -r, --reference=文件 显示文件指定文件的最后修改时间 -R, --rfc-2822 以RFC 2822格式输出日期和时间 例如:2006年8月7日,星期一 12:34:56 -0600 --rfc-3339=TIMESPEC 以RFC 3339 格式输出日期和时间。 TIMESPEC=`date',`seconds',或 `ns' 表示日期和时间的显示精度。 日期和时间单元由单个的空格分开: 2006-...
blackfoxya 发布于 22小时前 阅读 4

那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)

之前没接触过证书加密的话,对证书相关的这些概念真是感觉挺棘手的,因为一下子来了一大堆新名词,看起来像是另一个领域的东西,而不是我们所熟悉的编程领域的那些东西,起码我个人感觉如此,且很长时间都没怎么搞懂.写这篇文章的目的就是为了理理清这些概念,搞清楚它们的含义及关联,还有一些基本操作. SSL SSL - Secure Sockets Layer,现在应该叫"TLS",但由于习惯问题,我们还是叫"SSL"比较多.http协议默认情况下是不加密内容的,这样就很可能在内容传播的时候被别人监听到,对于安全性要求较高的场合,必须要加密,https就是带加密的http协议,而https的加密是基于SSL的,它执行的是一个比较下层的加密,也就是说,在加密前,你的服务器程序在干嘛,加密后也一样在干嘛,不用动,这个加密对用户和开发者来说都是透明的.More:[维基百科] OpenSSL - 简单地说,OpenSSL是SSL的一个实现,SSL只是一种规范.理论上来说,SSL这种规范是安全的,目前的技术水平很难破解,但SSL的实现就可能有些漏洞,如著名的"心脏出血".OpenSSL还提供了一大堆强大的工具软件,强大到90%我们都用不到. 证书标准 X.509 - 这是一种证书标准,主要定义了证书中应该包含哪些内容.其详情可以参考RFC5280,SSL使用的就是这种证书标...
颖辉小居 发布于 23小时前 阅读 3

lvm讲解 磁盘故障小案例

  LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。 与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。   物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。 物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。 卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物...
oschina130111 发布于 24小时前 阅读 5

开启远程SSH

SSH默认没有开启账号密码登陆,需要再配置表中修改: vim /etc/ssh/sshd_config PermitRootLogin yes #是否可以使用root账户登陆 PasswordAuthentication yes #是都开启密码登陆 service sshd restart #重启后生效  
Kefy 发布于 1天前 阅读 9

Linux 一个网卡添加多个IP

在Linux系统下面,第一块网卡就叫eth0,第二块网卡就叫eth1,这里我们给第一块网卡设置多个IP,也即添加多个子网卡,如eth0:0、eth1:1这种网络接口,LINUX最多可以支持255个IP子网卡。 一、使用命令临时添加ip 1)查看一下eth0配置: ifconfig eth0      Link encap:Ethernet  HWaddr 00:0C:29:0C:D1:64             inet addr:192.168.36.189  Bcast:192.168.36.255  Mask:255.255.255.0           inet6 addr: fe80::20c:29ff:fe0c:d164/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:27537 errors:0 dropped:0 overruns:0 frame:0           TX packets:15994 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000            RX bytes:28935981 (27.5 MiB)  TX bytes:1430497 (1.3 MiB)           Interrupt:19 Base address:0x2024  2)添加子网卡 ifconfig eth0:0 172.16.1.100 netmask 255.255.255.255 broadcast 172.16.1.255 up ifconfig eth0:1 192.168.36.110 netmask 255.255.255.255 broadcast 192.168.36.255 up  查看...
颖辉小居 发布于 1天前 阅读 6

系统管理命令service

**service命令**用来控制系统服务的实用工具,例如启动、停止、重启和关闭系统服务,以及当前状态。当然也可以直接操作,例如/etc/init.d/mysqld restart等。 **语法** service (选项)(参数) **选项** ```shell --status-all 显示所有服务 ``` **参数:** - 服务名:及`/etc/init.d`脚本下的文件名 - 控制命令:系统服务脚本支持的控制命令 **实例** ```shell //当修改了主机名或者ip地址或者hosts文件,需要重新启动使之生效 //重启MySQL服务 service mysqld status //查看mysqld服务状态 service mysqld restart //重启mysqld服务 ```
Jpchina 发布于 1天前 阅读 3

GeckoLinux 发布 STATIC 150 版

GeckoLinux 是一个基于 openSUSE 的 Linux 发行版,专注于提供一个带有多媒体编解码器的友好的桌面平台。其分为分别对应 openSUSE Leap 及 Tumbleweed 的两个版本,包含了一些常用的私有软件包以方便用户。 GeckoLinux STATIC 日前发布了 150.180607 更新,基于最新的 openSUSE Leap 15.0 版本。GeckoLinux ROLLING 也相应地发布了 999.180607 更新。由于上游 openSUSE Tumbleweed 分支存在一些小问题,GeckoLinux ROLLING 的发布已延迟很久。 这个版本中有许多新的软件包版本:版本为 4.12.14 的 Linux 内核、Firefox Quantum 60、LibreOffice 6.0.4 以及诸多其它软件包。包含下层工具重要更新的 Calamares 安装器的 3.2 版本将使安装GeckoLinux 变得直接并可靠。 (注意:过去在 GeckoLinux 中可用的旧的 yast2-live-installer 很久以前就被 openSUSE 弃用了,且其不再兼容openSUSE 的当前版本)。GeckoLinux 为多个经过配置优化的桌面环境提供了独立的 ISO 镜像: Cinnamon version 3.6.7 (ISO) XFCE version 4.12 (ISO) Gnome version 3.26 (ISO) Plasma 5.12.5 and KDE Frameworks 5.45.0 and KDE Applications 17.12.3 (ISO) Mate version 1.20 (download ISO) ...
六库科技 发布于 1天前 阅读 3

Linux 4.18 内核新补丁移除了Lustre 文件系统

在 Linux 4.18 的维护周期中,内核暂存区得到了超过一千个的补丁,共有168000行新代码出现,同时有227000行代码被删除。 为了使内核暂存区变得更轻,Lustre 文件系统在这次变更中已经被删除。 Lustre 文件系统是一个用于集群计算的并行分布式文件系统,已经存在了十五年。虽然超级计算机和其它集群计算设置在使用 Lustre 文件系统,但由于在清除代码库方面缺乏进展,作为临时子系统维护者的 Greg Kroah-Hartman 删除了 Lustre 的代码。与此同时,Lustre 人员继续在他们自己的外部树上工作。 现在,Lustre 使用者需要外部依赖才能使用 Lustre,直到将来 Lustre 可以再次进入主线内核树的状态。 Greg KH 数年前已经表达过他对内核 Lustre 文件系统代码状态的不满。 其他内核暂存区工作包括各种驱动程序清理、DebugFS 清理、NCPFS/IPX 代码的删除以及各种其他编码改进。 本文转载自: https://www.linuxprobe.com/linux418-remove-lustre.html 免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好,开源站点:https://www.linuxprobe.com/...
六库科技 发布于 1天前 阅读 1

ThinkPHP Nginx vHost配置方法

server { listen 80; listen 443 ssl http2; server_name run.laifuzi.test; root "/home/vagrant/php_workspace/likes_com"; index index.html index.php; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } access_log off; error_log /var/log/nginx/run-error.log error; client_max_body_size 100m; location ~ \.php { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } ssl_certificate /etc/nginx/ssl/spl.laifuzi.test.crt; ssl_certificate_key /etc/nginx/ssl/spl.laifuzi.test.key; }...
莱菔籽 发布于 1天前 阅读 8

Ansible 极简教程

## 一、基本部署 ### 安装Ansible ``` # yum -y install epel-release # yum list all *ansible* # yum info ansible # yum -y install ansible ``` ### Ansible配置文件 ``` /etc/ansible/ansible.cfg 主配置文件 /etc/ansible/hosts Inventory /usr/bin/ansible-doc 帮助文件 /usr/bin/ansible-playbook 指定运行任务文件 ``` ### 定义Inventory ``` # cd /etc/ansible/ # cp hosts{,.bak} # > hosts # cat hosts [webserver] 127.0.0.1 192.168.10.149 [dbserver] 192.168.10.113 ``` ### 使用秘钥方式连接 ``` # ssh-keygen -t rsa # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.149 # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.113 # ssh-copy-id -i /root/.ssh/id_rsa.pub root@127.0.0.1 ``` ### 使用帮助 ``` # ansible-doc -l 列出ansible所有的模块 # ansible-doc -s MODULE_NAME 查看指定模块具体适用 ``` ### Ansible命令应用基础 ``` 语法:ansible [-f forks] [-m module_name] [-a args] 这次命令对哪些主机生效的 inventory group name ip all -f forks 一次处理多少个主机 -m module_name 要使用的模块 -a args 模块特有的参数 ...
kangvcar 发布于 6天前 阅读 1105 点赞 5

工欲善其事必先利其器。100万项目资金助你成为自由职业者

广告
优质开发商申请规则细则落地了,赶紧来看看自己符合不符合。
众包

深度解析Tengine的调试与资源监控方法论

摘要: 在最近的飞天技术汇CDN Tengine开源技术沙龙上,阿里云CDN团队的高级开发工程师墨飏进行了《Tengine的调试与资源监控》的主题分享。本文为演讲记录,从Tengine的内存调试、核心结构、upstream、coredump四个部分展开,为大家整理和分享一些实践经验,希望能给关注Tengine的开发者带来一些帮助与启发。
我是王雪梨 发布于 3周前 阅读 1882 评论 7 点赞 2

Linux配置开机自启动执行脚本的两种方法

开机要启动的脚本qidong.sh [root@c69-01 scripts]# vim /server/scripts/qidong.sh [root@c69-01 scripts]# cat /server/scripts/qidong.sh #!/bin/bash /bin/echo $(/bin/date +%F_%T) >> /tmp/qidong.log 方法一:修改/etc/rc.local /etc/rc.local,该文件为链接文件 [root@c69-01 ~]# ll /etc/rc.local lrwxrwxrwx. 1 root root 13 Feb 5 10:03 /etc/rc.local -> rc.d/rc.local 修改/etc/rc.local文件 [root@c69-01 scripts]# tail -n 1 /etc/rc.local /bin/bash /server/scripts/qidong.sh >/dev/null 2>/dev/null 重启系统,查看结果 [root@c69-01 ~]# cat /tmp/qidong.log 2018-02-19_23:30:56 已开机自启动该脚本 方法二:chkconfig管理 删除掉方法一的配置 [root@c69-01 ~]# vim /etc/init.d/test #!/bin/bash # chkconfig: 3 88 88 /bin/bash /server/scripts/qidong.sh >/dev/null 2>/dev/null [root@c69-01 ~]# chmod +x /etc/init.d/test 添加到chkconfig,开机自启动  [root@c69-01 ~]# chkconfig --add test [root@c69-01 ~]# chkconfig --list test test 0:off 1:off 2:off 3:on 4:off 5:off 6:off 重启系统,查看结果 [root@c69-...
Linux_yk 发布于 4个月前 阅读 2229 评论 6 点赞 5

使用Heapster和Splunk监控Kubernetes运行性能

Kubernetes已经成为容器编排的事实上的王者,连Docker都已经向K8s女王大人低头。对于Kubernetes的cluster的数据收集和监控已经成为IT运维的一个重要话题。我们今天来看一看如何利用Splunk最新的Metrics Store来对Kubernetes的集群进行性能监控。 部署架构 下图是该方案的部署架构,主要包括: 利用Heapster收集K8s的性能数据,包含CPU,Memory,Network,File System等 利用Heapster的Statsd Sink,发送数据到Splunk的Metrics Store 利用Splunk的搜索命令和仪表盘功能对性能数据进行监控 前期准备 前期主要要准备好两件事: 编译最新的Heapster的镜像,并上传到某个公共的Docker镜像仓库,例如docker hub 在Splunk中配置Metrics Store和对应的网络输入(Network Input UDP/TCP) 这里主要要做的选择是Statsd的传输协议用UDP还是TCP。这里我推荐使用TCP。 最新的Heapster代码支持不同的Backend,包含了log, influxdb, stackdriver, gcp monitoring, gcp logging, statsd, hawkular-metrics, wavefront, openTSDB, kafka, riemann, elasticsearch等等。因为Splunk的Metrics Store支持statsd协议,所以可以很容易的和Heapster集成。 首先我们需要利用最新的heapster代码,编译...
naughty 发布于 5个月前 阅读 1745 评论 2 点赞 1

HTTPS连接过程以及中间人攻击劫持

一 、HTTPS连接过程及中间人攻击原理 https协议就是http+ssl协议,如下图所示为其连接过程:  1.https请求  客户端向服务端发送https请求;  2.生成公钥和私钥  服务端收到请求之后,生成公钥和私钥。公钥相当于是锁,私钥相当于是钥匙,只有私钥才能够打开公钥锁住的内容;  3.返回公钥  服务端将公钥(证书)返回给客户端,公钥里面包含有很多信息,比如证书的颁发机构、过期时间等等;  4.客户端验证公钥  客户端收到公钥之后,首先会验证其是否有效,如颁发机构或者过期时间等,如果发现有问题就会抛出异常,提示证书存在问题。如果没有问题,那么就生成一个随机值,作为客户端的密钥,然后用服务端的公钥加密;  5.发送客户端密钥  客户端用服务端的公钥加密密钥,然后发送给服务端。  6.服务端收取密钥,对称加密内容  服务端收到经过加密的密钥,然后用私钥将其解密,得到客户端的密钥,然后服务端把要传输的内容和客户端的密钥进行对称加密,这样除非知道密钥,否则无法知道传输的内容。  7.加密传输  服务端将经过加密的内容传输给客户端。  8.获取加密内容,解密  客户端获取加密内容后,用之前生成的密钥对其进行解密,获取到内容。 中间人劫持...
MengXS 发布于 7个月前 阅读 3036 评论 9 点赞 10

理解TCP/IP三次握手与四次挥手的正确姿势

背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。 从好上开始,到现在,一年多也算坚持下来了。 问题 有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。 中间双方可能就要不断的确认网络是否恢复,但是有时候会: 她:“你可以听到了吗?” 我:“可以了,你呢?”、 她:“喂喂,你可以听到了吗?” 我:“可以了,我可以听到了,你呢?” 她:“你可以听到了吗?” ..... 这种情况很蛋疼,那么怎样才能找一个简单的办法,让两个人都确认自己可以听到对方的声音,对方也可以听到自己的声音呢? 注:以下情节纯属虚构   方案 TCP建立连接为什么是三次握手,而不是两次或四次? TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6。 顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要。 举个日常例子,打电话时我们对话如下:   对应为客户端与服务器之间的通信: 于是有了如下对话: 我:1+1等于几? 她:2,2+2等于几? 我:4 首先两个人约定协议 1.感觉网络情况不对的时候,任何一方都可以发起询问 2.任何情况下,若发起询问后5秒还没收到...
Champin 发布于 7个月前 阅读 3470 评论 10 点赞 12

如何7步实现根据源码包创建rpm包

### 如何7步实现根据源码包创建rpm包 --- > 本文是"[7 Steps to Build a RPM Package from Source on CentOS / RedHat](http://www.thegeekstuff.com/2015/02/rpm-build-package-example/)"一文的简单翻译。 **version: 0.1.0 2017-11-19** 有时你可能需要获取一个开源应用的源码包,但是可能没有无法通过该应用的RPM文件来安装到系统。 在这种情况下,你既可以编译源码安装,也可以以源码包来创建一个rpm包文件,实现安装应用的功能。 同样存在一种情况即你想要创建一个你自己开发的自定义的RPM包。 这篇指南解释了如何提高源码来创建一个rpm包。 为了创建rpm包,你将需要源码包(通常为一个压缩文件,其内也包含了SPEC文件)。 SPEC文件包含以下说明:如何创建rpm包,包内包含的文件,安装的路径。 RPM将展现创建过程中的测试过程。 执行spec文件中的prep块中定义的系统命令和宏命令。 检测文件列表的内容 执行spec文件中的build块中定义的系统命令和宏命令。在这一步中文件列表中的宏命令也被执行。 创建二进制包文件 创建源码包文件 一旦RPM执行了上述步骤,将创建二进制的包文件和源码包文件。 二进制包文件包含所有安装或卸载包的额外信息的源文件。 通常安装包的所有...
Lu_Castiel 发布于 7个月前 阅读 1051 评论 7 点赞 2

lvm讲解、磁盘故障小案例

### lvm讲解 ``` DiskA 分区分别为Physical Volume1、Physical Volume2;DiskB 分区为Physical Volume3,在这里Physical volume1,2,3就是磁盘分区 也就是物理卷;然后由单个或多个物理卷组成物理卷组,最后在物理卷的基础上划分出逻辑卷,而逻辑卷格式化后挂载上就可以使用了 ``` #### 准备磁盘分区阶段 - fdisk /dev/sdb - 创建三个新分区,大小分别为2G - 改变分区类型为8e(fdisk中使用t更改类型) 1. 创建新分区 ``` //这里我创建了5个2G的分区,多出的2个留待测试用 [root@24centos7-01 /]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 //创建第一个分区 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-20971519,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2000M 分区 1 已设置为 Linux 类型,大小设为 2 GiB //创建第二个分区 命令(输入 m 获取帮助):n Partition type: p primary (1 primary, 0 ext...
vitus_feng 发布于 7个月前 阅读 1365 评论 5 点赞 2

nginx之proxy_pass指令完全拆解

nginx中有两个模块存在proxy_pass指令。proxy_pass后的后端服务器的uri到底是个啥?
永福 发布于 10个月前 阅读 5249 评论 6 点赞 12 打赏 1

工作中redis合库以及aof踩坑记

概述     此文是第一次搞redis主从小白犯的错,大神可以忽略。记录为了让看到本博文的小白前车之鉴 软件资源             centOs:6.5             redis:2.8.10  背景               公司现有架构均是单机模式,本文仅先介绍redis单机踩的坑-- 即生产应用redis均是单一实例,一旦实例挂掉功能就会不可用。现公司业务使用了一台实例(业务实例),一台session共享实例(session实例)。             现需要对现有架构升级(后续会出整个架构升级的相关博客),先从最简单的redis开始开刀,采用主从复制,启用哨兵监听进行主从切换(后续会有相关详细博客)。 基本问题  线上redis仅启用了rdb持久化,需要启用AOF 线上业务实例和session实例 keys<1W,可以把业务实例和session实例合并节约资源 踩坑记     AOF挖坑       已经搭建了主从模式,创建了多个key验证没问题, 很开心ing, 发现需要启用AOF,查看官方文档认为so easy, 于是乎 改改改配置,重启服务,在主节点添加了一个key,主从验证通过, 非常开心ing。     【敲黑板,开始挖坑了哈】 此时模拟极端故障,把主从节点都停掉了,开始依次开启服务,发现仅有开启...
java_龙 发布于 12个月前 阅读 2698 评论 22 点赞 3

如何在国内愉快的安装 Kubernetes

无需翻墙,如何愉快的与K8S 玩耍
无聊的学习者 发布于 1年前 阅读 12631 评论 20 点赞 4

运维不仅仅是Linux,居然还要知道这么多?

运维不仅仅是懂Linux就行,因为还有一大部分的Windows运维,向windows运维人员致敬。当然我们这篇文章不是说运维除了懂Linux,还要懂Windows,而是涉及运维的其他方方面面。 如:环境部署、排错和调优、备份、高可用和集群、监控告警、安全和审计、自动化和DevOps、虚拟化和云服务。
永福 发布于 1年前 阅读 6133 评论 28 点赞 21 打赏 3

简单聊聊: linux 匿名管道

  相信很多在linux平台工作的童鞋, 都很熟悉管道符 '|', 通过它, 我们能够很灵活的将几种不同的命令协同起来完成一件任务.就好像下面的命令: echo 123 | awk '{print $0+123}' # 输出246 不过这次咱们不来说这些用法, 而是来探讨一些更加有意思的, 那就是 管道两边的数据流"实时性" 和 管道使用的小提示.   其实我们在利用管道的时候, 可能会不经意的去想, 我前一个命令的输出, 是全部处理完再通过管道传给第二个命令, 还是一边处理一边输出呢? 可能在大家是试验中或者工作经验中, 应该是左边的命令全部处理完再一次性交给右边的命令进行处理, 不光是大家, 我在最初接触管道时, 也曾有这么一个误会, 因为我们通过现象看到的就是这样.    但其实只要有简单了解过管道这工具, 应该都不难得出解释: 管道是两边是同时进行, 也就是说, 左边的命令输出到管道, 管道的右边将马上进行处理.  管道的定义 管道是由内核管理的一个缓冲区,相当于我们放入内存中的一个纸条。管道的一端连接一个进程的输出。这个进程会向管道中放入信息。管道的另一端连接一个进程的输入,这个进程取出被放入管道的信息。一个缓冲区不需要很大,它被设计成为环形的数据结构,以便管道可以被循...
Lin_R 发布于 1年前 阅读 1824 评论 9 点赞 8 打赏 1

Let's Encrypt 使用教程,免费的SSL证书,让你的网站拥抱 HTTPS

这篇文章主要讲的就是如何让自己的网站免费从HTTP升级为HTTPS,使用的是 [Let's Encrypt](https://letsencrypt.org/)的证书。实际上也就是一个Let's Encrypt 免费证书获取教程 。 为什么要上HTTPS,说一个小故事。 > 从前有个网站,后来有个广告,没了 作为一个博客,自然不想让在被别人浏览的时候,出现莫名的广告([运营商劫持](https://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp&gws_rd=ssl#safe=strict&hl=zh-CN&q=%E8%BF%90%E8%90%A5%E5%95%86%E5%8A%AB%E6%8C%81))。这时候,HTTPS的价值就体现出来了。 HTTPS的好处还有很多,但单单这一条,就够我花心思去升级了。 (其实主要目的是提升网站Biger :) ## Let's Encrypt 简介 如果要启用HTTPS,我们就需要从证书授权机构(以下简称CA) 处获取一个证书,Let's Encrypt 就是一个 CA。我们可以从 Let's Encrypt 获得网站域名的免费的证书。这篇文章也主要讲的是通过 Let's Encrypt + Nginx 来让网站升级到HTTPS。 ## Certbot 简介 [Certbot](https://certbot.eff.org) 是Let's Encrypt官方推荐的获取证书的客户端,可以帮我们获取免费的Let's Encrypt 证书。Certbot 是支持所有 Unix 内核的操作系统的,个人博客的...
DiamondFsd 发布于 1年前 阅读 6052 评论 33 点赞 17

haproxy和nginx负载均衡分析

出于对负载均衡工具的疑问,分别对haproxy和nginx的负载均衡进行了抓包分析,分析的过程跟大家分享下。先说下对haproxy抓包得到的结论吧:haproxy在负载均衡的一台后端挂掉后,如果还没达到探测的时间点时,请求还会往挂掉的这台转发,请求会丢失。 haproxy负载均衡的实验过程如下: 1: 先看下haproxy的配置。配置inter 20000为20s检测一次,这个是为了更明显的抓下haproxy的负载均衡探测机制。 listen test9090         bind 127.0.0.1:9090         mode tcp         server localhost90 127.0.0.1:90 check inter 20000         server localhost91 127.0.0.1:91 check inter 20000 2: 后端我是用nginx进行测试,看下nginx的配置如下。可在/var/www/html/建个index.html进行测试 server {             listen       90;             listen       91;             location /{                     root /var/www/html;             }     } 先用curl 127.0.0.1:9090进行测试,并在机器上开两个窗口看下抓包是否均衡正常,两个窗口运行的命令分别如下:tcpdump -i lo -nn 'port 90'      tcpdump -i lo -...
鸿弟 发布于 1年前 阅读 4819 评论 19 点赞 6

Linux Shell 从入门到删除根目录跑路指南

shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ 今天就来聊聊 linux 下一个常见的问题:如何避免误删目录。下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。 1、变量为空导致误删文件 base_path=/usr/sbin tmp_file=`cmd_invalid` # rm -rf $base_path/$tmp_file 这种情况下如果 cmd 执行出错或者返回为空,后果将是灾难性的,那如何防范呢? (1)利用 shell 的变量扩展功能,如果变量为空赋给默认值或者抛出异常退出脚本: echo ${base_path:?var is empty}/${tmp_file:?var is empty} -bash: tmp_file: var is empty (2)人肉判断变量是否为空: [[ ${tmp_file} == "" ]] && echo 1 1 [[ -z ${tmp_file} ]] && echo 1 1 (3)如果变量未定义还可以开启 set 选项: # cat a.sh # 若有用未设置的变量即让脚本退出执行 # set -o nounset # 或 set -u b= echo $b echo $a echo 1 # bash a.sh a.sh: line 4: a: unbound variable # 另外, # 如果命令运行失败让脚本退出执行 set -o errexit # 或 set -e 2、路径含有空格导致误删...
大数据之路 发布于 2年前 阅读 11372 评论 26 点赞 20

zabbix自动发现监控redis数据库

zabbix自动发现监控redis数据库与自动发现mongo,mysql的思路差不多。这次汇总完就把模板,脚本上传到git上。如果公司使用的redis都是6379端口的话,那么还是建议创建一套模板,然后链接到各个服务器即可。如果公司的redis使用的端口比较多,各个都不一样,那还是自动发现并监控redis比较方便。还是一样,先来看下监控的效果图: 上述图形是使用zabbix的筛选功能汇总在一起的图片。监控redis的客户端连接数,使用的内存,实际使用的内存和redis的内存碎片化情况。   下面来讲讲自动发现redis的实现,首先,还是先看下redis自动发现的配置: 探索规则配置完后,同样的在zabbix agentd端需要添加如下配置然后重启zabbix_agentd,配置如下: UserParameter=redis.discover,python /usr/local/zabbix/discover_redis.py 其中/usr/local/zabbix/discover_redis.py自动发现的脚本内容如下 : #coding:utf-8 import json import commands (status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'redis-server'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u''') outputs = output.split('\n') ports = [] for port in outputs: ports += [{'{#RE...
鸿弟 发布于 2年前 阅读 3337 点赞 3

ELK日志分析平台搭建全过程

一、使用背景     当生产环境有很多服务器、很多业务模块的日志需要每时每刻查看时 二、环境 系统:centos 6.5 JDK:1.8 Elasticsearch-5.0.0 Logstash-5.0.0 kibana-5.0.0 三、安装 1、安装JDK 下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 本环境下载的是64位tar.gz包,将安装包拷贝至安装服务器/usr/local目录 [root@localhost ~]# cd /usr/local/  [root@localhost local]# tar -xzvf jdk-8u111-linux-x64.tar.gz 配置环境变量 [root@localhost local]# vim /etc/profile 将下面的内容添加至文件末尾(假如服务器需要多个JDK版本,为了ELK不影响其它系统,也可以将环境变量的内容稍后添加到ELK的启动脚本中) JAVA_HOME=/usr/local/jdk1.8.0_111 JRE_HOME=/usr/local/jdk1.8.0_111/jre CLASSPATH=.:$JAVA_HOME/lib:/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin export  JAVA_HOME export  JRE_HOME ulimit -u 4096 [root@localhost local]# source /etc/profile 配置limit相关参数 [root@localhost local]# vim /etc/security/limits.conf 添加以下内容 * soft nproc 65536 * hard nproc 6553...
运维2016 发布于 2年前 阅读 7156 评论 12 点赞 6

zabbix自动发现监控mongo数据库

监控mongo写个模板其实挺快的,如果公司每个mongo使用的端口都一致的话,就可直接建立一套模板,然后这个模板链接到各个服务器上即可。但如果公司使用mongo的端口如果不一致的话,那建议使用zabbix的自动发现的功能,自动发现mongo监听的端口,并对它进行相关数据的收集。   先看一下效果图, 此监控图是zabbix的筛选功能可能把相关的图整合到一个页面里面去。   具体的自动发现实现如下: 探索规则配置如上,机器上的zabbix agent配置如下: UserParameter=mongo.discover,python /usr/local/zabbix/discover_mongo.py   其中/usr/local/zabbix/discover_mongo.py为自动发现的脚本,脚本内容如下: #coding:utf-8 import simplejson as json import commands (status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'mongod'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u|grep -v "^28"''') outputs = output.split('\n') ports = [] for port in outputs: ports += [{'{#MONGOPORT}': port}] print json.dumps({'data':ports},sort_keys=True,indent=4) 使用系统命令netstat把监听的端口筛选出来,然后以json的格式进行输出。定义到...
鸿弟 发布于 2年前 阅读 2181 评论 1 点赞 5

容器集群管理平台的比较

本文简单介绍了主流的容器管理平台包括Swarm,Kubernetes,Mesos,AWS ECS,并对它们做了基本的比较。
naughty 发布于 2年前 阅读 6142 评论 2 点赞 5 打赏 1
顶部