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"
