Nginx代理服务器生产环境操作实例

一:场景需求:

由于ORACLE数据库在生产环境内网,需要外网服务访问数据库,即使用Nginx完成TCP/UTP三层的负载实现

二:部署前环境准备

1:检查服务器操作系统版本,确定Nginx部署版本及依赖服务、关闭防火墙

#临时关闭防火墙

systemctl stop firewalld.service

#永久关闭防火墙

systemctl disable firewalld.service

一台前置机服务器既可以访问内网数据库,又可以通过外网进行访问到这台前置机

2:确定Nginx中间件版本

3:确定Nginx服务器的IP地址

4:确定Oracle数据库对外使用的IP与port

三:实施部署

1:安装依赖包

使用yum命令安装所需的依赖包,包括gcc、pcre-devel、zlib-devel、openssl和openssl-devel。这些依赖包是编译和运行Nginx所必需的

yum -y install gcc make pcre pcre-devel zlib zlib-devel openssl-devel

2:离线版:下载依赖包并上传至服务器,解压依赖包 tar -zxvf xxxx.tar

安装所有依赖包:rpm -Uvh *.rpm

检查安装nginx的依赖性,nginx的模块需要第三方库的支持,检查是否安装下列库:

zlib、zlib-devel、openssl、openssl-devel、prce、prce-devel

root@mgmserver \~\]# rpm -qa \|grep zlib [zlib](https://so.csdn.net/so/search?q=zlib&spm=1001.2101.3001.7020 "zlib")-devel-1.2.3-3 zlib-1.2.3-3 \[root@mgmserver tar_packet\]# rpm -qa \|grep openssl [openssl](https://so.csdn.net/so/search?q=openssl&spm=1001.2101.3001.7020 "openssl")-0.9.8e-12.el5 openssl-devel-0.9.8e-12.el5 \[root@mgmserver tar_packet\]# rpm -qa \|grep pcre pcre-6.6-2.el5_1.7 pcre-devel-6.6-2.el5_1.7 \[root@mgmserver tar_packet\]# rpm -qa \|grep gcc compat-libgcc-296-2.96-138 compat-gcc-34-g77-3.4.6-4 gcc-c++-4.1.2-46.el5 libgcc-4.1.2-46.el5 compat-gcc-34-3.4.6-4 compat-gcc-34-c++-3.4.6-4 gcc-java-4.1.2-46.el5 gcc-4.1.2-46.el5 gccp-gfortran-4.1.2-46.el5 \[root@mgmserver tar_packet\]# rpm -qa \|grep autoconf autoconf-2.59-12 \[root@mgmserver tar_packet\]# rpm -qa \|grep automake automake-1.9.6-2.1 automake16-1.6.3-8 automake15-1.5-16 automake17-1.7.9-7 automake14-1.4p6-13 #### 2:下载nginx安装包并进行解压 Tar -zxvf xxxx.tar #### 3:进入解压目录执行(增加https模块) ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/conf/nginx.pid --lock-path=/usr/local/nginx/lock/nginx.lock --with-http_ssl_module #### 4:对nginx进行编译和安装 make \& make install #### 5:设置开机启动 启动nginx \[root@mgmserver nginx\]# **/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf** vim /etc/rc.local 文本底部追加 /usr/local/nginx/sbin/nginx #### 6:配置文件配置与http同级 stream { upstream oraclerac { server 192.168.26.201:1521 weight=1 max_fails=2 fail_timeout=30s; #原oracle地址 server 192.168.26.203:1521 weight=2 max_fails=2 fail_timeout=30s; } server { listen 1522 so_keepalive=on; #so_keepalive,会话保持,防止查询飘走 proxy_pass oraclerac; } } ![](https://file.jishuzhan.net/article/1779887459543289858/04c7362141c37085032a21df84da215e.webp)

相关推荐
一个天蝎座 白勺 程序猿14 小时前
Apache IoTDB(5):深度解析时序数据库 IoTDB 在 AINode 模式单机和集群的部署与实践
数据库·apache·时序数据库·iotdb·ainode
QQ35967734514 小时前
ArcGIS Pro实现基于 Excel 表格批量创建标准地理数据库(GDB)——高效数据库建库解决方案
数据库·arcgis·excel
学编程的小程14 小时前
突破局域网限制:MongoDB远程管理新体验
数据库·mongodb
波波烤鸭14 小时前
Redis 高可用实战源码解析(Sentinel + Cluster 整合应用)
数据库·redis·sentinel
l1t18 小时前
利用DeepSeek实现服务器客户端模式的DuckDB原型
服务器·c语言·数据库·人工智能·postgresql·协议·duckdb
MarkHard1231 天前
如何利用redis使用一个滑动窗口限流
数据库·redis·缓存
qq_264220891 天前
Nginx优化与 SSL/TLS配置
运维·nginx
island13141 天前
【Redis#10】渐进式遍历 | 数据库管理 | redis_cli | RES
数据库·redis·bootstrap
心想事成的幸运大王1 天前
Redis的过期策略
数据库·redis·缓存
倔强的石头_1 天前
CentOS 上安装KingbaseES(ISO包)详细教程
数据库