源码安装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 ...
随机推荐
- windows 搭建 IBM Hyperledger Fabric(超级账本)开发环境
一.概述 Hyperledge fabric项目是IBM开源的区块链项目.Github地址:https://github.com/hyperledger/fabric 想对fabric有具体的认识,可 ...
- Java 读书笔记 (十二) Java Character 类
在实际开发过程中, 我们经常会遇到需要使用对象,而不是内置数据类型的情况. 为了解决这个问题, Java语言为内置数据类型char提供了包装类Character类. 可以使用Character的构造方 ...
- Celery beat实现定时/轮询任务
Celery定时任务 配置 启用Celery的定时任务需要设置CELERYBEAT_SCHEDULE . Celery的定时任务都由celery beat来进行调度.celery beat默认按照s ...
- MAC下的mysql忘记密码该怎么办??
不要着急,不要慌,好多人会忙手忙脚,以为自己安装了一个假软件,其实是你打开的方式不对而已! step1: 苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击 ...
- list control控件的一些操作
一.添加数据 这里介绍的是最平常的添加方法,当然也有很多其他比较好的方法.这里要非常注意添加顺序.先上代码: //导入excel文档中的内容到list中 CoInitialize(NULL); if ...
- Link-Cut Tree指针模板
模板: 以下为弹飞绵羊代码: #define Troy #include "bits/stdc++.h" using namespace std; ; inline int rea ...
- windows 7安装Fiddler抓HTTPS请求的解决办法
一.下载安装Fiddler,网上随意一搜就可找到安装软件 二.打开已经安装的fiddler,本人的安装目录:D:\AutoTest\fiddle\Fiddler2 三.打开的页面如图: 三.点击too ...
- EffictiveC++笔记 第1章
Chapter 一: 条款 1 :视 C++为一个语言联邦 (P41 ) c++其实可以视为有四个部分: C Object-Oriented C++ Template C++ STL 条款 2:尽量以 ...
- vue中的 ref 和 $refs
如图,ref 被用来给元素或子组件注册引用信息.引用信息将会注册在父组件的 $refs 对象上.如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素:如果用在子组件上,引用就指向组件实例: ...
- 理解 Node.js 的 Event loop
问题 考察如下代码,脑回路中运行并输出结果: console.log("1"); setTimeout(function setTimeout1() { console.log(& ...