C++从零开始websevere服务器从搭建到上线|使用华为云服务器进行项目部署

问题背景
关于使用华为云服务器进行项目部署,25届C++秋招选手,刚写完一个websever项目,想着部署一下,我这里购买的是华为云服务器2内核2G 4M带宽。
比如我想用:xxx.xxx.xxx.xxx:10000来访问部署在云服务器上的websever程序

首先先介绍一点基础知识。

公网IP和私有IP地址

公网IP

公网IP地址是在整个互联网中唯一的地址,由互联网服务提供商(ISP)分配给用户,使得设备能够直接与互联网上的其他设备通信。
很明显,如果想要在云服务器上部署我们的web项目,肯定是用我们服务器的公网IP来访问的。

我们通过 curl ifconfig.me可以获取当前公网IP地址

私有IP地址

私有IP地址是为组织内部网络(如家庭、学校或公司的局域网)保留的非路由地址。

私有IP地址只在局域网内部使用,不会被互联网路由器识别和路由。

它们有特定的范围,由互联网工程任务组(IETF)定义,如192.168.x.x, 10.x.x.x, 172.16.x.x到172.31.x.x。

局域网内的设备通过私有IP地址进行通信,当需要访问互联网时,会通过网络地址转换(NAT)技术将私有IP地址转换为公网IP地址。

使用ifconfig命令可以查看本机各个网卡的私有IP

为什么我们需要两个IP地址呢

  1. 内部网络通信:私有IP地址允许电脑在局域网内部进行通信,这对于家庭网络、办公网络等内部设备间的连接是必要的。

  2. 互联网访问:公网IP地址允许电脑通过互联网服务提供商连接到全球互联网,进行数据传输和通信。

  3. NAT技术:在大多数家庭和小型办公室网络中,一个公网IP地址通过NAT技术被多个私有IP地址共享。这样,多台设备可以同时使用一个公网IP地址访问互联网,而无需为每台设备分配一个单独的公网IP地址。

  4. 成本效益:由于公网IP地址的数量有限,且可能需要额外费用,因此使用私有IP地址可以节省成本,同时满足内部网络的需求。

  5. 安全性:私有IP地址不直接暴露在互联网上,通过NAT技术增加了一层安全防护,减少了直接遭受外部网络攻击的风险。

云服务器设置

防火墙配置基础 (⭐️不进行任何配置)

建议不进行任何配置,默认是关闭的,本节的内容完全错误,直接去配置服务商的安全组即可
不要安装firewalld服务!!!

  • 查看firewall服务状态
systemctl status firewalld
  • 查看firewall的状态
firewall-cmd --state
  • 开启、重启、关闭、firewall.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
  • 查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1. firewall-cmd:是Linux提供的操作firewall的一个工具
2. --permanent:表示设置为持久
3. --add-port:标识添加的端口

配置云服务器防火墙

  1. 查看防火墙已开放的端口
sudo firewall-cmd --list-all

输出如下:

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: dhcpv6-client ssh
  ports: 8080/tcp 80/tcp 3306/tcp 
  protocols: 
  forward: yes
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

可以看到我们并没有开放10000的端口,现在我们需要添加该端口
2. 开放10000端口

firewall-cmd --permanent --add-port=10000/tcp

然后重启防火墙

firewall-cmd --reload

这样我们就把防火墙愉快得配置好啦

配置云服务器安全组

具体可以查看文章:
在云服务器上搭建网站对外提供Web服务
在华为官方给的实例下配置安全组,开放我们的10000端口就好了。
至于配置安全组的入口自己找找就好了。
请添加图片描述
注意:源地址0.0.0.0/0表示所有IP都可通过该端口连接web服务器


总结

总而言之,无法访问最主要的原因就是防火墙的端口未开放,然后就是设置华为云服务器的安全组,这些整完,只要你服务器源代码没问题,肯定是能成功的。

综上,我们再通过浏览器访问IP:port就可以看到我们服务端的界面啦

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值