1. 下载安装nginx

注意 因为stream 并不是 nginx自带的module  所以需要 在安装是 通过 --with 的方式增加上.

下载必要的程序包

# openssl
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
#zilib
wget http://www.zlib.net/zlib-1.2.11.tar.gz
#pcre
wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz
#nginx
wget http://nginx.org/download/nginx-1.17.3.tar.gz

2. 解压缩

tar -zxvf xxxx.tar.gz

3. 分别进行安装

. 首先  使用 tar 包 安装上 zlib openssh 以及 pcre 三个包
Firest 进入解压缩好的目录
./configure or ./config
second
make && make install . 进行安装nginx
#进入nginx 的目录
执行配置.
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_gzip_static_module --with-stream --with-stream_ssl_module
# 注意 stream 就可以进行 TCP层的反向代理了. 参考网站:https://blog.csdn.net/jijiuqiu6646/article/details/78675891

4. 问题解决.

打开nginx 时会报错 如下:
[root@k8smaster sbin]# ./nginx
./nginx: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
[root@k8smaster sbin]# openssl version
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

解决方法为:

参考网站:

https://blog.csdn.net/caohongshuang/article/details/78031978

查看 依赖关系
ldd $(which /usr/local/nginx/sbin/nginx)

[root@k8smaster sbin]# ldd $(which /usr/local/nginx/sbin/nginx)
linux-vdso.so.1 => (0x00007ffe6b5f2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f95a7389000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f95a716d000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f95a6f36000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f95a6cd4000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f95a6a42000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f95a6559000)
libz.so.1 => /lib64/libz.so.1 (0x00007f95a6343000)
libc.so.6 => /lib64/libc.so.6 (0x00007f95a5f76000)
/lib64/ld-linux-x86-64.so.2 (0x00007f95a758d000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f95a5d73000)

进入到openssl 相关的目录 进行 软连接处理

[root@k8smaster sbin]# cd /usr/local/lib64/
[root@k8smaster lib64]# ll
total 10468
drwxr-xr-x 2 root root 55 Sep 2 18:26 engines-1.1
-rw-r--r-- 1 root root 5619436 Sep 2 18:26 libcrypto.a
lrwxrwxrwx 1 root root 16 Sep 2 18:26 libcrypto.so -> libcrypto.so.1.1
-rwxr-xr-x 1 root root 3383960 Sep 2 18:26 libcrypto.so.1.1
-rw-r--r-- 1 root root 1022072 Sep 2 18:26 libssl.a
lrwxrwxrwx 1 root root 13 Sep 2 18:26 libssl.so -> libssl.so.1.1
-rwxr-xr-x 1 root root 684992 Sep 2 18:26 libssl.so.1.1
drwxr-xr-x 2 root root 61 Sep 2 18:26 pkgconfig
[root@k8smaster lib64]# ln libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@k8smaster lib64]# ln libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

5. 修改nginx配置文件.

注意 第三步 nginx的 configure 时有一个配置简述

Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ using system zlib library nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"

这里面就可以看到配置文件的位置了. 进行修改可以.

vim /usr/local/nginx/conf/nginx.conf

增加上与 http 同级的配置节:

stream{
server {
listen ;
proxy_pass 10.24.14.56:;
}
} # 注意 第一点 需要有 分号 我经常忘记
# 第二点 大括号要处理好. 如果 80 端口已经使用的花 可以在http 里面讲 80端口修改一下就可以了.

6. 启动以及验证

/usr/local/nginx/sbin/nginx -s reload

7. 验证负载均衡

修改配置节的内容:

stream{
upstream zhaobsh{
server 10.24.14.56:;
server 10.24.210.11:;
}
server {
listen ;
proxy_pass zhaobsh;
}
}

验证效果为:

Linux 下面安装 nginx 以及进行TCP反向代理、负载均衡的过程的更多相关文章

  1. nginx之rewrite重写,反向代理,负载均衡

    rewrite重写(伪静态): 在地址栏输入xx.com/user-xxx.html, 实际上访问的就是xxx.com/user.php?id=xxx rewrite就这么简单 附上ecshop re ...

  2. 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

  3. 【05】Nginx:TCP / 正向 / 反向代理 / 负载均衡

    写在前面的话 在我们日常的工作中,不可能所有的服务都是简单的 HTML 静态网页,nginx 作为轻量级的 WEB 服务器,其实我们将它用于更多的地方还是作为我们网站的入口.不管你是后端接口,还是前端 ...

  4. nginx 详解反向代理负载均衡

    什么是反向代理负载均衡 使用代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式显然可以提升静态网页的访问速度.因此也可以考虑使用这种技术,让代理服务器将请求 均匀转发给多台内部Web服务器 ...

  5. 反向代理负载均衡-----nginx

    一:集群 1.1:集群的概念    集群是一组相互独立的.通过高速网络互联的计算机,他们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高 ...

  6. 在Linux上使用Nginx为Solr集群做负载均衡

    在Linux上使用Nginx为Solr集群做负载均衡 在Linux上搭建solr集群时需要用到负载均衡,但测试环境下没有F5 Big-IP负载均衡交换机可以用,于是先后试了weblogic的proxy ...

  7. 项目实战2.2—nginx 反向代理负载均衡、动静分离和缓存的实现

    实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP ...

  8. Nginx 反向代理 负载均衡 虚拟主机配置

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  9. Nginx 反向代理 负载均衡 虚拟主机

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

随机推荐

  1. Reflect对象

    一.Reflect对象基础 Reflect对象是ES6出现的新的API,用于操作对象内部的方法. 特点: 1. 对于操作有明确的返回结果.如返回布尔值表示操作成功与否 2. 和Proxy的拦截方法一一 ...

  2. 顺序表应用7:最大子段和之分治递归法(SDUT 3664)

    #include <bits/stdc++.h> using namespace std; const int maxn = 50005; int num = 0; struct node ...

  3. 8月清北学堂培训 Day3

    今天是赵和旭老师的讲授~ 状态压缩 dp 状态压缩是设计 dp 状态的一种方式. 当普通的 dp 状态维数很多(或者说维数与输入数据有关),但每一维总量很少时,可以将多维状态压缩为一维来记录. 这种题 ...

  4. 基于Ryu REST API的VLAN实现

    目录 0.预备知识 1.实验内容 2.编写脚本addflow.sh一步实现流表下发 3.使用api查看流表 4.实验结果 0.预备知识 ryu控制器的API文档:ryu.app.ofctl_rest ...

  5. 分享一个seata demo,讲两个个问题

    Seata,阿里开源的分布式事务框架,多的我就不介绍了,了解详细介绍,请看官网.seata spring boot入门,可以看我上一篇博客<Spring boot微服务如何集成fescar解决分 ...

  6. Linux设备驱动程序 之 tasklet

    多数情况下,为了控制一个寻常的硬件设备,tasklet机制都是实现自己下半部的最佳选择:tasklet可以动态创建,使用方便,执行起来还算快: 声明tasklet tasklet既可以静态的创建,也可 ...

  7. eclipse java

    1Java:Java是由Sun Microsystems公司推出的Java面向对象程序设计语言和Java平台的总称. 2.Eclipse:Eclipse 是一个开放源代码的.基于Java的可扩展开发平 ...

  8. linux下docker如何指定容器的工作目录?

    答: 启动容器时传入-w <work_dir>参数即可,如: docker run -it -w <work_dir> <container_image_name> ...

  9. Java同步数据结构之ConcurrentLinkedDeque

    前言 由于LinkedBlockingDeque作为双端队列的实现,采用了单锁的保守策略使其不利于多线程并发情况下的使用,故ConcurrentLinkedDeque应运而生,它是一种基于链表的无界的 ...

  10. Swift 基本语法

    如果创建的是 OS X playground 需要引入 Cocoa : import Cocoa /* 我的第一个 Swift 程序 */ var myString = "Hello, Wo ...