注册

Q_dm_21_nginx到达梦数据的代理访问-keepalive timeout的设置.docx

与佛有缘 2023/03/29 1474 2 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
环境信息:
DM版本】:DM Database Server 64 V8 DB Version: 0x7000c
4-2-98-21.12.16-153423-10040-ENT
【操作系统】:版本 Windows 10 专业版
版本号 21H2
安装日期 ‎2022-‎09-‎21
操作系统内部版本 19044.2546
体验 Windows Feature Experience Pack 120.2212.4190.0
【CPU】: lntel(R) Core(TM) i7-8550U CPU @ 1.80GHz

【问题描述】*:

做了一个nginx server 端口访问8085 端口代理至达梦数据库的5236端口。

在windows笔记电脑的dm管理工具客户端连接nginx server 的 8085端口,可以访问达梦数据库的5236端口实例。可以执行数据库的sql。

但是现在有一个问题是: dm管理工具查询分析器,只要过10分钟左右没有活动。就需要重新连接dm数据库,重新连接接后又可继续使用dm数据库,失败提示:

总共1个语句正依次执行...

[执行语句1]:

select * from GL_SJSQ where kjnd='2023' /and userid='235'/ and rolecode like 'BMFZR-%'

执行失败(语句1)

6001: 网络通信异常(重连)

1条语句执行失败

产生这个问题有二个方面的原因: 1. dm管理工具客户端至 nginx server 的 8085端口,nginx server至 达梦数据库的5236端口的这整条网络链路、网络连接需要设置为长连接(这是网络方面的设置,这方面的原因可以排除,因为和网络管理员已经沟通过此事,已经开放整个网络链路的各个网络设置的长连接。)

  1. nginx的配置有问题。请问关于nginx的 keepalive_timeout 参数正确放置的位置在哪儿?参数写法是什么,我需要48小时的保持活动时间。请大侠给予修改。

下面是nginx.conf 文件的我从默认文件修改的地方,并且重新启动过nginx,还是会出现数据库从新连接的提示,我怀疑哪里修改得不对?应该怎么修改?

#add by mike #这段是我加的,为了代理至达梦数据库的5236

stream {

   server {

           listen 8085;

           proxy_pass 10.223.199.103:5236 ;

           }

   }

#add end by mike #这段是我加的,为了代理至达梦数据库的5236

http {

include mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

#keepalive_timeout 65;

modify by mike

keepalive_timeout 172800; #这段是我改的。

modify by mike end

关于代理达梦数据库,正确的keepalive_timeout参考应该怎么写?放在哪个位置 ?

Q_dm_21_nginx到达梦数据的代理访问-keepalive timeout的设置.docx

回答 0
暂无回答
扫一扫
联系客服