/ChatServer

可以工作在nginx tcp负载均衡环境中的集群聊天服务器和客户端源码 基于nuduo库实现 使用了redis发布订阅消息队列 数据库采用MySQL

Primary LanguageC++

ChatServer简介

可以工作在nginx tcp负载均衡环境中的集群聊天服务器和客户端源码 基于nuduo库实现 使用了redis发布订阅消息队列 数据库采用MySQL

环境配置

nginx配置tcp负载均衡

安装好nginx后,进入nginx的配置文件所在目录

cd /usr/local/nginx/conf

打开该目录下的nginx.conf文件,向其中加入如下配置代码

stream 
{
  upstream MyServer
  {
    server 127.0.0.1:6000 weight=1 max_fails=3 fail_timeout=30s;
    server 127.0.0.1:6002 weight=1 max_fails=3 fail_timeout=30s;
  }

  server 
  {
    proxy_connect_timeout 1s;
    listen 8000;
    proxy_pass MyServer;
    tcp_nodelay on;
  }
}

保存并退出,完成配置。

安装redis的C++库hiredis

系统要安装好redis,安装步骤不赘述。 从github上下载hiredis客户端:

git clone https://github.com/redis/hiredis

进入hiredis源码目录:

cd hiredis

进行编译:

make

安装:

sudo make install

拷贝生成的动态库到/usr/local/lib目录下:

sudo ldconfig /usr/local/lib

安装完成!

编译项目

直接运行项目根目录下的脚本文件auto_build.sh即可自动完成编译。

手动编译方法如下:

进入项目根目录后,再进入build目录:

cd build
cmake ..
make

完成编译!