即时通讯项目--(1)环境搭建

我用的环境是Ubuntu20.04

基础工具安装

编辑器安装:

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

gflags安装

sudo apt-get install libgflags-dev

gtest安装

sudo apt-get install libgtest-dev

spdlog安装

sudo apt-get install libspdlog-dev

etcd安装

安装Etcd:

sudo apt-get install etcd

启动Etcd服务:

sudo systemctl start etcd

设置Etcd开机自启:

sudo systemctl enable etcd

安装etcd客户端api:etcd-cpp-apiv3

依赖安装:

sudo apt-get install libboost-all-dev libssl-dev

sudo apt-get install libprotobuf-dev protobuf-compiler-grpc

sudo apt-get install libgrpc-dev libgrpc++-dev

sudo apt-get install libcpprest-dev

api框架安装:

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

brpc安装

安装依赖

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

Elasticsearch安装

安装curl工具

sudo apt update && sudo apt install curl -y

添加 Elasticsearch GPG 密钥(避免apt-key警告)Elastic 的软件包需要验证签名,必须先导入官方 GPG 密钥。

创建trusted.gpg.d目录(若不存在)

sudo mkdir -p /etc/apt/trusted.gpg.d

导入密钥到指定的keyring文件,避免apt-key警告

curl -s https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --no-default-keyring --keyring gnupg:/etc/apt/trusted.gpg.d/elasticsearch.gpg --import

添加 Elasticsearch 软件源

将 Elastic 官方源写入 Ubuntu 的源列表文件,方便apt安装:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elasticsearch.list

更新软件包列表

sudo apt update

安装指定版本的 Elasticsearch 7.17.21

sudo apt-get install elasticsearch=7.17.21 -y

安装完成后,ES 的默认目录:

  • 配置文件:/etc/elasticsearch/
  • 安装目录:/usr/share/elasticsearch/
  • 日志目录:/var/log/elasticsearch/

启动并检查 ES 服务

启动ES服务

sudo systemctl start elasticsearch

设置开机自启(可选)

sudo systemctl enable elasticsearch

查看ES服务状态

sudo systemctl status elasticsearch.service

cpp-httplib安装

git clone https://github.com/yhirose/cpp-httplib.git

websocketpp安装

sudo apt-get install libboost-dev libboost-system-dev libwebsocketpp-dev

安装完毕后,若在 /usr/include 下有了 websocketpp目录就表示安装成功了

ls /usr/include/websocketpp/

base64 connection.hpp impl sha1

client.hpp endpoint_base.hpp logger transport

close.hpp endpoint.hpp message_buffer uri.hpp

common error.hpp processors utf8_validator.hpp

concurrency extensions random utilities.hpp

config frame.hpp roles version.hpp

connection_base.hpp http server.hpp

redis安装

sudo apt install redis -y

支持远程连接

修改 /etc/redis/redis.conf

• 修改 bind 127.0.0.1 为 bind 0.0.0.0

• 修改 protected-mode yes 为 protected-mode no

启动 Redis 服务

service redis-server start

停止 Redis 服务

service redis-server stop

重启 Redis 服务

service redis-server restart

redis-plus-plus安装

安装 hiredis

sudo apt install libhiredis-dev -y

下载 redis-plus-plus 源码

git clone https://github.com/sewenew/redis-plus-plus.git

编译/安装 redis-plus-plus

使用 cmake 构建

cd redis-plus-plus

mkdir build

cd build

cmake ..

make

make install # 这一步操作需要管理员权限. 如果是非 root 用户, 使用 sudo make install 执行.

构建成功后, 会在 /usr/local/include/ 中多出 sw 目录, 并且内部包含 redis-plus plus 的一系列头文件.

会在 /usr/local/lib/ 中多出一系列 libredis 库文件.

ODB2.5 版本安装

安装 build2 构建工具:

因为build2安装时,有可能会版本更新,从16变成17,或从17变18,因此注意, 先从build2官网查看安装步骤...

RabbitMQ安装

sudo apt install rabbitmq-server -y

查看 RabbitMQ 服务状态(应显示 active (running))

sudo systemctl status rabbitmq-server

启用 RabbitMQ 管理插件(可选,方便网页管理)

sudo rabbitmq-plugins enable rabbitmq_management

sudo systemctl restart rabbitmq-server

启用管理插件后,可在浏览器访问 http://虚拟机IP:15672,默认用户名 / 密码:guest/guest(仅本机访问有效,若需外部访问需额外配置)。

安装RabbitMQ客户端库

sudo apt-get install librabbitmq-dev

安装RabbitMQ的C++客户端库

• C语言库:https://github.com/alanxz/rabbitmq-c

• C++库: https://github.com/CopernicaMarketingSoftware/AMQP-CPP/tree/master

我们这里使用AMQP-CPP库来编写客户端程序。

安装 AMQP-CPP

sudo apt install libev-dev #libev 网络库组件
git clone https://github.com/CopernicaMarketingSoftware/AMQP-CPP.git

cd AMQP-CPP/

make

make install

相关推荐
Sheep Shaun几秒前
揭开Linux的隐藏约定:你的第一个文件描述符为什么是3?
linux·服务器·ubuntu·文件系统·缓冲区
Tfly__9 分钟前
在PX4 gazebo仿真中加入Mid360(最新)
linux·人工智能·自动驾驶·ros·无人机·px4·mid360
陈桴浮海10 分钟前
【Linux&Ansible】学习笔记合集二
linux·学习·ansible
迎仔11 分钟前
06-存储设备运维进阶:算力中心的存储管家
运维
生活很暖很治愈18 分钟前
Linux——环境变量PATH
linux·ubuntu
?re?ta?rd?ed?20 分钟前
linux中的调度策略
linux·运维·服务器
深圳市九鼎创展科技22 分钟前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
全栈工程师修炼指南27 分钟前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
hweiyu0032 分钟前
Linux 命令:tr
linux·运维·服务器
Trouvaille ~35 分钟前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议