重启阿里云服务器后网站无法访问的问题解决

本文记录了解决公司iOS应用中图片加载异常的过程,包括处理服务器登录问题、清理空间、重启服务及调整配置,最终定位到nginx与tomcat配置不当导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

公司IOS反馈说,有一张图片的网址请求后,有时请求失败,有时请求成功但是只显示一部分。

检查过程

  • 前端检查图片的request,发现图片加载到一半时会失败。
  • ping了一下图片的url,发现是存放在公司一台已经弃用的服务器上。
  • 检查服务器的各项参数,发现服务器的硬盘空间爆满。
  • 猜测与空间不足有关,但是由于该服务器没有任何交接文档,因此不知道密码,只能重置密码并重启服务器【阿里云服务器重置密码需要重启】

问题1,无法远程ssh登录服务器

解决:尝试重启ssh服务,修改iptables配置,重启iptables服务等操作后,发现ssh端口并不是默认的22端口,而是被修改过的,因此修改下登录的端口解决问题。

问题2,服务器空间不足

解决:发现空间主要被日志和之前存储的图片占用,因此使用tar -zvcf命令归档日志后,删除日志释放空间。

问题3,网站无法访问

解决:whereis nginx查询是否存在nginx服务,发现有,于是启动nginx即可。

问题4,访问图片报502

解决:

  • 查询nginx的错误日志,发现有报错  *1477 no live upstreams while connecting to upstream,说明没有后端服务在处理请求。
  • 一开始以为是没有开启php-fpm服务,whereis php-fpm发现没有相关服务,因此排除。
  • 猜测是用nginx+web.py的方式搭建服务器,然而用输入命令spawn-fcgi,没有该命令,因此排除。
  • 在nginx中发现反向代理  proxy_pass http://localhost:8080;   8080端口一般是node.js或java服务器用的,在命令中输入java,发现服务器安装了java,因此很大可能性是通过nginx转发到tomcat服务器。
  • whereis tomcat 没有发现有tomcat的文件或目录,但是在查询资料的过程中,了解到tomcat的路径一般为/usr/local/tomcat,因此尝试查找,发现在 /usr/local/   目录下有  tomcat8080_XXXX/  的文件夹。
  • 启动tomcat:./startup.sh   。
  • 问题解决。

总结

  • whereis命令只能用于程序名的搜索,和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。 【可能本服务器的tomcat的安装方式没有更新到该数据库文件,也有可能是其他原因,待查】
  • 解决了空间不足问题后,图片就能正常显示了,具体的原因待查。
  • 服务自启动和工作交接的重要性。

其他

  • 添加nginx和tomcat到服务器自启动项
  • vi /etc/rc.local     
  • /etc/init.d/nginx start  
    /usr/local/tomcat8080_child/bin/startup.sh

 

### 阿里云服务器安装数据库后本地无法访问解决方案 #### 1. 创建允许远程访问的新用户 默认情况下,MySQL为了安全考虑只允许`localhost`和`127.0.0.1`进行连接。如果希望从外部网络访问,则需创建一个新的具有远程权限的账户。 ```sql CREATE USER 'new_user'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'%'; FLUSH PRIVILEGES; ``` 此命令会建立一个名为`new_user`并设置密码为`your_password`的新账号,赋予其全部操作权限[^3]。 #### 2. 修改防火墙规则开放端口 确保阿里云的安全组已放行MySQL服务使用的TCP端口号,默认通常是3306。进入阿里云控制台调整相应实例的安全策略来开启必要的通信端口。 #### 3. 编辑 MySQL 的配置文件 找到MySQL配置文件my.cnf或mysqld.cnf,在其中查找bind-address参数将其值更改为服务器公网IP地址或是取消绑定限制(即注释掉该行),从而让MySQL监听所有接口上的请求: ```ini # bind-address = 127.0.0.1 ``` 保存更改后的配置文件,并重启MySQL服务使修改生效。 #### 4. 测试连通性 完成上述步骤之后可以尝试通过客户端工具如Navicat、DBeaver等软件测试能否正常连接到远端主机上的MySQL实例;也可以利用命令行方式验证: ```bash mysql -h your_server_ip -u new_user -p ``` 输入设定好的密码即可登录至目标机器运行中的MySQL环境内执行SQL语句。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值