🛠️ 聊天室后台环境搭建指南
一、基础开发工具安装
bash
# 编辑器
sudo apt-get install vim
# 编译器
sudo apt-get install gcc g++
# 调试器
sudo apt-get install gdb
# 项目构建工具
sudo apt-get install make cmake
# 文件传输工具
sudo apt-get install lrzsz
# 版本管理工具
sudo apt-get install git
二、C++开发框架安装
1. 基础框架
bash
# gflags - 命令行参数解析
sudo apt-get install libgflags-dev
# gtest - 单元测试框架
sudo apt-get install libgtest-dev
# spdlog - 日志输出框架
sudo apt-get install libspdlog-dev
2. 网络通信框架
bash
# brpc - RPC框架(先安装依赖)
sudo apt-get install -y git g++ make libssl-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev
# 编译安装brpc
git clone https://github.com/apache/brpc.git
cd brpc/
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr .. && cmake --build . -j6
make && sudo make install
3. HTTP/WebSocket框架
bash
# cpp-httplib - HTTP服务器
git clone https://github.com/yhirose/cpp-httplib.git
# websocketpp - WebSocket服务器
sudo apt-get install libwebsocketpp-dev
# 验证安装:ls /usr/include/websocketpp/
三、数据库与存储系统
1. Redis - 缓存与会话管理
bash
# 安装Redis
sudo apt install redis -y
# 配置Redis(支持远程连接)
sudo vim /etc/redis/redis.conf
# 修改以下配置:
# bind 0.0.0.0 # 允许所有IP连接
# protected-mode no # 关闭保护模式
# 启动Redis
sudo systemctl start redis-server
sudo systemctl enable redis-server
# 安装Redis客户端SDK
sudo apt install libhiredis-dev
git clone https://github.com/sewenew/redis-plus-plus.git
cd redis-plus-plus
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make && sudo make install
2. MySQL - 关系型数据库
bash
# 安装MySQL
sudo apt install mysql-server
sudo apt install -y libmysqlclient-dev
# 配置MySQL字符集和远程访问
sudo vim /etc/mysql/my.cnf
# 添加以下内容:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
bind-address = 0.0.0.0
# 重启MySQL
sudo systemctl restart mysql
sudo systemctl enable mysql
3. ODB - 数据库ORM框架
bash
# 安装build2(耗时1-3小时)
curl -sSf0 https://download.build2.org/0.17.0/build2-install-0.17.0.sh
sh build2-install-0.17.0.sh
# 安装ODB编译器
sudo apt-get install gcc-11-plugin-dev
mkdir odb-build && cd odb-build
bpkg create -d odb-gcc-N cc config.cxx=g++ config.cc.coptions=-03 config.bin.rpath=/usr/lib config.install.root=/usr/ config.install.sudo=sudo
cd odb-gcc-N
bpkg build odb@https://pkg.cppget.org/1/beta
bpkg install odb
# 设置环境变量
export PATH=${PATH}:/usr/local/bin
四、搜索与消息队列
1. Elasticsearch - 全文搜索引擎
bash
# 安装Elasticsearch 7.17.21
curl -s https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/icsearch.gpg --import
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elasticsearch.list
sudo apt update
sudo apt-get install elasticsearch=7.17.21
# 安装中文分词插件
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/7.17.21
# 配置ES(允许外部访问)
sudo vim /etc/elasticsearch/elasticsearch.yml
# 修改:
# network.host: 0.0.0.0
# http.port: 9200
# 启动ES
sudo systemctl restart elasticsearch
sudo systemctl enable elasticsearch
# 安装Kibana(ES可视化工具)
sudo apt install kibana
sudo vim /etc/kibana/kibana.yml
# 修改:
# server.port: 5601
# server.host: "0.0.0.0"
# elasticsearch.hosts: ["http://localhost:9200"]
sudo systemctl start kibana
sudo systemctl enable kibana
2. RabbitMQ - 消息队列
bash
# 安装RabbitMQ
sudo apt install rabbitmq-server
# 启动服务
sudo systemctl start rabbitmq-server
# 创建管理员用户
sudo rabbitmqctl add_user root 123456
sudo rabbitmqctl set_user_tags root administrator
sudo rabbitmqctl set_permissions -p / root "." "." ".*"
# 开启Web管理界面
sudo rabbitmq-plugins enable rabbitmq_management
# 访问地址:http://服务器IP:15672
五、服务发现与分布式协调
Etcd - 服务注册与发现
bash
# 安装etcd
sudo apt-get install etcd
sudo systemctl start etcd
sudo systemctl enable etcd
# 安装etcd C++客户端
sudo apt-get install libboost-all-dev protobuf-compiler-grpc
sudo apt-get install libgrpc-dev libgrpc++-dev
sudo apt-get install libcpprest-dev
git clone https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3.git
cd etcd-cpp-apiv3
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make -j$(nproc) && sudo make install
六、客户端SDK安装
1. Elasticsearch客户端
bash
sudo apt-get install libmicrohttpd-dev
git clone https://github.com/seznam/elasticlient.git
cd elasticlient
git submodule update --init --recursive
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make && sudo make install
2. RabbitMQ客户端
bash
sudo apt-get install librabbitmq-dev
git clone https://github.com/CopernicaMarketingSoftware/AMQP-CPP.git
cd AMQP-CPP/
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make && sudo make install
sudo apt install libev-dev # 网络库组件
七、验证安装
1. 验证ODB安装
bash
odb --version
# 如果找不到命令,执行:
export PATH=${PATH}:/usr/local/bin
2. 验证WebSocketPP安装
bash
ls /usr/include/websocketpp/
# 应该能看到相关头文件
3. 验证服务状态
bash
# 检查Redis
sudo systemctl status redis-server
# 检查MySQL
sudo systemctl status mysql
# 检查Elasticsearch
sudo systemctl status elasticsearch
# 检查RabbitMQ
sudo systemctl status rabbitmq-server
🎯 环境搭建总结
这个环境搭建指南涵盖了聊天室项目所需的所有依赖组件,包括:
- 开发工具:编译器、调试器、构建工具
- 网络框架:HTTP、WebSocket、RPC通信
- 数据存储:Redis缓存、MySQL数据库
- 搜索系统:Elasticsearch全文搜索
- 消息队列:RabbitMQ异步处理
- 服务发现 :Etcd分布式协调
按照这个指南逐步安装,就可以搭建完整的聊天室后台开发环境。