天道酬勤,学无止境

服务器

Linux SVN 服务器配置以及客户端使用

SVN简介 SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。 SVN中的一些概念 : a. repository(源代码库) 源代码统一存放的地方 b. Checkout (提取) 当你手上没有源代码的时候,你需要从repository checkout一份 c. Commit (提交) 当你已经修改了代码,你就需要Commit到repository d. Update (更新) 当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更 日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 如果两个程序员同时修改了同一个文件呢?SVN可以Merge这两个程序员的改动,对,合并,实际上SVN管理源代码是 以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行呢,SVN会提示文件Confict, 冲突,需要手动确认。 TortoiseSVN简介 TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端

2021-12-02 20:45:44    分类:博客    linux   服务器   svn   linux系统管理

启用nf_conntrack模块,避免table full dropping

最近收到Iptables服务器报警"nf_conntrack: table full, dropping packet."。经过对日志分析,最终将问题解决了。给大家分享一下。问题分析:ip_conntrack是linux NAT的一个跟踪连接条目的模块,与Iptables相关,ip _conntrack模块会使用一个哈希表记录 tcp 通讯协议的 established connection记录,当这个哈希表满了的时候,便会导致nf_conntrack: table full, dropping packet错误,由于该物理机运行多虚拟机,哈希表满的几率很大。 处理办法:处理方法有两种。修改/etc/modprobe.d/nf_conntrack.conf配置并关闭iptables服务:more /etc/modprobe.d/nf_conntrack.conf开启options nf_conntrack hashsize=131072 调整nf_conntrack表大小。service iptables stopchkconfig iptables off2.修改/etc/sysctl.conf中ip_conntrack的值net.netfilter.nf_conntrack_max = 655350 #设置最大跟踪连接数655350,该设置会增大内存开销。net

2021-11-26 08:48:27    分类:博客    linux   服务器   虚拟机   系统性能调优

玩转直播系列之RTMP协议和源码解析(2)

一、背景 实时消息传输协议(Real-Time Messaging Protocol)是目前直播的主要协议,是Adobe公司为Flash播放器和服务器之间提供音视频数据传输服务而设计的应用层私有协议。RTMP协议是目前各大云厂商直线直播业务所公用的基本直播推拉流协议,随着国内直播行业的发展和5G时代的到来,对RTMP协议有基本的了解,也是我们程序员必须要掌握的基本技能。 本文主要阐述RTMP的基本思想和核心概念,并且辅之以livego的源码分析,和大家一起深入学习RTMP协议最核心的知识点。 二、RTMP协议特点 RTMP协议主要的特点有:多路复用,分包和应用层协议。以下将对这些特点进行详细的描述。 2.1 多路复用 多路复用(multiplex)指的是信号发送端通过一个信道同时传输多路信号,然后信号接收端将一个信道中传递过来的多个信号分别组合起来,分别形成独立完整的信号信息,以此来更加有效地使用通信线路。 简而言之,就是在一个 TCP 连接上,将需要传递的Message分成一个或者多个 Chunk,同一个Message 的多个Chunk 组成 ChunkStream,在接收端,再把 ChunkStream 中一个个 Chunk 组合起来就可以还原成一个完整的 Message,这就是多路复用的基本理念。 上图是一个简单例子,假设需要传递一个300字节长的Message

2021-11-23 04:10:55    分类:博客    直播技术   RTMP   服务器   原创干货

Exchange Server 2010部署(三)部署Exchange2010 NLB负载平衡及CAS Array

我们已经部署了两台Exchange2010的CAS/HUB服务器,现在要把两台CAS服务器合并为一个CAS阵列。在Exchange2003时代,用户可以直接访问Exchange的邮箱服务器。但是从Exchange2007开始,用户就不能直接访问邮箱服务器了,用户必须访问CAS服务器才可以连接到自己的邮箱。这样CAS服务器就成为用户访问Exchange服务器所必须面对的一个前台接待。一旦CAS服务器出现问题,用户访问Exchange服务器就会立刻遇到问题,要避免这种故障,比较有效的方法就是把多台CAS服务器组成一个CAS阵列,这样就可以起到负载平衡及容错的作用。 首先我们要在两台CAS/HUB服务器上配置负载平衡。负载平衡(NLB)对很多朋友来说并不陌生,微软的很多服务器都使用了NLB技术。NLB需要在主机之间传递心跳信号,那么我们需要在服务器上配置使用两块网卡,一块网卡传递心跳信号,一块网卡用于生产环境。其实考虑到心跳信号数据量并不大,因此一块网卡身兼两职也是可以的。本次环境中我们就只使用了一块网卡。 创建Windows NLB群集 使用Exadmin账户登陆到BJEX01服务器上,运行“NLBMGR”。打开网络负载平衡管理器,点击“群集”菜单,选择“新建”。 在窗口中,主机输入框中键入localhost或本机IP,点击“连接”,选择LAN网卡后,点击“下一步” 继续点击下一步

2021-06-02 18:55:22    分类:博客    服务器   Array   负载平衡   Exchange Server

可行性很高 IBM刀片助力高校打假

  近年来,高校的信息化建设成为了教育部门和社会关注的重点。如何将IT技术融入教学之中,打造综合教育体制下的高素质大学生成为了高校IT建设的重点。   最近一段时间,有关大学生素质低下,教授论文造假,学生毕业论文以及毕业设计抄袭等高等教育负面报道充斥着个大门户网站和报纸新闻的头条位置。 这些新闻不仅拷问了当事人的道德、学风,更跳动了高校本身脆弱的神经。随着这些新闻在社会上的不断发酵,人们对于高等教育的质疑与不信任发展到了空前的程 度。而如何建立起一套有效并且在技术、资金等方面可行的管理制度是摆在所有高校甚至教育主管部门面前一个不可以也不应该被回避的问题,而这个问题,越早解 决越好。   可以想象,如果将这一问题交给高校教师来完成基本是不可能的。教师除了要审阅学生的毕业论文之外,还要进行备课或者参与高校科研项目;很多教师 甚至要身兼数门课程的教学工作,压力并不比义务教育学校的老师低多少。而如果让教师来仔细审阅学生的论文是否存在抄袭现象则基本不可能。   一是学生数量众多,教师精力有限。以目前我国高校的一般情况而言,每个专业少则几个班,多则十几个班,平均每个班约有30名左右的学生,而与学生论文专业相符的教师数量往往只有个位数甚至一两名。这样所产生的工作量可想而知,根本不是人力所能完成的。   二是老师并非专业鉴别人员,其鉴别抄袭和造假的能力有限

2021-06-02 18:51:00    分类:博客    IBM   服务器   刀片   IBM虚拟化与云计算相关

刀片让教育更好一点 更省一点

  2010年7月,教育部发布了《国家中长期教育改革和发展规划纲要(2010-2020年)》(以下简称《教育规划纲要》),这一文件为教育行业进 一步向信息化迈进提供了政策性的保障。而2011年作为国家第十二个五年计划的开局之年,各个政府部门的投资热情都很高涨,在这一背景下,教育行业的信息 化投资又将迎来新一轮的增长。   在我国,公有制教育仍然处于绝对的主导地位,因此,如何花好每一分钱,让资金的作用最大化成为了摆在教育部门决策者面前一个必须要考虑的问题。   近年来,云计算可以算是IT行业中人气最高的词语了。经过了几年的摸索,云计算已经逐步从概念向实际应用发展,其在各个行业中的应用也呈蓬勃发展之势。与其他行业一样,在教育行业,云计算同样大有可为。   根据调查,在传统情况下,学校电脑网络教室要满足一个班的学生共同使用,其规模在30-50台电脑之间。而在目前电脑教育日趋普及的情况下,对 于通常拥有数千名学生的学校来说,一两个电脑网络教室显然是不能满足日常教学需求的,所以传统的学校电脑网络教室对电脑的需求量还是非常可观的。另一方 面,学校日常办公以及教室的多媒体化也大幅度提升了对电脑数量的需求。   但另一方面,随着学校保有电脑数量的提升,众多问题也都渐渐浮出水面。   采购成本高   首先,电脑的采购成本虽然随着时代的发展出现了不断下降的趋势

2021-06-02 18:50:52    分类:博客    IBM   服务器   教育   IBM虚拟化与云计算相关

创建磁盘陈列(RAID5)使用经验与原则

我见一些单位的服务器,在创建磁盘陈列时,大多是把服务器上所有的硬盘创建RAID5,并且只划分了一个“逻辑磁盘”,这样从理论上来讲没有任何问题,在实际中也可以可以使用的,但是这种方法并不可取,原因: 现在服务器集成的SCSI、RAID卡、SAS卡等,操作系统大多没有集成相关的驱动程序,这样在安装操作系统的时候,如果使用Windows Server 2003(或Windows Server 2008)安装光盘,从光盘启动安装,在安装的时候,需要按F6,并在软驱中插入相关的SCSI、RAID卡驱动程序。而现在一些服务器并不带软驱(或者虽然服务器都带软驱,但现在软盘,不说也罢,一些软盘质量太次了)。这个时候,就需要使用服务器带的“引导光盘”启动,使用服务器的引导光盘来安装系统,而采用这种方法的时候,要把第1个逻辑磁盘重新划分分区,这样,在第一次安装系统的时候没有问题,但如果你的服务器在使用一段时间之后,需要重新安装系统,并且你的D分区、E分区有数据的时候,如果你还用这种方法----你就想办法恢复数据吧! 所以,上面这种方法,只是“能用”并不“实用”。我个人的经验:在创建RAID5的磁盘陈列时,创建两个逻辑磁盘,第一个逻辑磁盘大小为30~50GB,第二个逻辑磁盘是RAID5的剩余空间。这样,即使是使用服务器带的“引导光盘”安装系统,也只是把第一个逻辑磁盘重新划分分区

2021-06-02 18:47:49    分类:博客    磁盘   服务器   休闲   其他

PHP“内存位置访问无效”

新配置的PHP环境,或者刚做过配置改动,比如新加载的DLL扩展,访问页面,可能会出现“内存位置访问无效。”的错误。主要原因是DLL扩展加载失败。 我们就需要找到是哪一个DLL文件加载出现了问题。排查方法是: 将php.ini中 display_startup_errors = Off 改为display_startup_errors = On 。 这时访问php页面,服务器上会弹出php错误的提示对话框,你就可以明确看到是哪一个dll文件加载失败,有时会有多个dll文件加载失败,需要你先分号(;)注释掉php.ini中提示那个dll后继续访问如此反复排查。 把出问题的dll都用分号(;)注释掉后,php就可以正常运行了。 上面是网上搜的方法,原理是对的,但是具体到我遇到的问题,不用那么麻烦,把IIS先暂停下,结束w3wp.exe进程,删除原来加载中的dll,重新添加新的dll,然后重新启动IIS即可以.来源:https://blog.51cto.com/shuangyang/498141

2021-06-02 18:44:41    分类:博客    职场   服务器   对话框   web

Kafka万亿级消息实战

一、Kafka应用 本文主要总结当Kafka集群流量达到 万亿级记录/天或者十万亿级记录/天 甚至更高后,我们需要具备哪些能力才能保障集群高可用、高可靠、高性能、高吞吐、安全的运行。 这里总结内容主要针对Kafka2.1.1版本,包括集群版本升级、数据迁移、流量限制、监控告警、负载均衡、集群扩/缩容、资源隔离、集群容灾、集群安全、性能优化、平台化、开源版本缺陷、社区动态等方面。本文主要是介绍核心脉络,不做过多细节讲解。下面我们先来看看Kafka作为数据中枢的一些核心应用场景。 下图展示了一些主流的数据处理流程,Kafka起到一个数据中枢的作用。 接下来看看我们Kafka平台整体架构; 1.1 版本升级 1.1.1 开源版本如何进行版本滚动升级与回退 官网地址:http://kafka.apache.org 1.1.1.2 源码改造如何升级与回退 由于在升级过程中,必然出现新旧代码逻辑交替的情况。集群内部部分节点是开源版本,另外一部分节点是改造后的版本。所以,需要考虑在升级过程中,新旧代码混合的情况,如何兼容以及出现故障时如何回退。 1.2 数据迁移 由于Kafka集群的架构特点,这必然导致集群内流量负载不均衡的情况,所以我们需要做一些数据迁移来实现集群不同节点间的流量均衡。Kafka开源版本为数据迁移提供了一个脚本工具“bin/kafka-reassign-partitions

2021-06-02 13:36:07    分类:博客    kafka   集群   服务器   原创干货

Too many authentication failures for xxxx_username

解释 这个报错通常是因为多个ssh key 验证,key太多了导致服务器拒绝接受认证请求。 可以通过 -v 参数,输出详细的过程。你会发现你提供的认证key,服务器拒绝链接,并提示异常:“Too many authentication failures for [user]”。 解决办法 ssh-add -D 详细解释 This is usually caused by inadvertently offering multiple ssh keys to the server. The server will reject any key after too many keys have been offered. You can see this for yourself by adding the -v flag to your ssh command to get verbose output. You will see that a bunch of keys are offered, until the server rejects the connection saying: "Too many authentication failures for [user]". Without verbose mode, you will only see the

2021-06-02 08:38:46    分类:博客    服务器   报错