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

文章目录

  • 公网IP和私有IP地址
    • 公网IP
    • 私有IP地址
    • 为什么我们需要两个IP地址呢
  • 云服务器设置
    • 防火墙配置基础
    • 配置云服务器防火墙
    • 配置云服务器安全组
  • 总结

问题背景
关于使用华为云服务器进行项目部署,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技术增加了一层安全防护,减少了直接遭受外部网络攻击的风险。

云服务器设置

防火墙配置基础

  • 查看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: defaulticmp-block-inversion: nointerfaces: eth0sources: services: dhcpv6-client sshports: 8080/tcp 80/tcp 3306/tcp protocols: forward: yesmasquerade: noforward-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就可以看到我们服务端的界面啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工厂方法模式设计实验

【实验内容】 楚锋软件公司欲开发一个系统运行日志记录器(Logger)。该记录器可以通过多种途径保存系统的运行日志:例如通过文件记录或数据库记录,用户可以通过修改配置文件灵活地更换日志记录方式。在设计各类日志记录器时&#…

【智能算法】回溯搜索算法(BSA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2013年,P Civicioglu等人受到当前种群与历史种群之间的差分向量的引导启发,提出了回溯搜索算法(Backtracking Search Algorithm, BSA)。 2.算法原理…

刷题训练之二分查找

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握二分查找算法 > 毒鸡汤:学习,学习,再学习 ! 学,然后知不足。 > 专栏选自:刷题…

分析 MyBatis/MyBatis-Plus 慢 SQL 的分析组件 --SQL 慢镜️‍♀️

大家好!我是聪ζ🌱我做了一个分析 MyBatis/MyBatis-Plus 慢 SQL 的分析组件 --SQL 慢镜🕵️‍♀️ GitHub仓库地址🚀: https://github.com/lhccong/sql-slow-mirror 点点 star 我的朋友们✨ 背景🧊: 大家…

(十五)C++自制植物大战僵尸游戏僵尸基类讲解

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/m0EtD 在游戏中,最重要的两个类别就是植物与僵尸。僵尸可以对植物进行攻击,不同的僵尸攻击方式可能会不同,但是不同又有许多相同的属性。在基类(父类)中定义僵尸共有属性,供派生类(子类)继承。 僵尸状态转换 僵尸…

Nacos分布式配置中心

<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 https://…

Android永不息屏和关闭锁屏

作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…

kali——勒索病毒metasploit

我先来叙述一下大致流程&#xff1a; 1、使用mfs对 445端口进行攻击获得一系列权限 2、更新mfs版本 3、使用search 17_010对命令进行查看 4、use auxiliary/scanner/smb/smb_ms17_010使用该模块设置靶机set rhosts 靶机ip和设置本机监听端口 set lhost 0-65535 5、options…

数智亚运,为什么需要智能电子桌牌?

近日&#xff0c;杭州亚运会博物馆正式对公众开放&#xff0c;深度还原了杭州从申请办、筹办至举办亚运会的各个精彩历程。馆内有“亚运与杭州”、“亚运与亚洲”“亚运与未来”三大板块展示区&#xff0c;展示了大量亚运会使用过的实物&#xff0c;还有当时引人注目的数字科技…

53、图论-课程表

思路&#xff1a; 其实就是图的拓扑排序&#xff0c;我们可以构建一个图形结构&#xff0c;比如[0,1]表示1->0&#xff0c;对于0来说入度为1。 遍历结束后&#xff0c;从入度为0的开始遍历。引文只有入度为0的节点没有先决条件。然后依次减少1。直到所有节点入度都为0.然后…

开发同城O2O跑腿系统源码:构建高效便捷的本地服务平台教程

为了满足用户对便捷的需求&#xff0c;今天我们将一同探讨如何开发一个高效便捷的同城O2O跑腿系统&#xff0c;以构建一个功能全面、操作简单的本地服务平台。 一、确定需求和功能 在开发同城O2O跑腿系统之前&#xff0c;首先需要明确系统的需求和功能。用户可以通过该系统发布…

flutter笔记-hello dart

文章目录 1. 搭建环境2. 运行官方首个程序3. AS中运行iOSAndroid 语法简述1. 变量常量字符串补充 2. 集合3. 函数关于可选报错&#xff1a;匿名函数 4. 特殊运算符5. 类 dart 包 1. 搭建环境 环境的搭建在window和mac都差不多&#xff0c;都是从官网下载对应操作系统对应版本的…

某零售企业招聘管理体系搭建咨询项目

科学岗位分析&#xff0c;改善招聘流程&#xff0c;提高招聘及时率随着公司不断发展壮大&#xff0c;企业规模逐渐增大&#xff0c;部门设置也日益增多&#xff0c;因此对人员的需求也日益提高。但是目前该企业在人员招聘方面逐渐暴露出一些诸如岗位分析不到位、缺乏整体面试计…

开源博客项目Blog .NET Core源码学习(17:App.Hosting项目结构分析-5)

本文学习并分析App.Hosting项目中前台页面的作品展示页面和首页页面。 作品展示页面 作品展示页面总体上为上下布局&#xff0c;上方显示导航菜单&#xff0c;下方从左向右显示图片数据&#xff0c;支持放大查看图片和下载图片。整个页面使用了layui中的面包屑导航、弹出层、流…

强化学习2:Q-learning 算法

如果对强化学习没有了解&#xff0c;推荐先学习一下&#xff1a;强化学习基本原理 1 Q-Learning&#xff1a;简介 Q-Learning 是一种基于价值迭代的强化学习算法&#xff0c;用于解决马尔可夫决策过程&#xff08;MDP&#xff09;中的问题。在 Q-Learning 中&#xff0c;代理…

SAP DMS创建文档根目录操作简介

前面我们已经对DMS的后台进行了系统的配置,本文开始我们对DMS的前台操作进行说明 1、CV01N创建文档 注意:EDIPUBLICROOTFOLDER为根目录的凭证号,不允许更改。 输入好后回车。进入下图所示: 点击文档浏览器,进入下一屏如下图: 注意:点击创建新的私人文件夹按创建是创…

关于pdf.js中文本坐标尺寸的使用

一个电子教材项目中有这样一个需求&#xff1a; 用户向网站上传一个PDF书籍后&#xff0c;网站可以对PDF书籍进行解析&#xff0c;并支持用户对PDF书籍的每一页做一些操作&#xff0c;比如&#xff1a;为英语课本的单词和句子添加音频热区。因为热区数量很多&#xff0c;所以&a…

埋点,自己写插件,自己写的按钮埋点,掘金同款投递简历

20分钟掌握 Vite 插件开发 - 掘金 vite的生命周期啥的 1.浏览器的控制台输出有样式的字 // const randomLetterPlugin ()>{ // const letters [wwwwwww,000000000000,888888888888]; // //随机获取一个字符并打印 // const printRandomLetter ()>{ // …

PHP校验15位和18位身份证号

第十八位数字的计算方法为&#xff1a; 1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分 别为&#xff1a;7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 2.将这17位数字和系数相乘的结果相加。 3.用加出来和除以11&#xff0c;看余数是多少&#xff1f; 4…

【MySQL 数据宝典】【磁盘结构】- 005 Undo log 撤销日志

一、基本介绍 ​ 每当我们要对一条记录做改动时&#xff08;这里的改动可以指 INSERT 、 DELETE 、 UPDATE &#xff09;&#xff0c;都需要留一手 -> 把回滚时所需的东西都给记下来 ​ 你插入一条记录时&#xff0c;至少要把这条记录的主键值记下来&#xff0c;之后回滚的…