
linux
文章平均质量分 52
奋斗的小面包
每天进步一点点,N天之后你会发现你征服了一座大山!
展开
-
Mmap()内存与文件的映射测试函数代码
#include #include #include #include #include #include #include void errorMessage(char* message);int main(int argc,char* argv[]){ int file; //打开的文件描述符 int ret;//函数返回值临时变量 int offset;//文件偏移量原创 2018-01-26 11:53:56 · 378 阅读 · 0 评论 -
更改主机名,进行ip地址和主机名的映射,关闭selinux和 SSH免密码登录
/etc/sysconfig/network//更改主机名的配置文件更改完后重启虚拟就就ok了。为了我们在各个虚拟机中不用输入ip地址就能相互连接,我们就得进行ip地址和主机名的映射了。/etc/hosts//ip地址和主机名映射的配置文件192.168.52.250 xxx1192.168.52.251 xxx2192.168.52.252 xxx3关闭selinuxselinux这个东西...原创 2018-07-13 21:53:57 · 1161 阅读 · 0 评论 -
机器的时钟同步
机器的时钟同步是非常有必要的,因为我们的集群软件是高度依赖时间的,如果每个电脑的时间都不一样,那鸡巴怎么管理我们的文件系统呢?对吧我们使用一种简单的方式,即和时钟服务器进行时钟的同步ntpdate us.pool.ntp.org //这个命令就可以和时钟服务器进行通信上面这个命令是进行时钟同步的,但是我们必须得重复的执行这个命令,以保证我们的系统不会有误差,所以得使用一个定时执行的命令*/1 * ...原创 2018-07-13 21:33:46 · 827 阅读 · 0 评论 -
Linux的防火墙的端口开放或关闭防火墙
/etc/sysconfig/iptables//防火墙配置文件的路径在很多情况下,防火墙都会组织一些端口号的通讯,比如我们的tomcat,nginx,redis明明安装的没毛病,但在外部就是访问不了,那很有可能就是防护墙的原因了,我们可以在防火墙中开放一些端口供外部访问比如tomcat的8080 ,mysql的3306,redis的6379,nginx的80端口。我们打开配置文件就会发现,他默...原创 2018-07-13 21:28:41 · 5226 阅读 · 0 评论 -
搭建集群测试环境时linux环境的配置(之配置个虚拟机的ip地址,并可以访问外网)
VmWare的网络配置编辑我们VmWare的网络配置,注意我们选择NAT模式。在我们win7电脑上面配置我们的VMware Network Adapter VMnet8 的网段注意:一定要启用VMnet8这个虚拟网卡。VMnet8的配置:ip一定和上面配置的52一个网段,网关使用上面第二步配置的网关还有就是DNS服务器这可不是瞎写的8.8.8.8确实是一个DNS服务器哦手动设置我们虚拟机中的网络的...原创 2018-07-13 21:18:25 · 2320 阅读 · 3 评论 -
搭建集群测试环境时linux环境的配置(之centos6操作系统的安装)
装软件这个东西我们就不谈了,不懂的可以参见我的另外一篇文章linux下安装软件。下面我们就一步步来做,至于为什么这麽做我会一步步解释。先说一下,我们装的操作系统时centos6。第一步将创建虚拟机,然后将我们的操作系统镜像放入到光驱中,然后开启虚拟机然后我们就进行下面操作系统的安装。...原创 2018-07-13 20:52:20 · 435 阅读 · 0 评论 -
linxu下软件的安装(草稿阶段)
源码包编译安装推荐大家看我的另一片文章源码安装方式的原理详解来了解源码包的,这里粗略的提一下意思意思安装过程分三步:./configure //检测系统环境生成makefile文件make//将源码包编译成.o的二进制包make install//将二进制包进行连接后放入到指定位置rpm(红帽包管理工具)安装首先需要说明一点的是我们使用rpm软件包管理工具进行安装的话是不能指定安装目录的,以...原创 2018-07-10 00:33:39 · 261 阅读 · 0 评论 -
超好用的log
说明一下,这里我们也可以用户自定义输出函数,通过event_set_log_callback()来实现,其函数参数的格式为:void event_log(int severity, const char *msg)首先该log并不全面,仅实现了部分,其他的可以参照源代码自己实现:#ifndef log_h_#define log_h_#include <stdarg.h>#in...原创 2018-04-22 21:07:14 · 309 阅读 · 0 评论 -
linux下静态库和动态库使用的从无到有
首先我们先列出gcc编译器的常用命令:我们在来看看gcc的编译流程,因为我们在开发工具中玩了太久,一般都会忽略这些细节的:好,下面我们在来谈一谈静态库和动态库关于静态库和动态库的优点和结构实现我们就不BB了。ar是gnu归档工具,rcs表示(replace and create),我们就是要使用这个工具来给我们封装静态库的。#include "myprintf.h"int main(void)...原创 2018-03-06 15:14:20 · 219 阅读 · 0 评论 -
IO模型(select epoll)
我们先从select入手写一个模型,这是经过我们优化了的#include <sys/types.h>#include <sys/time.h>#include <stdio.h>#include <unistd.h>#include <netinet/in.h>#include <arpa/inet.h>#incl...原创 2018-03-13 15:00:25 · 297 阅读 · 0 评论 -
tcp协议连接过程讲解
先占个位置,今天晚上提笔来写。原创 2018-03-06 09:12:38 · 237 阅读 · 0 评论 -
linux下安装mysql的相关步骤
.deb 的文件需要使用dpkg工具来安装,该工具的详细使用方法请参考manpage,我们只介绍3种常用操作sudo dpkg -i 文件名 //安装指定的文件sudo dpkg -l |grep 文件名 //查看该软件下是否装有该文件名称的软件sudo dpkg -P 文件名 //完全清除该软件包括配置文件等信息我们去官网下载mysql,也可以使用我的百度云盘连接:链接:https:...原创 2018-03-05 13:23:28 · 425 阅读 · 1 评论 -
简单的server和client模型
本代码主要有一下几个技术的解决方案:端口复用技术防止tcp流协议粘包:我们使用的是指定buf大小的方式#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#inc...原创 2018-03-01 11:13:03 · 3234 阅读 · 0 评论 -
getopt()函数详解
简介getopt函数是命令行参数解析函数,在平时阅读源码的时候经常遇到,很有必要对其总结一下,做个记录!命令行参数各组成部分的名称先来了解下命令行参数各组成部分的名称。直接上图:非常清楚,命令行参数由Command name,Option,Option argument 以及Operands组成。Command name不用多说,就是程序原创 2018-01-26 16:20:18 · 21252 阅读 · 5 评论 -
虚拟机的几种网络配置方式的介绍
磨刀不误砍柴工,为了更好地使用虚拟机,了解这几种连接模式的主要用途以及它们之间的区别是非常有必要的。在这里,我们就以下面的网络连接示意图为例来进行相关介绍。在VMware中,虚拟机的网络连接主要是由VMware创建的虚拟交换机(也叫做虚拟网络)负责实现的,VMware可以根据需要创建多个虚拟网络。在Windows系统的主机上,VMware最多可以创建20个虚拟网络,每个虚拟网络可以连接任意数量的...原创 2018-07-22 11:31:55 · 1479 阅读 · 0 评论