网站首页 > 技术教程 正文
背景
在实际的项目中,我们经常会遇到各种网络域的隔离,通常各个网络域之间的通信,我们会通过nginx做代理,进行转发。那kafka的消息可以通过nginx转发吗,答案是肯定的。今天分享给大家详细的过程。美好的一天,从分享开始,加油!
准备
- kafka,版本2.13-3.0.0
- nginx,版本1.9.9
环境搭建
安装kafka
首先需要安装kafka,已安装好的可以忽略,没安装好的,可以参考我前面的文章,链接如下: https://juejin.cn/post/7075897456373792775
安装nginx
安装nginx-kafka插件
安装git
如果已安装可以忽略(也可以从本地上传)
gityum install -y git
找一个目录,将librdkafka依赖包克隆下来,这里我使用的目录是 /usr/local/src,在这个目录下执行
git clone https://github.com/edenhill/librdkafka
进入librdkafka进行编译
先安装依赖相关依赖
yum install -y gcc gcc-c++ pcre-devel zlib-devel
编译librdkafka插件,依次执行下列命令
cd librdkafka
./configure
make
make install
nginx集成librdkafka插件
#解压
tar -zxvf nginx-1.9.9.tar.gz
cd nginx-1.9.9/
#安装依赖
yum -y install gcc pcre-devel openssl openssl-devel
#预编译时将插件同时编译,后面跟的目录是 克隆的nginx整合kafka的插件的目录
./configure --add-module=/usr/local/src/ngx_kafka_module/
#编译
make
make install
修改nginx配置
安装后在/usr/local/下会有一个nginx目录(此处使用的是nginx默认安装目录,也可以预编译的时设置自定义目录) 在nginx的conf目录下的nginx.conf配置文件添加内容如下:
此时所有的安装配置就已经全部完成了。
启动nginx时可能出现的问题
如果在启动过程中,报错error while loading shared libraries: librdkafka.so.1: cannot open shared object file: No such file or directory 解决方法为: 执行下列命令
echo “/usr/local/lib” >> /etc/ld.so.conf
ldconfig
测试
测试前检查工作
- 确定kafka安装完成并启动
- 确定kafka创建了名字叫test的topic
- 确定nginx启动
- 如果是云服务器需要确定9092端口已经开放
发送消息
curl http://ip:端口/kafka/test -d "测试"
需要源码的可以关注公众号【温故知新之java】,更多干货与你分享。
猜你喜欢
- 2024-10-11 文件上传漏洞是什么?这么通俗易懂的讲解真的很难得!
- 2024-10-11 记录一次Ng+.NetCore大文件上传的错误排查
- 2024-10-11 php nginx 修改文件上传最大大小(nginx 文件大小限制)
- 2024-10-11 利用Nginx实现免上传安装zabbix agent
- 2024-10-11 Nginx入门到实战-常见问题(nginx操作)
- 2024-09-21 H5+JAVA的文件上传,断点续传(h5加java)
- 2024-09-21 运维必备核心技能-nginx实现web服务配置
- 2024-09-21 如何用 Python 快速实现 HTTP 和 FTP 服务器
- 2024-09-21 实战Django:轻松解决上传图片无法显示的问题
- 2024-09-21 如何实现大文件上传、断点续传、切片上传
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)