即时通讯项目--(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

相关推荐
不做无法实现的梦~1 天前
PX4编译环境配置和qgc配置安装教程(2)
linux·stm32
齐鲁大虾1 天前
Linux下用什么编程语言方便开发B/S架构程序
linux·运维·架构
范纹杉想快点毕业1 天前
状态机设计与嵌入式系统开发完整指南从面向过程到面向对象,从理论到实践的全面解析
linux·服务器·数据库·c++·算法·mongodb·mfc
三块钱07941 天前
群晖docker部署Mattermost,对接openclaw
运维·docker·容器
博客-小覃1 天前
内网穿透/端口映射之二层穿透访问”FTP共享文件“示例操作教程
运维·服务器·网络
峥嵘life1 天前
Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·学习
珠海西格1 天前
光伏电站全景感知体系:数据采集与设备状态监测技术
大数据·运维·服务器·数据库·人工智能
prettyxian1 天前
【linux】进程控制(1):从fork创建到wait回收
linux
来来走走1 天前
rocky linux 9.7安装mysql 8.4+
linux·数据库·mysql
大黄说说1 天前
深入理解 Linux 权限机制:文件、用户与访问控制全解析
linux·运维·服务器