使用华为云搭建属于自己的云端开发环境

0、写在前面的话

为什么会有这篇文章呢?哈哈,主要是牛客网的活动太诱人了!牛客网联合华为云搞活动,满足某些条件,只需要9元就能享受到一年的云服务器体验,你买不了吃亏;九块钱,你买不了上当……嘿嘿名额有限,看到消息就速度上车了。

给大伙简单说一下活动的条件和值得吐槽的地方吧。

首先,需要满足一定的要求才能参加这个活动:

  • 首先,你得是学生

    • 注意,24周岁以下免学生认证直接购买,24岁之后需要完成学生认证之后才能参与!!!
  • 之前没有购买过华为云

    • 这个有些疑惑,先画条线,我的理解是如果之前用自己的身份信息购买过华为云,那么这次(哪怕用了心的手机号)就不能参加了。
  • 必须是牛客网用户

    • 没账号,没关系,没有账户限制。
  • 必须通过牛客网专属链接注册的新账户才能够参加活动

槽点:

1、敲黑板了!!!华为云实名认证必须要采集人脸信息(就是录一段视频)!!!(我什么也不想说!!!)

2、官方支持的镜像列表里缺少一些版本,比如我想用Ubuntu 14.04,它那就没有(别问为什么非得是这个版本,编译环境所需啊)

3、……(待更)

好了,废话少说,进入正题。

1、动机

为什么需要一台云服务器,原因如下

  • 日常学习Linux
  • 可以跑一些耗时长的任务。这时候用虚拟机就不是方便,比如待机啊、性能啊,等等
  • 配合iPad或手机,可以远程debug代码
  • 可以搭建自己的blog
  • 最主要还是价格便宜,才九块钱。(默默看了眼在一旁吃灰的另一台国外的vps

2、开始搭建

话不多说,素质三连:

2.1 购买之后

系统选择的是Ubuntu 16.04 LTS。
图片说明
好像是强迫症,一拿到新鲜热乎的云服务器就忍不住要更新一下:

apt update && apt upgrade -y

默认的主机名又臭又长,让我们给它改一下:

hostnamectl set-hostname [your-host-name]

华为云上的云服务器直接给root权限的,没有给我们配给我们使用的普通用户账户。

嗯,好像直接操作root权限不怎么好,那么我们来添加一个普通用户,再把他添加进sudo用户组里。

useradd -m -s /bin/bash [your-user-name]
  • -m:自动创建用户的家目录
  • -s:指定用户登入后使用的shell

然后把这个用户加入到sudo用户组里:

usermod -G sudo [your-user-name]

最后不要忘记给他设置密码,不然是登不上的:

passwd [your-user-name]

大功告成,让我们切换到该普通用户进行下一步。

之后的操作大都是使用普通用户的身份操作。

2.2 安装必备软件

一般,我会选择安装这几个软件在远程服务器上

  • tmux:替代screen的绝佳神器,好用到爆!
  • nload:观察网络流量的,不过自从用了Mobaxterm,这个就排不上用场了
  • htop:top的替代品,查看当前系统运行的进程信息,显示更美观
  • vim:文本编辑器,嗯,我是vim党……

2.2.1 无root权限安装tmux

由于tmux在官方仓里面的版本太久了,所以我打算从源码编译,并且安装到自己的$HOME目录下的.user/local文件夹下(这样做的好处是可以不用root权限就能安装软件)。

开始的开始,我们需要先安装配置依赖和编译环境:

sudo apt build-essential autotools-dev automake libtool pkg-config bison -y

注:这里可能列的会不全,你应该根据自己的实际情况(对应的报错信息),安装缺少的库文件。

先要把代码从Github上clone到云服务器上。

注:接下来所进行的操作可能会由于网络原因,比较慢,建议使用加速工具。

由于tmux依赖libeventncurses,我们首先需要安装这两个,也从源码安装吧:

# 安装libevent
cd ~
git clone https://github.com/libevent/libevent.git
cd libevent
git checkout release-2.1.11-stable  # 这个是目前的最新版
bash autogen.sh
./configure --prefix=$HOME/.user/local --disable-shared
make -j8
make install
# 安装ncurses
cd ~
wget https://invisible-mirror.net/archives/ncurses/ncurses-6.1.tar.gz
tar zxvf ncurses-6.1.tar.gz
cd ncurses-6.1
./configure --prefix=$HOME/.user/local
make -j8
make install

接下来安装tmux

# 安装tmux
cd ~
git clone https://github.com/tmux/tmux.git
cd tmux
git checkout 3.0 # tmux最新版本
bash autogen.sh
# 注意,下面比较关键
./configure CFLAGS="-I$home/local/include -I$home/local/include/ncurses" LDFLAGS="-L$home/local/lib -L$home/local/include/ncurses -L$home/local/include"
# 然后再输入
CPPFLAGS="-I$home/local/include -I$home/local/include/ncurses" LDFLAGS="-L$home/local/lib -L$home/local/include/ncurses -L$home/local/include"
# OK,编译安装
make -j8
# 编译成功以后,直接将生成的二进制文件`tmux`拷贝到指定目录下:`$HOME/.user/local/bin`
cp ./tmux $HOME/.user/local/bin
# 别忘记将该目录添加到环境路径
PATH=$HOME/.user/local/bin:$PATH # 临时生效,重启后丢失
# 为了每次登陆后不用重新配置,搞得那么麻烦,添加到`.bashrc`里
echo "export PATH=$HOME/.user/local/bin:$PATH" >> ~/.bashrc
# 万事大吉,看一下是否安装成功
tmux -V # 查看tmux安装的版本号

2.1.2 编译安装vim

为啥要编译安装搞得这么麻烦呢?原因在于包管理器中的版本可能没有开启某些特性(需要在编译时作为参数输入),再者就是为了使用某些更高版本的软件,所以需要编译安装。

不过幸好在这里,系统中自带的vim已经支持我所想要的python3(因为我需要用YCM插件,可通过vim --version查看vim是否开启了想要的功能),所以就不用搞得那么麻烦了。

如果没开通,那就编译安装吧,这里有篇教程,讲的很全,看+Google即可解决。

等等,我们不是要用它作为远程开发服务器吗?这些哪里够了?

2.3 使用VSCode+Remote SSH插件进行云端开发

不得不说,近些年来,MS是越来越拥抱开源了,开源了一些非常出色的作品,其名下开源的Visual Studio Code,简称VS Code,正是一款功能强大、开源免费的文本编辑器,配合强大的插件,充当IDE也可以说足够了。

2.3.1 下载安装VS Code

官网:https://code.visualstudio.com

这个不多逼逼。

2.3.2 安装插件

  • Remote SSH
  • Remote Development

安装不多说,使用也相当简单。

安装成功以后,左侧边栏会出现一个新的图标,点击图标,然后又可以看到出现SSH TARGETS`一栏

图片说明
鼠标移到上面,有一个加号,点击加号,输入ssh连接命令。

选择一个ssh configuration,然后提示添加成功。

移动到创建好的那一项,又会出现一个加号,提示connect to Host in New Window,点击,然后提示输入密码,开始连接服务器。

注:第一次使用,由于会在服务器下载、配置一些信息,等待的时间可能会有些久。

左下角会有状态显示。当一切OK后,点击左侧边栏第一项,Open Folder——选择打开一个工作文件夹,就可以选择一个目录,作为开发的工程目录啦!

3、最后

关于云服务器的用法,还有更多好玩的、实用的等待大家去挖掘。以后遇到有使用价值的,再来和小伙伴分享啦!今天就到此为止咯~

End to End.