• 17.win10安装Nginx及负载均衡配置,实现代理访问内网机器


    1.去官网下载nginx

    http://nginx.org/download/nginx-1.16.1.zip

    2.解压并修改配置文件

    nginx-1.16.1conf ginx.conf


    ######## Nginx的main(全局配置)文件
    #指定nginx运行的用户及用户组,默认为nobody
    #user nobody;

    #开启的线程数,一般跟逻辑CPU核数一致
    worker_processes 1;

    #定位全局错误日志文件,级别以notice显示,还有debug,info,warn,error,crit模式,debug输出最多,crir输出最少,根据实际环境而定
    #error_log logs/error.log;
    #error_log logs/error.log notice;
    #error_log logs/error.log info;

    #指定进程id的存储文件位置
    #pid logs/nginx.pid;

    #指定一个nginx进程打开的最多文件描述符数目,受系统进程的最大打开文件数量限制
    #worker_rlimit_nofile 65535

    #事件
    events {

    #设置工作模式为epoll,除此之外还有select,poll,kqueue,rtsig和/dev/poll模式
    #use epoll;

    #定义每个进程的最大连接数,受系统进程的最大打开文件数量限制。
    worker_connections 1024;
    }

    #######Nginx的Http服务器配置,Gzip配置
    http {
    #主模块指令,实现对配置文件所包含的文件的设定,可以减少主配置文件的复杂度,DNS主配置文件中的zonerfc1912,acl基本上都是用include语句。
    include mime.types;

    #核心模块指令,智力默认设置为二进制流,也就是当文件类型未定义时使用这种方式
    default_type application/octet-stream;

    #下面代码为日志格式的设定,main为日志格式的名称,可自行设置,后面引用
    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    # '$status $body_bytes_sent "$http_referer" '
    # '"$http_user_agent" "$http_x_forwarded_for"';

    #引用日志main
    #access_log logs/access.log main;

    #设置允许客户端请求的最大的单个文件字节数
    #client_max_body_size 20M;

    #指定来自客户端请求头的headebuffer大小
    #client_header_buffer_size 32k;

    #指定连接请求试图写入缓存文件的目录路径
    #client_body_temp_path /dev/shm/client_body_temp;

    #指定客户端请求中较大的消息头的缓存最大数量和大小,目前设置为4个32KB
    #large client_header_buffers 4 32k;

    #开启高效文件传输模式
    sendfile on;

    #开启防止网络阻塞
    #tcp_nopush on;

    #开启防止网络阻塞
    #tcp_nodelay on;

    #设置客户端连接保存活动的超时时间
    #keepalive_timeout 0;
    keepalive_timeout 65;

    #设置客户端请求读取超时时间
    #client_header_timeout 10;

    #设置客户端请求主体读取超时时间
    #client_body_timeout 10;

    #用于设置相应客户端的超时时间
    #send_timeout

    ####HttpGZip模块配置
    #httpGzip modules

    #开启gzip压缩
    #gzip on;

    #设置允许压缩的页面最小字节数
    #gzip_min_length 1k;

    #申请4个单位为16K的内存作为压缩结果流缓存
    #gzip_buffers 4 16k;

    #设置识别http协议的版本,默认为1.1
    #gzip_http_version 1.1;

    #指定gzip压缩比,1-9数字越小,压缩比越小,速度越快
    #gzip_comp_level 2;

    #指定压缩的类型
    #gzip_types text/plain application/x-javascript text/css application/xml;

    #让前端的缓存服务器进过gzip压缩的页面
    #gzip_vary on;

    #########Nginx的server虚拟主机配置
    server {

    #监听端口为 80
    listen 1000;

    #设置主机域名
    server_name localhost;

    #设置访问的语言编码
    #charset koi8-r;

    #设置虚拟主机访问日志的存放路径及日志的格式为main
    #access_log logs/host.access.log main;

    #设置虚拟主机的基本信息
    location / {
    #设置虚拟主机的网站根目录
    root html;
    #设置虚拟主机默认访问的网页
    index index.html index.htm;
    }
    }

    #============================= zkui =============================
    upstream zkui_svr {
    server 192.168.88.61:9090;
    server 192.168.88.62:9090;
    ip_hash;
    }
    server {
    listen 1010;
    server_name localhost;
    location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Nginx-Proxy true;
    proxy_redirect off;
    proxy_pass http://zkui_svr;
    }
    }

    #============================= zabbix =============================
    upstream zabbix_svr {
    server 192.168.88.83;
    }
    server {
    listen 1020;
    server_name localhost;
    location /zabbix {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Nginx-Proxy true;
    proxy_redirect off;
    proxy_pass http://zabbix_svr/zabbix;

    }
    }
    #============================= git =============================
    upstream git_svr {
    server 192.168.88.81;
    }
    server {
    listen 1030;
    server_name localhost;
    location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Nginx-Proxy true;
    proxy_redirect off;
    proxy_pass http://git_svr;

    }
    }
    }

    stream {
    #============================= mysql_write =============================
    upstream mysql_svr_write {
    server 192.168.88.51:3306 weight=1 max_fails=3 fail_timeout=30s;
    }
    server {
    listen 33061;
    proxy_connect_timeout 10s;
    proxy_timeout 30s;
    proxy_pass mysql_svr_write;
    }
    #============================= mysql_read =============================
    upstream mysql_svr_read {
    server 192.168.88.52:3306 weight=1 max_fails=3 fail_timeout=30s;
    }
    server {
    listen 33062;
    proxy_connect_timeout 10s;
    proxy_timeout 30s;
    proxy_pass mysql_svr_read;
    }
    #============================= redis_write =============================
    upstream redis_svr_write{
    server 192.168.88.51:6379 weight=1 max_fails=3 fail_timeout=30s;
    }
    server {
    listen 63791;
    proxy_connect_timeout 10s;
    proxy_timeout 30s;
    proxy_pass redis_svr_write;
    }
    #============================= redis_read =============================
    upstream redis_svr_read{
    server 192.168.88.52:6379 weight=1 max_fails=3 fail_timeout=30s;
    }
    server {
    listen 63792;
    proxy_connect_timeout 10s;
    proxy_timeout 30s;
    proxy_pass redis_svr_read;
    }
    }

    附属命令:

    重新加载配置
    nginx -s reload
    完整有序的停止nginx
    nginx -s quit
  • 相关阅读:
    qt调用simsimi api实现小黄鸡
    [机器学习系列] k-近邻算法(K–nearest neighbors)
    Ubuntu上安装flashplayer
    关于ubuntu下qt编译显示Cannot connect creator comm socket /tmp/qt_temp.xxx/stub-socket的解决办法
    Linux下添加源的几种方法
    Ubuntu字符界面输入密码始终提示错误 login incorrect 解决办法
    boost::algorithm(字符串算法库)
    boost::assign(标准容器填充库)
    boost::format(字符串格式化库)
    C/C++内存对齐 ZZ
  • 原文地址:https://www.cnblogs.com/ff111/p/14340541.html
Copyright © 2020-2023  润新知