本章节汇总了云服务器ECS实例中第三方软件的配置与使用常见问题及其处理方法。
MySQL问题
ECS实例中的MySQL安装后登录正常,但远程连接MySQL数据库时失败,提示“1045 - Access denied for user 'root'@'****'(using password:YES)”错误怎么办?
问题现象
ECS实例中的MySQL安装后登录正常,但使用相同账号和密码远程连接MySQL数据库时失败,提示“1045 - Access denied for user 'root'@'****'(using password:YES)”错误(确认已输入正确账号和密码)。
问题原因
在ECS实例中安装MySQL后,默认只能在本机登录,MySQL数据库未授权其它远程IP地址登录。
解决方案
请参考以下操作对其它IP地址进行授权。
远程连接ECS实例。
具体操作,请参见连接方式概述。
登录数据库,然后执行如下授权SQL命令,授权远程登录MySQL数据库权限。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
说明执行该授权SQL命令后,root用户可用任何IP地址登录数据库,操作任何数据库中的任何对象。
SQL命令参数说明如下表:
参数
描述
*.*
第一个星号(*)为数据库占位符,如果填
*
则代表所有数据库。第二个星号(*)为数据库表占位符,如果填*
则代表数据库中所有表。'root'@'%'
root为授权登录的数据库账户,百分号(%)为IP地址占位符。假如要限制只能通过
1.1.1.1
的IP地址登录,则需要把%
改成1.1.1.1
。如果填%
则代表允许任何IP地址登录。执行如下SQL语句刷新权限。
flush privileges;
重新远程连接MySQL数据库,若不再提示以上报错信息,则表示问题已修复。
远程连接Linux系统的ECS实例中的MySQL失败,提示“ERROR 2003 (HY000): Can't connect to MySQL server on '39.106.**.**' (110)”错误怎么办?
问题现象
用户远程连接Linux系统的ECS实例中的MySQL时失败,提示“ERROR 2003 (HY000): Can't connect to MySQL server on '39.106.**.**' (110)”错误。
问题原因
可能是由于该IP地址39.106.**.**
没有访问MySQL的权限(即3306端口不监听该IP地址),导致无法远程连接MySQL。
解决方案
远程登录已安装MySQL的Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行以下命令备份
my.cnf
文件。cp my.cnf my.cnf.bak
修改
my.cnf
配置文件。执行以下命令,打开
my.cnf
文件。vim /etc/my.cnf
按
i
键进入编辑模式,并将以下内容添加至my.cnf
文件中。bind-address = 0.0.0.0
添加位置如下图所示。
添加完成后,按
Esc
键退出编辑模式,并输入:wq
后按Enter
键,保存退出文件。
执行以下命令,重启MySQL服务,确认MySQL的3306端口监听恢复正常。
/etc/init.d/mysqld restart
上传文件失败问题
Linux系统的ECS实例通过vsftp上传文件失败,提示“553 Could not create file”错误怎么办?
问题现象
Linux系统的ECS实例通过vsftp上传文件失败,提示“553 Could not create file”错误。
问题原因
可能由于以下原因导致:
Linux实例磁盘空间已满。
FTP
home
目录未拥有write
权限。
解决方案
请参考以下操作排查Linux实例磁盘空间大小及FTPhome
目录拥有权限情况。
远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行如下命令,确认是否为Linux实例磁盘空间已满,导致文件无法上传提示该错误。
df -h
说明磁盘分区空间使用率达到100%则表示该磁盘空间已满。
系统显示类似如下信息。例如,分区
/dev/xvda1
的使用率为59%。执行如下命令,确认FTP
home
目录是否拥有write
权限。说明执行后续命令前,请根据实际情况,更换
/home/user
目录为您实际FTP的home
目录名称。ls -l /home/user
如下图红框中的权限没有
w
,则代表您当前没有write
权限。执行如下命令,添加
write
权限并保存。chmod +w /home/user
执行如下命令,若命令执行结果中存在
w
,则表示write
权限添加成功。ls -l /home/user
Windows系统的ECS实例中,通过FTP上传文件到FileZilla Server失败,提示“550 Permission denied”错误怎么办?
问题现象
在Windows系统的ECS实例中,通过FTP向FileZilla Server上传文件时,提示“550 Permission denied”错误。
问题原因
FileZilla Server中相应的FTP账号没有write
权限。
解决方案
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
运行FileZilla Server软件。在Users配置页面,选择Shared folders配置项。
选择对应的用户与目录,勾选Write单选框,单击OK按钮,完成权限配置。
安装AD域控制器失败问题
安装AD域控制器失败,提示“安装Active Directory域服务二进制文件失败”错误怎么办?
问题现象
在Windows系统的ECS实例中,安装AD域控制器失败,提示“安装Active Directory域服务二进制文件失败”错误。
问题原因
通过打开事件查看器发现报错,Remote Registry
服务被禁止,无法启动该服务。
解决方案
请参考以下操作启动Remote Registry
服务。
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
依次选择开始 > 运行,输入
services.msc
,然后单击确认。在服务窗口中,双击
Remote Registry
服务,进入Remote Registry属性窗口,设置以下选项。在启动类型区域,选择自动选项。
在服务状态区域,单击启动,确保
Remote Registry
服务正常启动。
单击确定,保存设置。
安装AD域控制器时,提示“此计算机具有动态分配的IP地址”怎么办?
问题现象
在Windows系统的ECS实例中安装AD域控制器时,提示“此计算机具有动态分配的IP地址”。
问题原因
该Windows系统的ECS实例上至少有一个物理网络适配器未将静态IP地址分配给其IP属性。
解决方案
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
安装AD域控制器。具体操作,请参见ECS实例搭建Windows系统AD域。
在安装AD域时弹出的静态IP分配选项框中,单击是。
LoopBack使用了DHCP方式,可以在未分配静态IP地址的情况下继续执行操作。
安装AD域控制器时,提示“0x0000232B RC0DE_NAME_ERROR”错误代码怎么办?
问题现象
在Windows系统的ECS实例中安装AD域控制器时,提示“0x0000232B RCODE_NAME_ERROR”错误代码。
问题原因
可能是由于DNS服务器中IP地址配置错误导致。
解决方案
请参考以下操作将Slave的内外网网卡的DNS服务器全部修改为Master的私网地址。
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
进入Internet协议版本4(TCP/IPv4)属性窗口,修改DNS服务器地址,然后单击确定。
说明更改DNS服务器地址为Master实际的私网地址。
检查是否能Ping通DNS服务器IP地址。
安装AD域控制器时,提示“找不到网络路径”错误怎么办?
问题现象
在Windows系统的ECS实例中安装AD域控制器时,提示“找不到网络路径”错误。
问题原因
可能有以下几点原因导致:
AD域控制器和客户端的
TCP/IP NetBIOS Helper
和Remote Registry
服务没有启动。客户端与AD域控制器的DNS配置错误。
客户端和AD域控制器的SID造成冲突。
防火墙及安全软件进行了拦截。
解决方案
请参考以下操作进行排查。
启动TCP/IP NetBIOS Helper和Remote Registry服务
请参考解决方案分别启动AD域控制器和客户端的TCP/IP NetBIOS Helper和Remote Registry服务。
修改客户端DNS配置
请参考解决方案修改客户端DNS配置。
修改客户端SID
请参考以下操作修改客户端SID。
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
下载修改客户端SID的PowerShell脚本。
下载地址:AutoSysprep.ps1
脚本来源:阿里云官方
打开CMD,输入PowerShell切换至Windows PowerShell界面。
说明如果您的实例操作系统是64位,则不能使用32位的PowerShell(即Windows PowerShell (x86)),否则会报错。
切换至脚本存储的路径,执行如下命令,查看脚本工具说明。
.\AutoSysprep.ps1 -help
执行如下命令,重新初始化服务器的SID。
.\AutoSysprep.ps1 -ReserveHostname -ReserveNetwork -SkipRearm -PostAction "reboot"
初始化完成后,会重启实例,您需要注意以下事项。
IP地址的获取方式会从DHCP变成固定IP地址,请确保该固定IP地址和开始设置前ECS实例的IP地址一致。您也可以将获取方式改回DHCP,以自动获取控制台中为ECS实例分配的主私有IP地址。
说明请不要在控制台修改ECS实例的主私有IP地址,否则IP地址变化会导致访问异常。
初始化SID后,云服务器防火墙的配置被修改成微软的默认配置,导致云服务器无法Ping通。您需要关闭防火墙来宾或公用网络,或者放行需要开放的端口。下图表示防火墙来宾或公用网络的状态是已连接。
打开控制面板修改防火墙设置,关闭来宾或公用网络防火墙。
关闭后,可以Ping通服务器。
允许客户端通过防火墙等安全软件
请参考Windows Server系统的ECS实例防火墙策略的配置方法允许客户端通过。
执行wget命令报错问题
在Linux系统的ECS实例中,执行wget命令时提示“command not found”错误怎么办?
问题现象
在Linux实例中执行wget
命令时提示“command not found”,执行yum install wget
命令时提示“already installed and latest version”。
问题原因
检查/usr/bin
目录中没有wget
命令文件,但存在wge
命令的文件,可能是由于命令文件被重命名导致报错。
解决方案
请您参考以下步骤进行操作。
远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行以下命令查询
wge
命令的路径。whereis wge
命令返回结果如下,表示
wge
命令路径为/usr/bin/wge
。wge:/usr/bin/wge
根据上述的路径,执行以下命令重命名即可。
cp /usr/bin/wge /usr/bin/wget
重新执行
wget
命令,若不再提示以上报错信息,则表示问题已修复。
在Linux实例系统的ECS实例中,使用wget命令下载时提示“Permission denied”错误怎么办?
问题现象
在Linux系统的ECS实例中,使用wget
下载时提示以下信息。
wget bash: /usr/bin/wget: Permission denied
问题原因
在Linux实例系统的ECS实例中,wget
命令权限为000,没有读写执行权限。
解决方案
请您参考以下步骤进行操作。
远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行以下命令查看
wget
命令权限。ls -l /usr/bin/wget
命令返回结果如下,说明
wget
命令权限为000,没有读、写、执行权限。-------- 1 root root 366800 Oct 31 2014 /usr/bin/wget
执行以下命令,查看
/usr/bin/wget
目录属性。lsattr /usr/bin/wget
命令返回结果如下,表示
/usr/bin/wget
目录属性为i
(不允许在该目录下新建和删除文件)。----i--------e- /usr/bin/wget
执行以下命令,移除
/usr/bin/wget
目录i
属性。chattr -i /usr/bin/wget
执行以下命令,对
/usr/bin/wget
目录进行授权。chmod 755 /usr/bin/wget
重新执行
wget
命令,若不再提示以上报错信息,则表示问题已修复。
无法连接ECS实例中的FTP服务问题
Windows实例
在Windows系统的ECS实例中,无法通过外网环境连接和访问FTP服务怎么办?
问题现象
在Windows系统的ECS实例中,已经搭建的FTP服务,外网环境无法连接和访问该FTP服务器。
问题原因
可能导致该问题的原因如下:
未放行FTP的安全组规则:请参考方案一:添加FTP的安全组规则进行操作。
防火墙拦截FTP进程:请参考方案二:配置FTP防火墙支持进行操作。
解决方案
请根据实际情况,选择以下两种分案进行操作。
方案一:添加FTP的安全组规则
当您在Windows系统的ECS实例中搭建好FTP站点后,需要在Windows系统的ECS实例所属的安全组中,添加入方向规则,放行FTP服务器所需的21端口以及FTP服务器被动模式可能占用的端口范围1024~65535,具体操作请参见添加安全组规则。
方案二:配置FTP防火墙支持
如果您的防火墙为开启状态,则需要通过配置IIS管理器放行TCP21端口与1024~65535端口用于FTP服务。请参考以下步骤进行操作。
说明Windows系统的ECS实例内部的防火墙默认为关闭状态。
本文以IIS管理器为例,介绍如何配置FTP。
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
打开IIS 管理器,然后双击FTP防火墙支持,进入FTP防火墙支持的配置界面。
配置相关参数,并单击应用。
说明参数说明如下:
防火墙的外部IP地址:输入该Windows系统的ECS实例的公网IP地址。
数据通道端口范围:指定用于被动连接的端口范围。可指定的有效端口范围为1025-65535。请根据实际需求进行设置,本文以1024~65535端口为例。
打开命令行,执行以下命令重启FTP服务,确保覆盖每个FTP站点的配置。
net stop ftpsvc&net start ftpsvc
(可选)若配置好FTP服务器后,可以在本机访问,但是无法通过另一台机器访问,该问题是由于防火墙配置错误,请参考以下操作进行配置:
首先检查服务器管理器中的入站规则,确保已启用FTP服务器。
添加Windows服务主进程。
打开控制面板 > Windows防火墙,然后单击左侧的允许程序或功能通过Windows防火墙。
在新窗口中单击允许运行另一程序,在浏览中找到
C:\Windows\System32\svchost.exe
打开以添加服务主进程。此时会多出一项Windows服务主进程,选中家庭/工作(专用)与公用,然后单击确定。
连接Windows系统的ECS实例中的FTP服务器时,提示“530 Login incorrect”错误怎么办?
问题现象
连接Windows系统的ECS实例中的FTP服务器时,提示以下错误。
响应:331 Please specify the password. 命令:PASS ************ 响应:530 Login incorrect. 错误:严重错误:无法连接到服务器
问题原因
可能是由于以下原因导致的:
FTP密码不正确:请参考方案一:修改FTP密码进行操作。
FTP用户权限配置错误:请参考方案二:添加FTP用户权限进行操作。
解决方案
请根据实际情况,选择以下两种方案进行操作。
方案一:修改FTP密码
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
右键单击桌面的计算机 > 管理,打开服务器管理器。
单击左侧配置本地用户和组 > 用户,右键单击对应的FTP账号,选择设置密码。
方案二:添加FTP用户权限
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
检查FTP对应的目录文件是否正常存在。
若不存在:请参考步骤三:设置共享文件的权限,重新创建FTP对应文件并添加相关权限。
若存在:右键单击该文件夹,选择属性 > 安全,选择对应FTP账号添加相关权限。
连接Windows系统的ECS实例中的FTP服务器时,提示“530 valid hostname is expected”错误怎么办?
问题现象
通过IIS 7.5配置的FTP绑定域名后,通过IP等方式连接Windows系统的ECS实例中的FTP服务器时,提示“530 valid hostname is expected”或者“503 Login with USER first”错误。
问题原因
通过IIS 7.5配置的FTP绑定域名后,在登录FTP时,输入的域名格式不正确。
解决方案
如果FTP绑定的域名是
www.example.com
,用户名为user
,则登录时需要使用www.example.com|user
进行登录。说明注意中间用“|”分隔。
您也可以将域名绑定删除,然后直接通过用户名进行登录。请参考下图进行操作。
Windows系统的ECS实例中,通过FTP上传文件到FileZilla Server失败,提示“550 Permission denied”错误怎么办?
问题现象
在Windows系统的ECS实例中,通过FTP向FileZilla Server上传文件时,提示“550 Permission denied”错误。
问题原因
FileZilla Server中相应的FTP账号没有
write
权限。解决方案
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
运行FileZilla Server软件。在Users配置页面,选择Shared folders配置项。
选择对应的用户与目录,勾选Write单选框,单击OK按钮,完成权限配置。
通过FTP over TLS方式连接Windows实例上IIS服务创建的FTP站点时,提示“534 Policy requires SSL”信息,如何处理?
问题描述
通过FTP over TLS方式连接Windows实例上IIS服务创建的FTP站点时,提示“534 Policy requires SSL”信息,无法连接FTP站点。
报错示例如下:
问题原因
由该问题的“534 Local policy on server does not allow TLS secure connections.”响应信息可知,FTP站点的FTP SSL 设置参数不正确导致该问题。
解决方案
远程连接Windows实例。
具体操作,请参见连接方式概述。
在桌面左下角,选择 > Windows管理工具 > Internet Information Services(IIS)管理器。
在FTP主页的FTP区域,双击FTP SSL设置。
在FTP SSL设置区域,将SSL 策略设置为允许 SSL 连接,然后在操作列单击应用。
再次访问该FTP站点。
Linux实例
上传文件到Linux系统的ECS实例中的FTP站点时,提示“425 Security:Bad IP connection”错误怎么办?
问题现象
用户上传文件到Linux系统的ECS实例中的FTP站点时,提示“425 Security:Bad IP connection”错误。
问题原因
该问题通常是由于客户端处于NAT网络,而NAT网络关联的公网IP不止一个,导致两次连接时,源IP不一致导致报错。
说明FTP服务同时拥有两个连接,一个是控制连接,一个是数据连接。在默认情况下,数据传输时FTP服务器端会核实两个连接的源IP是否一致,如果不一致,就会报“425 Security:Bad IP connection”错误。
解决方案
请参考以下操作,关闭被动模式下的IP安全检查。
远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行如下命令,编辑FTP配置文件。
vi /etc/vsftpd/vsftpd.conf
按
i
键进入编辑模式,在配置文件中添加如下内容。pasv_promiscuous=yes
编辑完成后,按
Esc
键退出编辑模式,然后输入:wq
并按回车键保存退出。执行如下命令,重启FTP服务。
systemctl restart vsftpd
Linux系统的ECS实例通过vsftp上传文件失败,提示“553 Could not create file”错误怎么办?
问题现象
Linux系统的ECS实例通过vsftp上传文件失败,提示“553 Could not create file”错误。
问题原因
可能由于以下原因导致:
Linux实例磁盘空间已满。
FTP
home
目录未拥有write
权限。
解决方案
请参考以下操作排查Linux实例磁盘空间大小及FTP
home
目录拥有权限情况。远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行如下命令,确认是否为Linux实例磁盘空间已满,导致文件无法上传提示该错误。
df -h
说明磁盘分区空间使用率达到100%则表示该磁盘空间已满。
系统显示类似如下信息。例如,分区
/dev/xvda1
的使用率为59%。执行如下命令,确认FTP
home
目录是否拥有write
权限。说明执行后续命令前,请根据实际情况,更换
/home/user
目录为您实际FTP的home
目录名称。ls -l /home/user
如下图红框中的权限没有
w
,则代表您当前没有write
权限。执行如下命令,添加
write
权限并保存。chmod +w /home/user
执行如下命令,若命令执行结果中存在
w
,则表示write
权限添加成功。ls -l /home/user
其他问题
部署在ECS实例中的微信公众平台Token验证失败怎么办?
问题现象
部署在ECS实例中的微信公众平台Token验证显示失败。
问题原因
常见的可能原因如下:
非正常编辑文件,如记事本、在线编辑等操作导致文件中添加了UTF-8的BOM签名。
ECS实例如果安装了安全狗或者云安全中心,会拦截腾讯服务器的请求。
虚拟主机使用临时域名去验证导致被系统拦截,适用于万网的虚拟主机。
PHP文件结束符后包含换行或其他字符。
使用了其他的调试验证方法。
程序Gzip加密异常。
解决方案
常见原因对应建议处理办法如下:
非正常编辑文件,如记事本、在线编辑等
建议使用多功能编辑器去除bom。
ECS实例安装了安全狗或者云安全中心
建议卸载安全狗,或者提示云安全中心设置白名单。
虚拟主机使用临时域名去验证
建议使用已经接入阿里云备案的正式域名来进行验证操作。
PHP文件结束符后包含换行或其他字符
建议去除多余的字符。
使用了其他的调试验证方法
执行
curl http://xxx/index.php/api/xx
命令,进行调试验证,模拟微信请求API,并对此进行分析。程序Gzip加密异常
建议临时取消程序Gzip功能,进行测试排查。
Linux系统的ECS实例中文字显示乱码怎么办?
问题现象
通过第三方SSH客户端远程连接Linux系统的阿里云Linux系统的ECS实例时,发现中文字体显示乱码。
问题原因
造成该问题的可能原因如下:
Linux系统未安装中文字体:Linux系统语言默认不支持中文显示,需要单独安装中文语言包使系统支持中文显示,请参考方案一:在Linux系统中安装中文语言包进行修复。
第三方SSH客户端工具字符集设置问题,请参考方案二:修改第三方SSH客户端工具字符集设置进行修复。
解决方案
根据实际情况,选择对应方案进行操作。
方案一:在Linux系统的ECS实例中安装中文语言包
下列操作以CentOS 7.8操作系统为例,其它版本的CentOS系统或者其他发行版本(如Redhat、Debian、Ubuntu等)对应的配置和命令行请参阅相应的官方文档。
CentOS 6与CentOS 8操作系统版本结束了生命周期(EOL),按照社区规则,CentOS 6/8的源地址内容已移除。当您在CentOS 6/8系统内继续使用默认配置的源地址时会发生报错。建议您先切换CentOS 6/8的源地址,然后再进行操作。具体操作,请参见CentOS 6 EOL如何切换源?和CentOS 8 EOL如何切换源?。
远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
执行以下命令,查询当前系统使用的语言。
echo $LANG
说明如果为英文,请继续执行步骤3。
如果为中文,说明该Linux系统的ECS实例已安装中文语言包,排除因Linux系统未安装中文字体导致文字显示乱码的原因,请参考方案二:修改第三方SSH客户端工具字符集设置继续执行操作。
执行以下命令,查看当前系统是否安装中文语言包。
locale -a | grep "zh_CN"
系统显示类似如下,zh表示中文,CN表示中国,gb18030、gb2312、gbk、utf8为字符集。
zh_CN zh_CN.gb18030 zh_CN.gb2312 zh_CN.gbk zh_CN.utf8
若未安装中文语言包,请执行以下命令安装。
sudo yum groupinstall "fonts"
执行以下命令,编辑
/etc/locale.conf
配置文件。vim /etc/locale.conf
按
i
键切换至编辑模式,将LANG=en_US.UTF-8
修改为LANG=zh_CN.UTF-8
,将当前系统语言修改为中文。修改完成后,按下
Esc
键后,输入:wq
并回车,保存并关闭配置文件。
执行以下命令,使配置生效。
source /etc/locale.conf
执行以下命令,重启服务器。
reboot
(可选)若重启服务器后,当前系统语言仍显示为英文,请执行以下命令,编辑
/etc/profile.d/lang.sh
配置文件。vim /etc/profile.d/lang.sh
按
i
键切换至编辑模式,将zh*) LANG=en_US.UTF-8
修改为zh*) LANG=zh_CN.UTF-8
,修改之后的内容如下图所示。修改完成后,按下
Esc
键后,输入:wq
并回车,保存并关闭配置文件。执行以下命令,重启服务器。
reboot
方案二:修改第三方SSH客户端工具字符集设置
以下操作以XShell客户端为例,介绍如何修改XShell客户端工具字符集设置。
打开XShell客户端。
在XShell客户端页面,将默认语言设置为Unicode (UTF-8)。
重新登录实例,若不再出现以上错误,则表示问题已修复。