使用 Nginx 转发 Oracle 端口
问题背景
某客户V3环境应用服务器想要连通V2环境Oracle数据库进行数据存储,解决办法是在V2环境搭建一台带nginx的ECS用来端口转发。
原理图:
环境
• OS: Centos
• Nginx: 1.12.1
编译安装Nginx
从1.9.0开始,nginx就支持对TCP的转发,而到了1.9.13时,UDP转发也支持了。提供此功能的模块为ngx_stream_core。不过Nginx默认没有开启此模块,所以需要手动安装。
cd /usr/local/src
wget http://nginx.org/download/nginx-1.12.1.tar.gz
tar zxf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --prefix=/usr/local/nginx --with-stream --without-http
make && make install
配置Nginx
TCP转发
目标:通过3000端口访问本机Mysql(其中mysql使用yum安装,默认配置文件)
/usr/local/nginx/conf/nginx.conf配置如下:
user nobody;
worker_processes auto;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
stream {
upstream cloudsocket {
hash $remote_addr consistent;
server 192.168.0.7:1521 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 3000;#公网机器监听端口
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass cloudsocket;
}
}
首先,先通过1521端口访问oracle:
然后,启动Nginx:
最后使用3000端口访问mysql:
安装过程中可能遇到的问题
安装nginx的时候遇到如下问题:
1. Configuration summary
2. + using system PCRE library
3. + OpenSSL library is not used
4. + using builtin md5 code
5. + sha1 library is not found
6. + using system zlib library
出现以上问题的原因是,在安装nginx的时候没有指定openssl的解压路径。正确的做法如下:
./configure --prefix=/usr/local/nginx --with-openssl=/usr/local/openssl-1.0.1j --with-http_ssl_module
如果pcre和zlib出现类似的问题,指定路径就可。
--with-pcre=/usr/local/pcre-7.7 --with-zlib=/usr/local/zlib-1.2.3 --with-http_stub_status_module
该架构存在的问题以及解决方式
该架构虽然解决了 V3环境 无法直接连通V2环境,但是通过代理转发,也存在一定问题,例如单点故障问题,若代理服务器负载过高,会影响整个架构的运行。
解决方式是,在代理服务器层增加SLB负载均衡,可在一定程度上解决此问题。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
xming + putty 搭建远程图形化ssh访问ubuntu 14.04
欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! putty下载: http://www.putty.org/ 一般我们远程登录linux 服务器,都是使用非加密的 telnet 或者加密的 ssh。这些登录方式有一个特点:只能登录字符界面,不能运行那些带有GUI界面的程序。 有时候为了学习或者工作的需要,我们需要远程打开有图形化界面的 linux application, 今天就给大家介绍一款软件:xming, 配合putty能够很好的完成我们的需求。 我们都知道,putty是一个用来远程登录 unix/linux 服务器的客户端,可以使用Telnet ssh等协议。 那么什么是xming? Xming is the leading X Window System Server for Microsoft Windows 8/7/Vista/XP (+ server 2012/2008/2003). It is fully featured, small and fast, si...
-
下一篇
ZooKeeper 技术内幕初探(二)
前面介绍了ZooKeeper的一些基本特性,ZooKeeper入门,也安装运行了一个简单的ZooKeeper的例子。这此主要介绍ZooKeeper内部的一些工作方式理论部分。 与文无关 主要涉及以下: ZooKeeper服务的架构 ZooKeeper的数据模型 ZooKeeper的节点特性 ZooKeeper的访问控制 Watcher(监听器) ZooKeeper服务概览 ZooKeeper是一个复制式的分布式应用,有点像DNS服务或一些中心化的服务。 ZooKeeper服务架构 这是官网给的ZooKeeper服务图,所有组成ZooKeeper服务的服务器都相互知晓,它们维护了一个内存状态的镜像,也包含事务日志,持久存储的快照等。只要半数以上的的服务器是可用的,ZooKeeper服务就是可用的。 顺便提一下ZooKeeper的设计目标(Design Goals) 简单 复制式的 所有节点相互复制状态 有序的,所有的事务都有时间戳 快速 在读大于写的时候... ZooKeeper读写图 ZooKeeper在读数据的时候可以直接从当前节点读取数据,在写数据的时候需要将写请求转发到Leade...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL数据库在高并发下的优化方案
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Hadoop3单机部署,实现最简伪集群




微信收款码
支付宝收款码