美文网首页
Nginx 安装和负载均衡配置

Nginx 安装和负载均衡配置

作者: Rex_2013 | 来源:发表于2020-07-22 09:48 被阅读0次

前言

为了提高日志采集服务系统高可用和负载均衡 使用了Nginx来实现
采集系统架构如下


image.png

安装

步骤 1: 使用 yum 安装依赖包

sudo yum -y install    openssl openssl-devel pcre pcre-devel    zlib zlib-devel gcc gcc-c++

步骤 2: 下载 Nginx

/opt/software » wget http://nginx.org/download/nginx-1.12.2.tar.gz

步骤 3: 解压

tar -zxvf nginx-1.12.2.tar.gz -C /opt/module

步骤 4: 编译和安装

cd /opt/module/nginx-1.12.2
su root
./configure   --prefix=/usr/local/webserver/nginx
make&&make install

步骤 5: 启动 Nginx

cd  /usr/local/webserver/nginx
sbin/nginx
sbin/nginx -s stop
sbin/nginx -s reload

注意:
• Nginx 默认使用的是 80 端口, 由于非root用户不能使用 1024 以内的端口, 所以建议使用 root 用户启动 Nginx
• 如果使用普通用户启动 Nginx, 需要先执行下面的命令来突破上面的限制:sudo setcap cap_net_bind_service=+eip /usr/local/webserver/nginx

步骤 6: 查看是否启动成功

[root@node07 nginx-1.12.2]# netstat -an | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
unix  2      [ ]         DGRAM                    88059

[root@node07 nginx-1.12.2]# ps -ef | grep nginx
root     19472     1  0 Jul21 ?        00:00:00 nginx: master process sbin/nginx
nobody   19473 19472  0 Jul21 ?        00:00:03 nginx: worker process
root     23479 16485  0 09:19 pts/0    00:00:00 grep --color=auto nginx

通过网页访问: http://node07

image.png

配置负载均衡

步骤 1: 修改/usr/local/webserver/nginx/conf/nginx.conf

增加如下配置:

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

# 配置上游服务器: 其实就被代理的服务器, springboot
    upstream logserver{
        server node06:8686 weight=1;
        server node07:8686 weight=1;
        server node08:8686 weight=1;
    }

    server {
        listen       80;
        server_name  192.168.2.168;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            # 配置代理
            proxy_pass http://logserver;
            proxy_connect_timeout 10;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
       
    }

}

步骤 2: 分发数据采集服务器的 jar 包

开发好的日志采集服务 springboot服务

步骤 3: 启动 Ngin

步骤 4: 分别在 3 个节点启动 jar 为了方便启动制作统一启动脚本logCluster.sh

vim ~/bin/logCluster.sh
#!/bin/bash
case $1 in
"start"){
for i in node06 node07 node08
do
echo "========启动日志服务: $i==============="
ssh $i "source /etc/profile ; java -jar /opt/jars/log-service.jar  >/dev/null 2>&1  &"
done
};;
"stop"){
for i in  node06 node07 node08
do
echo "========关闭日志服务: $i==============="
ssh $i "ps -ef|grep log-service.jar  | grep -v grep|awk '{print \$2}'|xargs kill" > /dev/null 2>&1
done
};;
*)
{
echo 启动姿势不对, 请使用参数 start 启动日志服务, 使用参数 stop 停止服务
};;
esac

启动脚本

logCluster.sh start

步骤 5: 做测试

查看落盘目录中是否有产生的日志.

相关文章

网友评论

      本文标题:Nginx 安装和负载均衡配置

      本文链接:https://www.haomeiwen.com/subject/vbtzkktx.html