阿里云轻量级服务器部署了项目外网无法访问

阿里云轻量级服务器部署了项目外网无法访问

  • 1、问题描述
  • 2、配置安全组权限
    • 2.1、阿里云控制台权限配置(热加载,不用重启)
    • 2.2、在服务器中查看防火墙中有哪些端口被开放(非热加载,最后一定要手动重新加载)
  • 3、如果设置了上面两个之后还是无法正常访问
    • 3.1、确定问题方向
    • 3.2、分析具体问题

1、问题描述

买了一个阿里云轻量级服务器,在上面搭建了一个nexus私服仓库,启动成功之后,在公网无法访问,报连接被拒绝。
这个对于阿里云服务器来说,是要配置安全组规则的,就是说你用到哪个端口需要为这个端口去配置权限,配置的方式下面所示:
如果权限也配置了还是无法访问,请看最后的问题分析,或许对你有所帮助

2、配置安全组权限

我这里买的是阿里云的轻量级服务器,所需要配置的地方有两个,一个是在阿里云的控制台,另一个是在linux服务器里面。

2.1、阿里云控制台权限配置(热加载,不用重启)

进入到自己的轻量级服务器中找到防火墙,进来之后一般都会有默认的 HTTP、HTTPS、SSH三个协议已经配置好,后面的两个自定义是我配置的,也就是说你部署的服务端口号是多少,你就得配置多少的,在这里配置的端口都是实时生效的,不需要重启服务或者什么的。

阿里云轻量级服务器部署了项目外网无法访问_第1张图片

2.2、在服务器中查看防火墙中有哪些端口被开放(非热加载,最后一定要手动重新加载)

首先要强调一点,因为阿里云服务器是在公网,所以我们的防火墙必须开启,否则会产生很多不必要的麻烦,被攻击什么的。
下面是防火墙相关的几条命令

# 设置开机启用防火墙
systemctl enable firewalld.service
# 设置开机禁用防火墙
systemctl disable firewalld.service
# 启动防火墙(暂时的,重启服务会恢复到默认)
systemctl start firewalld
# 关闭防火墙(暂时的,重启服务会恢复到默认)
systemctl stop firewalld
# 检查当前防火墙状态
systemctl status firewalld 

在检查完防火墙必须是开启的状态下,我们需要看一下以下信息
首先看一下在服务器中防火墙都开启了哪些端口,用如下命令

firewall-cmd --permanent --list-port

使用上述命令如下图所示则是我开启了 8080,8081,9103端口

在这里插入图片描述

如果我们没有开启呢,那么可以使用下面命令开启:

firewall-cmd --permanent --zone=public --add-port=9103/tcp

返回 success 则代表成功

在这里插入图片描述

同样的,如果我们不需要开启哪个端口,可以用下面命令移除掉(也是需要返回success的):

firewall-cmd --permanent --zone=public --remove-port=9103/tcp

重点:重启完成之后一定要手动重新加载防火墙,命令如下:

firewall-cmd --reload

3、如果设置了上面两个之后还是无法正常访问

3.1、确定问题方向

是端口配置问题还是服务搭建等其他问题?

为了确认这个问题,首先我在本地写了一个springboot的hello world项目,只有一个路径,然后部署到服务器上,去访问,最后竟然发现可以访问,那么这个时候就确定了并不是端口开放问题了。

3.2、分析具体问题

发现了一个现象:

我发现我的服务器会经常卡顿,于是我去查了一下什么情况能造成服务器卡顿,发现有以下几种情况:
1、服务器遭到攻击。
2、服务器有病毒。
3、服务器被某个服务占用内存过大。
很明显,前两个原因不太符合我的实际情况,因为我的服务器是刚买的,我才只搭建了这一个服务,所以我就以第三点来进行深入分析。


验证是服务占用内存过大猜想:

为了确保是不是当前服务造成的服务器卡顿,我开启了两个xshell窗口,一个窗口输入 top 命令,实时打印服务器的cpu占用情况,一个窗口去启动服务。
启动完成之后我来到打印cpu占用率这边窗口看了一眼,发现第一条的cpu占用率竟然已经超过了100%,然后回到启动服务的窗口,窗口变得异常的卡顿,我艰难的使用 ps -ef | grep xxx 命令打印出我服务的信息,通过对比两边的线程号,发现是我的服务造成的,而且在项目完全启动之后还是一直保持着高cpu占用率。
然后问题就很明显了,是我的服务器不够用,于是花钱将服务器升了个级,就好多了。

你可能感兴趣的:(阿里云,服务器,阿里云,linux)