说明:

安装方式是源码编译安装,因此先安装相关依赖,否则报错。

yum -y install gcc* patch openssl openssl-devel

安装步骤:

  1. 下载nginx源码包:
  2. wget http://nginx.org/download/nginx-1.2.9.tar.gz
  3. 下载插件源码包:
  4. wget https://codeload.github.com/chobits/ngx_http_proxy_connect_module/zip/master -O ngx_http_proxy_connect.zip
  5. 解压nginx源码包:
  6. tar -zxvf nginx-1.15.5.tar.gz
  7. 解压nginx插件源码包:
  8. unzip ngx_http_proxy_connect.zip -d ./
  9. 添加插件补丁:先进入nginx的源码包,cd nginx-1.2.9,然后运行下面命令:
  10. patch -p1 < ../ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_1015.patch
  11. patch -p1 < ../nginx_tcp_proxy_module-master/tcp.patch
  12. 运行配置nginx
  13. ./configure --with-http_ssl_module --add-module=../ngx_http_proxy_connect_module-master/ --add-module=../nginx_tcp_proxy_module-master/ --without-http_rewrite_module
  14. 编译及安装:
  15. make && make install

默认安装的路径是:/usr/local/nginx

将文档中提供的nginx.conf放置到安装好的conf目录下,

启动:./sbin/nginx

关闭:./sbin/nginx -s quit

平滑重启:./sbin/nginx -s reload

参考配置:

  1. #user nobody;
  2. worker_processes 1;
  3.  
  4. error_log logs/error.log;
  5. #error_log logs/error.log notice;
  6. #error_log logs/error.log info;
  7.  
  8. #pid logs/nginx.pid;
  9.  
  10. events {
  11. worker_connections 1024;
  12. }
  13.  
  14. http {
  15.  
  16. #正向代理
  17. server {
  18. #正向代理的端口
  19. listen 9080;
  20. #dns,支持配置多个
  21. resolver 132.29.29.29;
  22. #开启插件支持https tunnel
  23. #proxy_connect;
  24. #proxy_connect_allow 443;
  25. #proxy_connect_connect_timeout 10s;
  26. #proxy_connect_read_timeout 40s;
  27. #proxy_connect_send_timeout 40s;
  28. #location / {
  29. # proxy_pass http://$host;
  30. # proxy_set_header Host $host;
  31. # proxy_buffers 256 4k;
  32. # proxy_max_temp_file_size 0;
  33. #}
  34. }
  35.  
  36. #反向代理上游服务器-反向代理tpp-zuul-pre,支持配置多个
  37. upstream srv_tpp-zuul-pre {
  38. ip_hash;
  39. server 172.168.168.108:80;
  40. server 172.168.168.114:80;
  41. }
  42.  
  43. #反向代理
  44. server {
  45. listen 8080;
  46. listen 443 ssl;
  47. #ssl on;
  48. ssl_certificate 1613208__hcepay.com.pem;
  49. ssl_certificate_key 1613208__hcepay.com.key;
  50. ssl_session_timeout 5m;
  51. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  52. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  53. ssl_prefer_server_ciphers on;
  54. server_name 127.0.0.1;
  55. location / {
  56. proxy_pass http://srv_tpp-zuul-pre;
  57. }
  58. }
  59. upstream srv_fama
  60. {
  61. ip_hash;
  62. server 172.168.168.112:8080;
  63. server 172.168.168.119:8080;
  64. }
  65. server {
  66. listen 8081;
  67. server_name 127.0.0.1;
  68. location / {
  69. proxy_redirect off;
  70. proxy_set_header Host $host;
  71. proxy_set_header X-Real-IP $remote_addr;
  72. proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
  73. proxy_pass http://srv_fama;
  74. }
  75. }
  76. upstream srv_acc-pre
  77. {
  78. ip_hash;
  79. server 172.168.168.107:8764;
  80. server 172.168.168.113:8764;
  81. }
  82. server {
  83. listen 8764;
  84. server_name 127.0.0.1;
  85. location / {
  86. proxy_redirect off;
  87. proxy_set_header Host $host;
  88. proxy_set_header X-Real-IP $remote_addr;
  89. proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
  90. proxy_pass http://srv_acc-pre;
  91. }
  92. }
  93. upstream srv_redis
  94. {
  95. ip_hash;
  96. server 172.168.168.119:7000;
  97. server 172.168.168.119:7001;
  98. server 172.168.168.119:7002;
  99. server 172.168.168.119:7003;
  100. server 172.168.168.119:7004;
  101. server 172.168.168.119:7005;
  102. }
  103. server {
  104. listen 6379;
  105. server_name 127.0.0.1;
  106. location / {
  107. proxy_redirect off;
  108. proxy_set_header Host $host;
  109. proxy_set_header X-Real-IP $remote_addr;
  110. proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
  111. proxy_pass http://srv_redis;
  112. }
  113. }
  114. }
  115.  
  116. tcp {
  117. upstream srv_tpp-webgate {
  118. ip_hash;
  119. server 172.168.168.108:5001;
  120. server 172.168.168.114:5001;
  121. check interval=3000 rise=2 fall=5 timeout=1000;
  122. }
  123. server {
  124. listen 5001;
  125. proxy_pass srv_tpp-webgate;
  126.  
  127. tcp_nodelay on;
  128. }
  129.  
  130. }

安装参考:

http://nginx.org/en/docs/configure.html

https://github.com/chobits/ngx_http_proxy_connect_module

源码安装Nginx加TCP反向代理模块的更多相关文章

  1. 源码安装nginx以及平滑升级

                                                           源码安装nginx以及平滑升级                               ...

  2. Linux之源码安装nginx,并按照作业一描述的那样去测试使用

    作业五:源码安装nginx,并按照作业一描述的那样去测试使用 [root@localhost nginx]# yum install gcc-* glibc-* openssl openssl-dev ...

  3. 源码安装Nginx以及用systemctl管理

    一.源码安装Nginx: 先安装gcc编译器(安装过的可以忽略) [root@localhost ~]# yum -y install gcc gcc-c++ wget 进入src目录 [root@l ...

  4. nginx启用TCP反向代理日志配置

    Nginx使用TCP反向代理日志配置不同于http 修改nginx配置文档/usr/local/nginx/conf/nginx.conf 设置日志格式 stream { log_format pro ...

  5. linux源码安装nginx

    任务目标:源码安装nginx,作为web服务修改配置文件,让配置生效,验证配置 首先要去官网nginx.org下载一个tar包: tar xvf 解包 进入到解包出来的目录,对configure进行配 ...

  6. 工作笔记-- 源码安装nginx

    源码安装nginx 1.安装nginx的依赖包 [root@localhost ~]# yum -y install gcc gcc-c++ openssl openssl-devel pcre pc ...

  7. 源码安装nginx 方法二

    yum 仓库不能用大写字母 [root@oldboy conf.d]# gzip * 压缩当前目录下的所有文件 gzip ./* gzip . gzip./ # 关闭防火墙和selinux [root ...

  8. 源码安装nginx env

    源码安装nginx 1. For ubuntu:18.04 apt -y install build-essential libtool libpcre3 libpcre3-dev zlib1g-de ...

  9. centos7安装Nginx 配置及反向代理

    Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Ngin ...

随机推荐

  1. 十九. 想快速开发app,需要找外包吗?

    健生干货分享:第19篇 摘要:最近和两位准备开发app的创业者聊天,他们之前没有移动互联网的相关经验,有的是想法和资金.他们在纠结:想快速开发app,需要找外包吗? 最近和两位想开发app的创业者聊天 ...

  2. python爬取网易云周杰伦所有专辑,歌曲,评论,并完成可视化分析

    ---恢复内容开始--- 去年在网络上有一篇文章特别有名:我分析42万字的歌词,为搞清楚民谣歌手们在唱些什么.这篇文章的作者是我大学的室友,随后网络上出现了各种以为爬取了XXX,发现了XXX为名的文章 ...

  3. BinaryOperator<T>接口的用法示例+BiFunction

    转自http://www.tpyyes.com/a/java/2017/1015/285.html 转自https://blog.csdn.net/u014331288/article/details ...

  4. B20J_3231_[SDOI2014]旅行_树链剖分+线段树

    B20J_3231_[SDOI2014]旅行_树链剖分+线段树 题意: S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,城市信仰不同的宗教,为了方便,我们用不同的正整数代表各种宗教. S国 ...

  5. BZOJ_1552_[Cerc2007]robotic sort_splay

    BZOJ_1552_[Cerc2007]robotic sort_splay 题意: 分析: splay维护区间操作 可以先把编号排序,给每个编号分配一个固定的点,映射过去 查找编号的排名时先找到这个 ...

  6. oracle常用系统函数

    一.字符类函数 字符类函数是专门用于字符处理的函数,处理的对象可以是字符或者字符串常量,也可以是字符类型的列. 1.ASCII(c)和CHR(i) ASCII(c)函数用于返回一个字符的ASCII码, ...

  7. 列表(list) ----python

    Python 列表(List) 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型 ...

  8. H5移动端项目案例、web手机微商城实战开发

    自微信生态圈一步步强大后,关于移动端购物的趋势,逐渐成为大众关心的内容,目前市场上关于移动商城的制定就有大量版本,比如.微商城.移动商城.移动webAPP.微信商城各等各种定义层出不穷,这就对于移动端 ...

  9. 死磕 java集合之ConcurrentLinkedQueue源码分析

    问题 (1)ConcurrentLinkedQueue是阻塞队列吗? (2)ConcurrentLinkedQueue如何保证并发安全? (3)ConcurrentLinkedQueue能用于线程池吗 ...

  10. 利用ATiny85制作BadUSB

    0x00.准备: ATiny85的板子 淘宝十元包邮.有两款,两款都可以,建议选择左边的,这样可以直接插入USB口,第二款也可以,不过需要一根Micro的数据线(旧款安卓手机使用的线). 电脑安装驱动 ...