Nginx
是一个轻量级的web服务器,可以支持反向代理、负载均衡,具有占用资源少,并发量大等特点。
下载
http://nginx.org/en/download.html
解压
tar -zxvf nginx-1.16.1.tar.gz ~
进行预编译
cd /root/nginx-1.16.1
./configure
如果报错 安装 gcc 和 PCRE
yum -y install gcc pcre-devel openssl openssl-devel
执行完 ./configure 会在nginx根目录下生成MakeFile
编译安装
make && make install
nginx 的安装目录
进入nginx的安装目录
cd cd /usr/local/nginx/
启动
sbin/nginx
netstat -anpt |grep nginx
实现负载均衡
将springboot的jar或者war包上传到不同服务器上
# 启动
nohup java -jar test-0.01.war >>./logs/log 2>&1 &
修改nginx的配置文件,让nginx实现负载均衡
vim /usr/local/nginx/conf/nginx.conf
http {
#响应数据来源 权重都为1 表示 按轮询的方式
upstream tomcats{
server node1.hadoop.com:8080 weight=1;
server node2.hadoop.com:8080 weight=1;
server node3.hadoop.com:8080 weight=1;
}
server {
# 表示将所有请求都转发到 tomcats 中
location ~ .* {
proxy_pass http://tomcats;
}
}
}
- 测试配置文件是否ok
sbin/nginx -t
#从新加载
sbin/nginx -s reload
nginx 整合 kafka
安装kafka的c库插件
cd /usr/local/src
git clone https://github.com/edenhill/librdkafka
cd librdkafka
# 编译
安装 gcc-c++ 等
yum install -y gcc-c++ pcre-devel zlib-devel
./configure
make && make install
下载 nginx-kafka插件
cd /usr/local/src
git clone https://github.com/brg-liuwei/ngx_kafka_module
编译nginx并将插件一同编译进去
cd nginx-1.16.1
./configure --add-module=/usr/local/src/ngx_kafka_module
make && make install
配置
vim config/nginx.conf
http{
kafka;
kafka_broker_list 127.0.0.1:9092 127.0.0.1:9093;
server {
# some other configs
# 指定kafka /kafka/track 表示一个路径,请求该路径会将数据写入名为 track的topic
location = /kafka/track {
# optional directive: kafka_partition [<partition-num> | auto]
#
# kafka_partition auto; # default value
# kafka_partition 0;
# kafka_partition 1;
#要写入 kafka 的 topic
kafka_topic track;
}
}
}
启动zk & kafka 并创建topic
启动nginx
启动之前要将kafka c本地动态链接库加载到系统
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
sbin/nginx -t
sbin/nginx
# 向nginx 发送请求 参数 为-d后面的值
curl localhost/kafka/trank -d "message send to kafka topic"