常见问题
2 分钟阅读
应用服务常见问题
- Ubuntu 22.04.2 LTS操作系统,选择postgresql数据库,安装协同服务提示“不存在可用的数据库连接,请确认数据库是否启动”
问题原因:pgsql13.3/data/pg_log/startup.log日志记录启动错误
2023-04-17 17:02:21.812 CST [3226] LOG: invalid value for parameter “lc_messages”: “zh_CN.UTF-8”
2023-04-17 17:02:21.812 CST [3226] LOG: invalid value for parameter “lc_monetary”: “zh_CN.UTF-8”
2023-04-17 17:02:21.812 CST [3226] LOG: invalid value for parameter “lc_numeric”: “zh_CN.UTF-8”
2023-04-17 17:02:21.812 CST [3226] LOG: invalid value for parameter “lc_time”: “zh_CN.UTF-8”
2023-04-17 17:02:21.812 CST [3226] FATAL: configuration file “/data/pgsql13.3/bin/../data/postgresql.conf” contains errors
root@localhost:/data/pgsql13.3/bin# locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=“en_US.UTF-8”
LC_NUMERIC=“en_US.UTF-8”
LC_TIME=“en_US.UTF-8”
LC_COLLATE=“en_US.UTF-8”
LC_MONETARY=“en_US.UTF-8”
LC_MESSAGES=“en_US.UTF-8”
LC_PAPER=“en_US.UTF-8”
LC_NAME=“en_US.UTF-8”
LC_ADDRESS=“en_US.UTF-8”
LC_TELEPHONE=“en_US.UTF-8”
LC_MEASUREMENT=“en_US.UTF-8”
LC_IDENTIFICATION=“en_US.UTF-8”
LC_ALL=
【解决方案】
安装中文语言包,命令参考:sudo apt install language-pack-zh-hans
- 启动协同服务后,客户端无法访问
【解决方案】
服务器防火墙需要放行访问端口。
Windows系统配置方法:
1、打开 控制面板,选择 系统和安全,Windows 防火墙,左侧选择高级设置。
2、点击 入站规则 — 新建规则。
3、选择 端口,点击 下一步 。
4、选择 端口类型 — 输入要开启/关闭的端口然后点击 下一步 。
5、选择 阻止连接/允许连接 并点击 下一步,最后选择作用域和输入规则名称后点击 完成。
选择 允许连接 表示开启端口外部访问。
Linux系统配置方法:
一、iptables(Redhat6/CentOS6)
1.打开/关闭/重启防火墙
开启防火墙(重启后永久生效):chkconfig iptables on
关闭防火墙(重启后永久生效):chkconfig iptables off
开启防火墙(即时生效,重启后失效):service iptables start
关闭防火墙(即时生效,重启后失效):service iptables stop
重启防火墙:service iptables restartd
2.查看打开的端口
/etc/init.d/iptables status
3.打开某个端口(以8080为例)
(1)开启端口
iptables -A INPUT -p tcp –dport 8080 -j ACCEPT
(2)保存并重启防火墙
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
4.打开49152~65534之间的端口
iptables -A INPUT -p tcp –dport 49152:65534 -j ACCEPT
同样,这里需要对设置进行保存,并重启防火墙。
5.其他打开方式
我们还可以通过修改/etc/sysconfig/iptables文件的方式开启端口,如下
vi /etc/sysconfig/iptables
然后在文件中增加一行
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
参数说明:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收
二、firewalld(Redhat7/CentOS7)
Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。
防火墙状态:
systemctl status firewalld
检查端口:
firewall-cmd –query-port=8080/tcp
开放端口:
firewall-cmd –add-port=8080/tcp –permanent
重载配置:
firewall-cmd –reload
1.启动防火墙
systemctl start firewalld
2.禁用防火墙
systemctl stop firewalld
3.设置开机启动
systemctl enable firewalld
4.停止并禁用开机启动
sytemctl disable firewalld
5.重启防火墙
firewall-cmd –reload
6.查看状态
systemctl status firewalld 或者 firewall-cmd –state
7.查看版本
firewall-cmd –version
8.查看帮助
firewall-cmd –help
数据库常见问题
- 连接SQLServer数据库提示驱动程序无法通过使用安全套接字层(ssl)加密与SQL server建立安全连接
问题原因:连接报错原因是数据库的ssl算法被操作系统拦截,个别服务器操作系统会出现该报错,例如:RockyLinux 9.1
【解决方案】
编辑安装程序启动脚本,增加jvm参数:-Djava.security.disableSystemPropertiesFile=true
https常见问题
- 使用阿里云/腾讯云/华为云配置https访问,或者负载均衡设备配置https访问,部分功能页面空白或者异常。https登录后部分功能转发为http协议。
协同服务ApacheJetspeed/conf/server.xml需要单独配置。
【解决方案】复制一行访问端口连接器 <Connector port=“80” executor=“tomcatThreadPool”
修改端口为其它,比如81,并在复制的行增加配置 proxyPort=“443” scheme=“https”,重启协同服务生效。
负载均衡连接后端服务器的新增端口(新增proxyPort=“443” scheme=“https” 配置的端口),比如81。
- 使用nginx配置https访问,不使用默认端口443,部分功能被转发到443端口引起功能异常。
协同服务ApacheJetspeed/conf/server.xml需要单独配置。以7002端口举例如下;
【解决方案】
1、复制一行访问端口连接器 <Connector port=“80” executor=“tomcatThreadPool”
修改端口为其它,比如81,并在复制的行增加配置 proxyPort=“7002” scheme=“https”
2、<Host name=“localhost"与</Host>中间增加配置
<Valve className=“org.apache.catalina.valves.RemoteIpValve” remoteIpHeader=“X-Forwarded-For” protocolHeader=“X-Forwarded-Proto” protocolHeaderHttpsValue=“https” httpsServerPort=“7002” />
重启协同服务。Nginx配置连接后端服务器的新增端口(新增proxyPort=“443” scheme=“https” 配置的端口),比如81。