Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

服务器没有响应的处理办法 #272

Closed
Hopeshine opened this issue Jan 10, 2019 · 2 comments
Closed

服务器没有响应的处理办法 #272

Hopeshine opened this issue Jan 10, 2019 · 2 comments

Comments

@Hopeshine
Copy link

Hopeshine commented Jan 10, 2019

用户通过客户前端访问服务器时,遇到访问不通时,一般系统会报错。

比如无法访问微信公众号,或者通过内务访问时出现提示:

处理办法:

1. 首先确定通过前端登录时,服务器地址正确。
image

2. 如果步骤1没有问题,再确定部署服务器的电脑是否已开机。

dp2capo 所在服务器上,用 Windows 命令行 ping 一下服务器地址。步骤为:

2.1 在计算机程序组搜索栏输入“cmd”,电脑检索到“命令提示符”桌面应用。

2.2双击“命令提示符”程序图标,打开“命令提示符”界面。输入“ping"以及服务器所在的ip地址。如下图:

如果ping通的话,会出现以下显示:

如果ping不通,则表示服务器所在的电脑未开启。

3. 如果2服务器ping的结果为通畅,需要到服务器所在的电脑上确认 dp2library 和 dp2kernel Service 是否启动。

确认步骤:
3.1 打开dp2installer,利用 dp2installer 进行诊断

dp2installer正常开启如下图:

3.2 确认dp2kernel相关实例是否正常启动

点击【dp2installer V3-dp2安装实用工具】对话框中【dp2Kernel】-【配置实例】,系统弹出【实例设置】对话框。在这里可以看到各实例是否在运行,如下图。

实例名左侧为绿色箭头表示实例在运行。实例名左侧为红色停止符号,表示实例停止。

如果实例停止了,在实例名上单击鼠标右键,从右键菜单里选择【启动实例】命令,可以启动实例。

以上确认完后,点击【关闭】按钮,关闭【实例设置】对话框。

3.3 确认dp2library相关实例是否正常启动

点击【dp2installer V3-dp2安装实用工具】对话框中【dp2Library】-【配置实例】,系统弹出【实例设置】对话框。在这里可以看到各实例是否在运行,如下图。

实例名左侧为绿色箭头表示实例在运行。实例名左侧为红色停止符号,表示实例停止。

如果实例停止了,在实例名上单击鼠标右键,从右键菜单里选择【启动实例】,可以启动实例。

以上确认完后,点击【关闭】按钮,关闭【实例设置】对话框。

3.4 确认完毕之后,点击【dp2installer V3-dp2安装实用工具】对话框中【文件】-【退出】,退出dp2installer。

4. 如服务器无法正常运行,检查序列号是否失效。
一般情况下dp2系统的序列号有效期为一年,每年年初都需要为服务器申请新的序列号。

点击【dp2installer V3-dp2安装实用工具】对话框中【dp2Library】-【检查序列号】,如弹出【需要为实例重新设置序列号】对话框,如下图。则需要按照申请序列号流程为服务器申请新的序列号。

申请序列号详细步骤请参考相关文档

5. 如果通过以上确认服务器正常运行,且前端访问服务器时http地址也正确,还是访问不了。
一般报错如下图

可以尝试采用net.tcp连接服务器。

通过net.tcp协议连接服务器时输入的地址在服务器上可以看到,具体查看步骤:

打开dp2 installer-【dp2 library】-【配置实例】-实例对话框双击实例名称,系统弹出【修改一个实例】对话框。点击【协议绑定】文本框右侧的【...】按钮,系统弹出【请选择服务器通讯协议】对话框。【NET.TCP】文本框中的内容就是通过net.tcp协议访问时需要输入的地址。

原理:目前内务里面常用的的 http://… 协议,实际上是个加密协议,对安全性做了严格要求。比如前端和服务器的时钟不能相差超过五分钟,这是为了防止黑客进行重放攻击。还有其他各种检查,一项不符合就不让前端访问。就是说它的思路是倾向于保守的。这个加密协议速度还略慢一些。

net.pipe 这个协议,只能用在与服务器电脑相同的前端,和服务器不是同一台机器的前端无法使用。

然后,其余的所有协议,都可以让前端使用。rest 和 basic 差不多。主要是通讯包格式有些风格上的差异。很多人喜欢 rest.http。这个主要是对第三方开发者而言。

用户看到这些协议 URL 后,复制粘贴下来,或者抄写到本子上。

然后注意,把其中 localhost 部分,替换为实际上服务器的 IP 地址,即构成了前端可以使用的 URL。用户名和密码是和原来一样的。用内务访问时首先协议 URL 小心不要出错。

6. 切换网络方式

有些地方,尤其是天津地区,经常出现电信有干扰 http 通讯包的做法。这时用户可以切换网络为手机流量,然后访问服务器来验证是否属于这种情况。

电脑使用手机热点的操作步骤:
a. 在手机上点击【设置】-【个人热点】-开启【便携式WLAN热点】

b. 以上设置后,其他手机或者电脑可以在WLAN列表中看到当前热点,只要连接当前热点,就可以使用当前热点的流量来上网。

如果通过手机流量可以正常通过http协议访问服务器,基本可以确定电信网络干扰了 http 通讯包。在采用电信网络的情况下,可以改用net.tcp协议来访问服务器。net.tcp协议地址在上面第5点截图中有显示。

@Hopeshine Hopeshine changed the title 服务器没有相应的处理办法 服务器没有相应的处理办法(未完) Jan 10, 2019
@Hopeshine Hopeshine changed the title 服务器没有相应的处理办法(未完) 服务器没有响应的处理办法(未完) Jan 11, 2019
@Hopeshine Hopeshine changed the title 服务器没有响应的处理办法(未完) 服务器没有响应的处理办法 Jan 11, 2019
@Hopeshine
Copy link
Author

Hopeshine commented Mar 10, 2020

通过内务登录服务器提示服务器处于维护状态的处理方法。
报错如下图:
image

处理方法:

  1. 首先到服务器所在的电脑上,通过dp2installer查看服务器是否正常启动。
    正常启动如下图:

  1. 查看服务器当天日志。路径:【dp2library】-【打开数据文件夹】-【log】子目录,找到当天日志。

单机版的日志路径为:【帮助】-【打开用户文件夹】-【library_data】-【log】,找到当天的日志,或者直接点【帮助】-【查看今日指dp2library的错误日志】。

比如某用户报错当天的日志为下图:
image

日志显示服务器所在的电脑上安装了阻碍dp2系统运行的第三方软件,导致服务器被挂起,无法正常运行。

需要用户将阻碍系统运行的第三方软件彻底卸载。

@Hopeshine
Copy link
Author

服务器的启动分为冷启动和热启动。

服务器冷启动

所谓冷启动,是指直接在服务器上操作的dp2library服务的启动,或者在服务器上手动操作dp2library实例的启动,都属于服务器冷启动。

冷启动时,正常情况下服务器会去检查所有系统配置。

如果发现某些配置没有正常运行,并不意味着dp2library服务就不会启动。在某些参数正常,而某些不正常的情况下,服务器仍然会带着问题启动。这样启动的目的,是让前端可以访问到服务器,将问题暴露给工作人员。并且在这种启动下,如果仅仅某些不是特别重要的配置出现问题,前端仍然可以通过dp2内务来访问,并且可以有修正配置的机会。

服务器热启动

服务器的热启动,是指通过前端软件访问到服务器后,通过前端界面对相关的配置进行了修改,保存之后服务器的启动。当前端修改或者配置参数之后,服务器会对相关方面进行一次检查(不会去全面检查所有配置)。如果发现问题,运行中的服务器会拒绝新参数的配置。

当内务前端访问服务器时,报“服务器被挂起”或者“libarycfgDom尚未初始化”等,意味着服务器与前端的通讯是正常的,这时去看单机版服务器或者dp2installer的界面,可能看不出什么问题,因为服务并没有停止。但是此时服务器已经出现了故障,需要排查,可以通过检查服务器中的错误日志来查找原因。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant