华为云云耀云服务器 L 实例评测|配置教程 + 用 Python 简单绘图

2023-11-15

Part.I Introduction

本篇博文是为了参与华为“【有奖征文】华为云云服务器焕新上线,快来亲身感受评测吧!”活动 1,顺便免费体验一下华为云平台。

在这里插入图片描述

Chap.I 云耀云服务器 L 实例简介

云耀云服务器 L 实例是新一代开箱即用、面向中小企业和开发者打造的全新轻量应用云服务器。云耀云服务器 L 实例提供丰富严选的应用镜像,实现应用一键部署,助力客户便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等 2

云耀云服务器 L 实例主要有如下功能:
在这里插入图片描述
更多信息参见 2

Chap.II 参与活动步骤

步骤如下:

  • 首先在『华为云平台』注册账号
  • 填写问卷,填问卷需要华为云 ID,就是你的账号名(如果有租户就是租户名)
  • 等待几天会收到满 ¥55 减 ¥54.99 的优惠券
  • 网址 用优惠券花 3 分钱买一个月的『Linux 可视化宝塔面板』
    在这里插入图片描述
  • 购买完成之后依次点击『顶部菜单』→『资源』→『我的资源』→『侧边菜单』→『弹性云服务器』就可以看到自己购买的服务了
    在这里插入图片描述

注:宝塔 Linux 面板 8.0.0.1:2核2G|系统盘 40GiB|流量包 400GB|峰值带宽 3Mbit/s

Part.II 配置

Chap.I 初步配置

  • 首先需要设置密码:点击上面的『重置密码』(因为是第一次使用,所以要设置密码),设置好之后就可以使用啦~
  • 在终端中输入ssh root@120.46.134.155(后面的 IP 是公网 IP,就是上面图片中第一行的 IP)
  • 然后输入密码就可以登进去了
    在这里插入图片描述

免密登录:因为每次登录都需要输入密码,这样不免很烦,可以参考 3 实现免密登录。下面简单介绍一下步骤:

1、cd ~/.ssh/进入ssh所在目录
2、ssh-keygen -t rsa 生成公私钥,一路回车
3、将公钥拷贝到服务器上,并将其追加到服务器上./.ssh/authorized_keys
4、更改服务器上的.ssh权限

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

5、在本地.ssh/config文件中加入 a1 (这步好像没必要?这是用 VScode 才需要的步骤)

Host haoJiDeMingZi 								# sui bian qu
    HostName 111.111.1.1 		 				#(IP)
    User usrname                	  			# username
    IdentityFile /Users/xxx/.ssh/id_rsa			# si yao di zhi

6、在终端输入

ssh somebody@ip
# eg:
ssh usrname@111.111.1.1

即可免密连接!

Chap.II 配置安全组

说实话,笔者之前没有做过这种操作,是看了一个大佬的文章 4 才意识到要这么做。

进行安全组规则设置是为了保证来自外部操作来链接服务器的安全性,使用服务器时,服务器会提供(一般一个服务器上最多能监听65535个端口)端口,让外部接入服务器进行操作,对进行安全组配置就是对每一个端口设置开放与否


进入安全组配置的方法:依次点击『顶部菜单』→『资源』→『我的资源』→『侧边菜单』→『弹性云服务器』→最右边『更多』→最下面『网络设置』→『安全组规则配置』→『配置』规则→可以进行修改、复制等操作。可以看到华为云的安全配置里面已经有默认的几个安全组规则,可以查看后自行选用,当然不满意的话也可以自己新建。

在这里插入图片描述
详细的安全组配置实例参考官方文档 5

Part.III 简单使用

就把这个云服务器当作一个 Linux 系统的电脑使用就行了(虽然利用它还可以搭建网站等等,具体笔者也没有尝试过)。里面已经安装了 Python

root@hcss-ecs-903f:~# python3 -V
Python 3.10.6

Chap.I VScode 远程连接华为云

虽然使用 powershell 已经可以很方便地和华为云建立远程连接,但是在编程的过程中,使用 Linux 终端不免有些麻烦。因为笔者习惯用 VScode,它既可以配置语言解释器(在编程的过程中会提示错误信息),也可以像 Windows 那样很方便地浏览文件。下面就简单演示一下如何用 VScode 远程连接服务器 6

步骤如下:

  1. 从官网下载 VScode
  2. 安装 Remote-SSH 插件
  3. ~\.ssh文件中添加服务器连接配置(其实上面免密登录第五步已经做了此操作)
  4. 连接服务器(第一次连接需要进行一些配置,比如选择服务器是什么操作系统之类的)

连接好之后像笔者一样就可以尽情地玩耍了。

在这里插入图片描述
值得注意的是,当有多个 Python 时,可以Ctrl+Shift+P,输入python 选择你想要的解释器,当然第一次使用华为云就不需要考虑这点了

在这里插入图片描述

Chap.II 简单绘图

下面就用 Python 来画个图吧,首先需要安装matplotlib

pip install matplotlib

然后找一个合适的地方进行简单的测试,笔者新建了文件夹

mkdir project/20230915_test

然后新建一个文件

touch plot.py

将脚本贴进去

import numpy as np

def draw_cum_prob_curve(data,bins=20,title='Distribution Of Errors',xlabel='The Error(mm)',pic_path=''):
    """
    plot Probability distribution histogram and Cumulative probability curve.
    
    > @param[in] data:          The error data
    > @param[in] bins:          The number of hist
    > @param[in] title:         The titile of the figure
    > @param[in] xlabel:        The xlable name
    > @param[in] pic_path:      The path where you want to save the figure
    return:     void
    """
    import matplotlib.pyplot as plt
    import matplotlib as mpl
    from matplotlib.ticker import FuncFormatter
    from matplotlib.pyplot import MultipleLocator
    def to_percent(temp,position=0):          # convert float number to percent
        return '%1.0f'%(100*temp) + '%'
    fig, ax1 = plt.subplots(1, 1, figsize=(12, 6), dpi=100, facecolor='w')
    font1 = {'weight': 600, 'size': 15}
    
    n, bins, patches=ax1.hist(data,bins =bins, alpha = 0.65,edgecolor='k') # Probability distribution histogram
    yt=plt.yticks()
    yt1=yt[0].tolist()
    yt2=[i/sum(n) for i in yt1]
    ytk1=[to_percent(i) for i in yt2 ]
    plt.yticks(yt1,ytk1)
    X=bins[0:-1]+(bins[1]-bins[0])/2.0 
    bins=bins.tolist()
    freq=[f/sum(n) for f in n]
    acc_freq=[]
    for i in range(0,len(freq)):
        if i==0:
            temp=freq[0]
        else:
            temp=sum(freq[:i+1])
        acc_freq.append(temp)
    ax2=ax1.twinx()                         # double ylable
    ax2.plot(X,acc_freq)                    # Cumulative probability curve
    ax2.yaxis.set_major_formatter(FuncFormatter(to_percent))
    ax1.set_xlabel(xlabel,font1)
    ax1.set_title(title,font1)
    ax1.set_ylabel('Frequency',font1)
    ax2.set_ylabel("Cumulative Frequency",font1)
    plt.savefig(pic_path,format='png', dpi=300)


example_list=[]
n=10000
for i in range(n):
    tmp=[np.random.normal()]
    example_list.extend(tmp)
tit='TEST'
xla='DATA'
pic_path='/root/project/20230915_test/test.png'		# file_save_path
draw_cum_prob_curve(example_list,50,tit,xla,pic_path)

F5运行,就得到了绘图结果,如果想将绘图结果保存在本地,可以

scp root@120.46.134.155:/root/project/20230915_test/test.png ./

绘图结果如下所示:
在这里插入图片描述

Reference


  1. 【有奖征文】华为云云服务器焕新上线,快来亲身感受评测吧! ↩︎

  2. 华为云云耀云服务器 L 实例 ↩︎ ↩︎

  3. 免密连接服务器 ↩︎

  4. 配置安全组 ↩︎

  5. 安全组配置示例 ↩︎

  6. VScode 远程连接服务器 ↩︎

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为云云耀云服务器 L 实例评测|配置教程 + 用 Python 简单绘图 的相关文章

随机推荐

  • 《银河麒麟高级服务器操作系统V10》使用

    一言而论 讲了麒麟服务器V10的基本使用 包括终端 VNC 文章目录 前言 基本架构 环境 硬件环境 软件环境 麒麟安装步骤 1 在宿主机上安装好VM 并且激活 2 使用VM创建虚拟机 3 启动虚拟机 终端常用点 VNC的使用 麒麟上安装V
  • 关于MeasureSpec的一些理解

    MeasureSpec有以下三种模式 public static final int UNSPECIFIED 0 lt lt MODE SHIFT public static final int EXACTLY 1 lt lt MODE S
  • Qt编程(二)-初步进阶

    Qt编程 初步进阶 前言 一 Qt自定义信号和槽 1 自定义信号和槽 2 自定义信号带参数重载问题 3 函数重载问题总结 4 信号和槽的扩展 1 信号连接 connect 2 信号的断开 disconnect 3 信号和槽的参数 二 Lam
  • LetCode#1给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。JAVA

    题目 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不能重复出现 你可以按任意顺序返回答
  • Vue-cli快速创建vue项目

    使用vue cli需要的环境 nodejs 一 什么是vue cli 还记得最初使用webpack搭建项目的痛苦了吗 各种配置 去配置我们的各种loader 插件 项目运行脚本 非常难受 今天我们就学习vue cli 这个东西 再无webp
  • 直接替换Springboot jar包中的文件

    Linux Springboot 在不重新打包的情况下 修改配置文件 直接vim xxx jar包后 可以通过 关键字来查找文件 查找到以后 通过方向键进行控制 enter进入文件 i进入插入模式 修改文件 保存等操作和vim的操作一样 修
  • spdlog日志安装与使用

    spdlog是一个开源的且只需要头文件即可使用的跨平台日志库 适用于c 11版本 1 安装步骤 1 源码下载 git clone https github com gabime spdlog 2 拷贝头文件 cp rf spdlog inc
  • Java中的“static“关键字

    写在前面 前阵子看到一篇有关于Java中static的使用和介绍 讲的比较全面 近几日忽然想起早先工作碰到的有关static的相关问题 自己也总结一下吧 static是我们项目中经常用到的关键字 也是Java中非常重要的一个关键字 stat
  • 单片机多任务程序的框架

    下面说的单片机也主要是51与台系芯片 也就是现在的工作 其它应用不在讨论范围 才识有限 也敬请前辈们勘误 指教 一个真正意义的单片机系统肯定会是多任务的 怎样建立一个多任务程序的框架 1 前后台系统 前台是中断程序 后台是执行主程序 当中断
  • java 图书馆管理系统(超低配版)

    目录 图书管理系统要求 思路 show 方法 add 方法 search方法 delete 方法 代码 接口 Book类 Reader类 User类 Informatica类 BookList类 ReaderList类 UserList类
  • 借助py2neo将csv文件导入neo4j

    下载安装建议 戳我 启动neo4j 安装好之后以管理员权限启动 cmd 输入 neo4j bat console 启动 neo4j 在浏览器端可以打开 http localhost 7474 则说明启动成功 关于py2neo 先来了解些 p
  • this指针概念

    c 中成员变量和成员函数是分开存储的 每一个非静态成员函数只会诞生一份函数实例 也就是说多个同类型的对象会共用一块代码 那么问题是 这一块代码是如何区分哪个对象调用自己呢 c 通过特殊的对象指针 this指针 解决上述问题 this指针指向
  • 数组判断任意出现的重复值

    1 题目背景 给你一个整数数组nums 如果任一值在数组中出现至少两次 返回true 如果数组中每个元素互不相同 返回false 2 代码实现 public class Solution public static void main St
  • socat开放端口&&net命令&&sc命令

    socat socat是一个多功能的网络工具 名字来源于SOcket CAT 是netcat的增强版 扩展了设计 并有新的实现 工具下载地址 http www dest unreach org socat 演示如何开放端口 1 如下所示 开
  • Java动态执行代码字符串

    1 步骤 假如我们需要动态执行一段字符串形式的java代码 大概需要这样几步 生成文件 具体的文件 内存中的文件 调用javac编译 通过反射执行 2 生成文件 确定字符串的形式 字符串已经是完整的 java形式 那么就不再需要再做操作 写
  • 尼克劳斯·沃斯奖 (Niklaus Wirth Award) Pascal最具价值贡献者奖Marco Cantú获奖感言:关于Pascal和Delphi历史的个人观点

    这是一篇很长的博客文章 其中包含我在萨拉曼卡国际Pascal帕斯卡大会上发表的演讲 这是一部Pascal的历史 但是是从非常个人的角度来看的 在开始演讲之前 我要感谢国际Pascal大会的组织者 特别是塞尔吉奥 他们为举办这次活动付出了巨大
  • QT图片叠加CompositionMode效果一览

    QPixmap tmpPix pix size tmpPix fill Qt transparent QPainter p1 tmpPix p1 setCompositionMode QPainter CompositionMode Sou
  • C++操作Redis的简单例子

    相信做过服务端开发的应该都知道Redis的大名 它是一个开源的使用ANSI C语言编写 支持网络 可基于内存亦可持久化的日志型 Key Value数据库 我们后台是用C 开发的 问了下他们 用的缓存框架有Redis SSDB 今天看了几个帖
  • linux kill掉其他的登录用户

    为什么80 的码农都做不了架构师 gt gt gt 我们在LINUX下可以使用多个用户在不同地方连接上LINUX服务器 这样也出现一个问题就是会有多个用户登陆到服务器上了 在系统中我们可以使用命令who 或者w 来查看当前有多少个用户登陆了
  • 华为云云耀云服务器 L 实例评测|配置教程 + 用 Python 简单绘图

    文章目录 Part I Introduction Chap I 云耀云服务器 L 实例简介 Chap II 参与活动步骤 Part II 配置 Chap I 初步配置 Chap II 配置安全组 Part III 简单使用 Chap I V