源码安装Nginx加TCP反向代理模块
说明:
安装方式是源码编译安装,因此先安装相关依赖,否则报错。
yum -y install gcc* patch openssl openssl-devel
安装步骤:
- 下载nginx源码包:
- wget http://nginx.org/download/nginx-1.2.9.tar.gz
- 下载插件源码包:
- wget https://codeload.github.com/chobits/ngx_http_proxy_connect_module/zip/master -O ngx_http_proxy_connect.zip
- 解压nginx源码包:
- tar -zxvf nginx-1.15.5.tar.gz
- 解压nginx插件源码包:
- unzip ngx_http_proxy_connect.zip -d ./
- 添加插件补丁:先进入nginx的源码包,cd nginx-1.2.9,然后运行下面命令:
- patch -p1 < ../ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_1015.patch
- patch -p1 < ../nginx_tcp_proxy_module-master/tcp.patch
- 运行配置nginx:
- ./configure --with-http_ssl_module --add-module=../ngx_http_proxy_connect_module-master/ --add-module=../nginx_tcp_proxy_module-master/ --without-http_rewrite_module
- 编译及安装:
- make && make install
默认安装的路径是:/usr/local/nginx
将文档中提供的nginx.conf放置到安装好的conf目录下,
启动:./sbin/nginx
关闭:./sbin/nginx -s quit
平滑重启:./sbin/nginx -s reload
参考配置:
- #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 {
- #正向代理
- server {
- #正向代理的端口
- listen 9080;
- #dns,支持配置多个
- resolver 132.29.29.29;
- #开启插件支持https tunnel
- #proxy_connect;
- #proxy_connect_allow 443;
- #proxy_connect_connect_timeout 10s;
- #proxy_connect_read_timeout 40s;
- #proxy_connect_send_timeout 40s;
- #location / {
- # proxy_pass http://$host;
- # proxy_set_header Host $host;
- # proxy_buffers 256 4k;
- # proxy_max_temp_file_size 0;
- #}
- }
- #反向代理上游服务器-反向代理tpp-zuul-pre,支持配置多个
- upstream srv_tpp-zuul-pre {
- ip_hash;
- server 172.168.168.108:80;
- server 172.168.168.114:80;
- }
- #反向代理
- server {
- listen 8080;
- listen 443 ssl;
- #ssl on;
- ssl_certificate 1613208__hcepay.com.pem;
- ssl_certificate_key 1613208__hcepay.com.key;
- ssl_session_timeout 5m;
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_prefer_server_ciphers on;
- server_name 127.0.0.1;
- location / {
- proxy_pass http://srv_tpp-zuul-pre;
- }
- }
- upstream srv_fama
- {
- ip_hash;
- server 172.168.168.112:8080;
- server 172.168.168.119:8080;
- }
- server {
- listen 8081;
- server_name 127.0.0.1;
- location / {
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
- proxy_pass http://srv_fama;
- }
- }
- upstream srv_acc-pre
- {
- ip_hash;
- server 172.168.168.107:8764;
- server 172.168.168.113:8764;
- }
- server {
- listen 8764;
- server_name 127.0.0.1;
- location / {
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
- proxy_pass http://srv_acc-pre;
- }
- }
- upstream srv_redis
- {
- ip_hash;
- server 172.168.168.119:7000;
- server 172.168.168.119:7001;
- server 172.168.168.119:7002;
- server 172.168.168.119:7003;
- server 172.168.168.119:7004;
- server 172.168.168.119:7005;
- }
- server {
- listen 6379;
- server_name 127.0.0.1;
- location / {
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
- proxy_pass http://srv_redis;
- }
- }
- }
- tcp {
- upstream srv_tpp-webgate {
- ip_hash;
- server 172.168.168.108:5001;
- server 172.168.168.114:5001;
- check interval=3000 rise=2 fall=5 timeout=1000;
- }
- server {
- listen 5001;
- proxy_pass srv_tpp-webgate;
- tcp_nodelay on;
- }
- }
安装参考:
http://nginx.org/en/docs/configure.html
https://github.com/chobits/ngx_http_proxy_connect_module
源码安装Nginx加TCP反向代理模块的更多相关文章
- 源码安装nginx以及平滑升级
源码安装nginx以及平滑升级 ...
- Linux之源码安装nginx,并按照作业一描述的那样去测试使用
作业五:源码安装nginx,并按照作业一描述的那样去测试使用 [root@localhost nginx]# yum install gcc-* glibc-* openssl openssl-dev ...
- 源码安装Nginx以及用systemctl管理
一.源码安装Nginx: 先安装gcc编译器(安装过的可以忽略) [root@localhost ~]# yum -y install gcc gcc-c++ wget 进入src目录 [root@l ...
- nginx启用TCP反向代理日志配置
Nginx使用TCP反向代理日志配置不同于http 修改nginx配置文档/usr/local/nginx/conf/nginx.conf 设置日志格式 stream { log_format pro ...
- linux源码安装nginx
任务目标:源码安装nginx,作为web服务修改配置文件,让配置生效,验证配置 首先要去官网nginx.org下载一个tar包: tar xvf 解包 进入到解包出来的目录,对configure进行配 ...
- 工作笔记-- 源码安装nginx
源码安装nginx 1.安装nginx的依赖包 [root@localhost ~]# yum -y install gcc gcc-c++ openssl openssl-devel pcre pc ...
- 源码安装nginx 方法二
yum 仓库不能用大写字母 [root@oldboy conf.d]# gzip * 压缩当前目录下的所有文件 gzip ./* gzip . gzip./ # 关闭防火墙和selinux [root ...
- 源码安装nginx env
源码安装nginx 1. For ubuntu:18.04 apt -y install build-essential libtool libpcre3 libpcre3-dev zlib1g-de ...
- centos7安装Nginx 配置及反向代理
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Ngin ...
随机推荐
- 十九. 想快速开发app,需要找外包吗?
健生干货分享:第19篇 摘要:最近和两位准备开发app的创业者聊天,他们之前没有移动互联网的相关经验,有的是想法和资金.他们在纠结:想快速开发app,需要找外包吗? 最近和两位想开发app的创业者聊天 ...
- python爬取网易云周杰伦所有专辑,歌曲,评论,并完成可视化分析
---恢复内容开始--- 去年在网络上有一篇文章特别有名:我分析42万字的歌词,为搞清楚民谣歌手们在唱些什么.这篇文章的作者是我大学的室友,随后网络上出现了各种以为爬取了XXX,发现了XXX为名的文章 ...
- BinaryOperator<T>接口的用法示例+BiFunction
转自http://www.tpyyes.com/a/java/2017/1015/285.html 转自https://blog.csdn.net/u014331288/article/details ...
- B20J_3231_[SDOI2014]旅行_树链剖分+线段树
B20J_3231_[SDOI2014]旅行_树链剖分+线段树 题意: S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,城市信仰不同的宗教,为了方便,我们用不同的正整数代表各种宗教. S国 ...
- BZOJ_1552_[Cerc2007]robotic sort_splay
BZOJ_1552_[Cerc2007]robotic sort_splay 题意: 分析: splay维护区间操作 可以先把编号排序,给每个编号分配一个固定的点,映射过去 查找编号的排名时先找到这个 ...
- oracle常用系统函数
一.字符类函数 字符类函数是专门用于字符处理的函数,处理的对象可以是字符或者字符串常量,也可以是字符类型的列. 1.ASCII(c)和CHR(i) ASCII(c)函数用于返回一个字符的ASCII码, ...
- 列表(list) ----python
Python 列表(List) 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型 ...
- H5移动端项目案例、web手机微商城实战开发
自微信生态圈一步步强大后,关于移动端购物的趋势,逐渐成为大众关心的内容,目前市场上关于移动商城的制定就有大量版本,比如.微商城.移动商城.移动webAPP.微信商城各等各种定义层出不穷,这就对于移动端 ...
- 死磕 java集合之ConcurrentLinkedQueue源码分析
问题 (1)ConcurrentLinkedQueue是阻塞队列吗? (2)ConcurrentLinkedQueue如何保证并发安全? (3)ConcurrentLinkedQueue能用于线程池吗 ...
- 利用ATiny85制作BadUSB
0x00.准备: ATiny85的板子 淘宝十元包邮.有两款,两款都可以,建议选择左边的,这样可以直接插入USB口,第二款也可以,不过需要一根Micro的数据线(旧款安卓手机使用的线). 电脑安装驱动 ...