libevent

linux下mecached安装步骤(转)

只愿长相守 提交于 2019-11-30 00:38:46
用wget指令直接下载这两个东西.下载回源文件后。1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure -prefix=/usr;然后make;然后make install; 2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure -with-libevent=/usr;然后make;然后make install; 这样就完成了Linux下Memcache服务器端的安装。详细的方法如下: 1.分别把memcached和libevent下载回来,放到 /tmp 目录下: # cd /tmp # wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz # wget http://www.monkey.org/~provos/libevent-1.2.tar.gz 2.先安装libevent: # tar zxvf libevent-1.2.tar.gz # cd libevent-1.2 # ./configure -prefix=/usr # make (如果遇到提示gcc 没有安装则先安装gcc) # make install 3.测试libevent是否安装成功: # ls -al /usr/lib | grep

第三方库交叉编译

限于喜欢 提交于 2019-11-29 21:24:33
1、事件通知库libevent ./configure --prefix=/home/arm-libevent/ --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ 2、web服务器,lighttp https://blog.csdn.net/djstavav/article/details/88526586 来源: https://www.cnblogs.com/retry/p/11533203.html

【原创】modb 功能设计之“支持部分MySQL客户端协议”-1

那年仲夏 提交于 2019-11-29 09:55:33
在 《 modb 功能设计之“支持多消费者单生产者” 》中说到:需要有一个单独的线程来处理 sql 语句。本文就针对“ 支持部分 MySQL 客户端协议”做第一部分讲述。 最初的想法是,rabbitmq 客户端从 queue 消费到了包含 sql 语句的消息后,需要提取并分析该 sql 后,通过 MySQL 协议再要求数据库执行该 sql 语句。这就要求我这个 demo 必须实现了 MySQL 客户端侧所需的协议部分。要实现这个,有三种途径: 利用公司已有的 dbi 的库实现 MySQL 访问 基于 mysqlclient 库做开发实现 MySQL 客户端侧协议 自己实现 MySQL 客户端侧需要的协议 我的选择: 不打算用公司的 dbi 库,首先,该库基于了其他的公司库,而我并不想使用;其次,该库封装的也不是很好,之前我还查出了 4 处崩溃,不排除还有其他问题;最后,该库其实也是在 mysqlclient 上做的封装,和上面第 2条其实是一样的。所以,最终我决定选择第 2 种方式,自己搞个“山头”出来。 PS:其实开始的时候也想过采用上面的第 3 种方式,自己从底层开始实现如何支持 MySQL 客户端协议,结果“呵呵”了,难度和工作量不是一般的大~~ 确定基于什么来做开发后,该做下一步目标选择了: 直接使用 mysqlclient 提供的 API

Centos安装memcached服务器

橙三吉。 提交于 2019-11-29 09:51:40
我的版本为Centos Release 5.3 (Final) 使用这个命令可以知道你的Linux版本 cat /etc/redhat-release 首先要安装libevent库。 cd /usr/local/src curl -O http://monkey.org/~provos/libevent-1.4.10-stable.tar.gz tar xzvf libevent-1.4.10-stable.tar.gz cd libevent-1.4.10-stable ./configure –prefix=/usr/local make make install 接下来就是安装memcached cd /usr/local/src curl -O http://www.danga.com/memcached/dist/memcached-1.2.8.tar.gz tar xzvf memcached-1.2.8.tar.gz cd memcached-1.2.8 LDFLAGS=’-Wl,–rpath /usr/local/lib’ ./configure –prefix=/usr/local make make install 安装完毕后,用下面这个命令以用户root来运行memcache memcached -u root -d -m 64 -l 192.168.0

linux下使用 boost.python 调用c++动态库

烂漫一生 提交于 2019-11-29 07:24:18
最近开始使用 robot framework 测试c++的动态库,robot framework 是跑在 windows 上面,c++动态库是跑在远程linux主机上面。测试办法是让 robot framework 通过 SSHLIbrary 库执行远程机器上面的 python 脚本,python 脚本调用 C++ 动态库。所以现在要解决的是如何让python调用c++动态库。 python调用c++动态库的两种办法 在上网查资料和咨询同事之后,得到两种办法:第一种将C++动态库封装成C接口,让python调用C语言接口。由于python只能调用C接口,无法直接调用C++接口,所以需要一层封装。封装办法:使用extern “C”声明方式,在C++的接口之上,封装一层C语言接口。这种办法经过尝试,发现纯C调用可行,但是python调用不可行,下面会具体讲解原因。第二种办法是使用c++的boost库,生成供python调用的接口,经测试可行,但是过程很曲折,下文会具体讲解遇到的问题和解决办法。 理解extern “C”的本质 在讲述第一种办法之前,先简单介绍一下extern “C”方式的作用。具体讲解可以参考 这篇博客 ,讲的很详细,推荐阅读。举一个例子,在c语言中,有一个函数 int add(int a,int b); 如果使用gcc编译器,那么编译生成的名字就叫 add

Is there any modern review of solutions to the 10000 client/sec problem

北慕城南 提交于 2019-11-28 16:31:48
(Commonly called the C10K problem) Is there a more contemporary review of solutions to the c10k problem (Last updated: 2 Sept 2006), specifically focused on Linux (epoll, signalfd, eventfd, timerfd..) and libraries like libev or libevent? Something that discusses all the solved and still unsolved issues on a modern Linux server? The C10K problem generally assumes you're trying to optimize a single server, but as your referenced article points out "hardware is no longer the bottleneck". Therefore, the first step to take is to make sure it isn't easiest and cheapest to just throw more hardware

Linux下的Memcache安装

▼魔方 西西 提交于 2019-11-28 12:24:18
Linux下Mem cache 服务器 端的安装 服务 器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。 下载: http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz 另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的 系统 已经安装了libevent,可以不用安装) 官网: http://www.monkey.org/~provos/libevent/ 下载: http://www.monkey.org/~provos/libevent-1.3.tar.gz 用wget指令直接下载这两个东西.下载回源 文件 后。 1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr/local/libevent/;然后make;然后make install; 2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure –with-libevent=/usr/local/libevent/;然后make;然后make install;

webrtc(coturn服务器搭建)

两盒软妹~` 提交于 2019-11-28 04:52:32
coturn服务器安装 1下载并安装libevent-2.0 wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz tar zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable && ./configure make && make install 2下载编译安装coturn git clone https://github.com/coturn/coturn cd coturn ./configure make make install 输入which turnserver,如果打印出路径,说明安装成功 3 配置coturn 使用turnadmin生成安全访问密码 turnadmin -k -u username -r north.gov -p password /usr/local/etc/turnserver.conf配置 #listening-ip与relay-ip采用内网ip,external-ip是外网的ip listening-port=444 #监听端口 external-ip=210.21.53.158 #外网IP verbose fingerprint lt-cred-mech

libevent源码分析一--io事件响应

喜夏-厌秋 提交于 2019-11-27 10:31:14
这篇文章将分析libevent如何组织io事件,如何捕捉事件的发生并进行相应的操作。这里不会详细分析event与event_base的细节,仅描述io事件如何存储与如何响应。 1. select libevent的实现io事件的backend实际上使用的是io复用接口,如select, poll, epoll等,这里以最简单的select为例进行说明。首先简单介绍一下select接口: int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout); readfds, writefds, exceptfds均是文件描述符集合,调用该函数后,若readfds集合中的fd可读,或者writefds集合中的fd可写,或者exceptfds集合中的fd发生错误,或者阻塞的时间达到了timeout,函数返回。 函数返回0,返回结果readfds集合中包含了入参readfds中现在读不会被阻塞的fd,返回结果writefds包含了对应的写不会被阻塞的fd,exceptfds包含了所有发生异常的fd。如果超时,函数返回-1,这些集合为空。 可以看到,select调用需要传入感兴趣的io的文件描述符fd,而libevent中大家熟悉的是event_base