我刚买了这个最基础的36¥的L实例的云服务器,这个实例是自带公网ip的,不需要额外购买。我准备先配置好,能够通过公网ip访问,以便之后上传javaweb项目可以直接访问,不过中途遇到了点问题,但是已解决,记录一下方便以后操作,如果能帮到和我一样的纯小白就更好了。
我选的系统是CentOS7/8,之后的命令也是centos的
弹性公网ip购买后会自动绑定,不用瞎操作
接下来是购买后配置的步骤
1、添加规则
第一步找到购买的云服务器所启用的安全规则,看看有没有以下几条,没有就添加规则
点击“添加规则”。
添加以下入方向规则:
HTTP (80):允许从所有IP访问
协议类型:自定义TCP
端口范围:80
源地址:0.0.0.0/0
HTTPS (443):允许从所有IP访问
协议类型:自定义TCP
端口范围:443
源地址:0.0.0.0/0
SSH (22):允许从所有IP访问
协议类型:自定义TCP
端口范围:22
源地址:0.0.0.0/0
Tomcat (8080):允许从所有IP访问
协议类型:自定义TCP
端口范围:8080
源地址:0.0.0.0/0
优先度建议就默认(1)
2、配置实例内防火墙
启动 firewalld 服务:
sudo systemctl start firewalld
设置 firewalld 服务在开机时自动启动:
sudo systemctl enable firewalld
确认 firewalld 服务状态:
sudo systemctl status firewalld
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
运行以下命令确认EIP已经绑定到实例:
ip addr show
ps:我运行这个命令显示我eth0网卡分配给了私有ip,一开始没成功从公网ip访问的时候我还怀疑过是不是因为这个,后来证明没关系,但是始终未显示弹性公网ip已绑定到实例,如果有知道原因的大佬希望可以在评论区不吝赐教,在下感激不尽。
3、使用Apache HTTP服务器
安装Apache HTTP服务器:
sudo yum install httpd
启动Apache服务:
sudo systemctl start httpd
设置Apache开机自启动
sudo systemctl enable httpd
确认Apache服务是否正在监听80端口:
sudo netstat -tuln | grep 80
如果Apache正在监听80端口,则应该看到类似以下的输出:
tcp6 0 0 :::80 :::* LISTEN
然后为了验证你可以通过ssh连接来验证本地访问是否通畅,然后再通过浏览器url验证是否能通过公网ip访问云服务器。
先在windows电脑上打开git bash或者其他SSH客户端。
在终端中输入以下命令:
ssh your name@your eip
your name填入你的用户名
your eip 填入你的公网ip
首次连接时,系统会提示你确认主机的真实性。输入 yes 并按回车:
The authenticity of host 'XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX)' can't be established.
ECDSA key fingerprint is SHA256:xdHAPT0n584sDVYMjIl3EUv3WvPa/6RS4/bTT7C8nUk.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
输入你在创建云服务器时设置的root用户密码:
YOUR NAME@YOUR EIP's password:
成功登录后,你可以使用以下命令测试Apache是否正常运行:
curl http://localhost
应该返回Apache的默认页面内容(一串很长很长的html代码)。如果你能看到内容,说明Apache运行正常。
然后从外部浏览器访问:
http://your eip
your eip填写你的公网ip
看到这个页面就代表配置成功啦,可以通过公网ip访问云服务器啦(完结撒花)