前言

  最近准备认真学习一下微服务,大家也都知道,搞微服务的话,应用都是部署到linux系统下面,我这里选择了使用Ubuntu作为服务器,记录了自己经过大半天踩坑的经验,分享给大家。这个镜像,我将会保持尽量简洁,除了必要的Open-SSH需要装上外,其余的能不装的都不装,作为我后续装docker服务的基础虚拟机。

一、下载Ubuntu最新版镜像

  官网地址:https://cn.ubuntu.com/download
在这里插入图片描述
  找到最新版,不要点右边的直接下载(速度比较慢),点左边那个链接,可以追溯到Ubuntu在中国的镜像仓库,下载速度可以飚满(岂不美哉)。
在这里插入图片描述

  找到页面最底下又有个链接
在这里插入图片描述
  再点进去查看所有的镜像地址,往下翻找到中国的镜像地址,前面几个的地址的下载带宽1Gbps,可以把你的网速飚满。选一个点进去下载吧。
在这里插入图片描述
  我就选了第一个,找到对应的服务器版本的系统镜像文件下载即可。
在这里插入图片描述

二、在虚拟机中安装Ubuntu

1、配置虚拟机的硬件

  这里按部就班照着操作就好了,关键的地方我会给出说明
在这里插入图片描述
在这里插入图片描述
  这里先选稍后安装操作系统防止影响后面的配置,VMware比较智能,如果你选择了Ubuntu的系统镜像,它会把有些配置步骤跳过去,故这里先不选,留到后面再选。
在这里插入图片描述
  自己取个名字,保证安装的路径不要有中文
在这里插入图片描述
  根据自己的情况来吧,电脑性能好的可以多个处理器核心数
在这里插入图片描述
  先默认分1个G给它
在这里插入图片描述
  网络类型选择NAT
在这里插入图片描述
  按照推荐的即可
在这里插入图片描述
  按照推荐的即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  这里推荐硬盘容量受限的小伙伴选第三个,虽然性能会比存储为单个文件的要低一些,但是可以节省硬盘空间啊!
在这里插入图片描述
在这里插入图片描述
  点击自定义硬件
在这里插入图片描述
  选择光驱一栏,找到刚才下载好的Ubuntu系统镜像文件,点确定
在这里插入图片描述
  启动虚拟机
在这里插入图片描述

2、配置安装Ubuntu系统

  接下来进入Ubuntu系统的相关配置,查看官网,最新版的安装器换成了Subiquity,也就是下面的安装界面可能会跟之前的16,18等版本不同,所以有些地方大家还是需要注意下的。
在这里插入图片描述
  选English
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  这里光标调到第二项,把动态分配的IP改成静态的,也可以后面系统安装完了进行入系统以后再改;我这里是选择后者。
在这里插入图片描述
  这里的代理地址一定要改,后面的安装会用到网络下载一些软件的依赖。如果不改的话,后面下载就会特别慢,我第一次装没有填中国的软件源,结果我等了三个小时都没装好,而且最后还导致安装失败了(惨痛的教训,大家一定要引以为戒)。我这里改成了阿里云的源,第二次装速度贼快,一会儿就装好了。
在这里插入图片描述
  到了分区的步骤了,如果大家嫌麻烦可以跟我一样选第一个,然后下面的 LVM的选项勾一下,这个LVM是磁盘扩容技术,在生产环境中可是很重要的,当一个我们部署的应用把一个硬盘写满了的时候,如果没有用这个技术的话,只能暂停服务,更改应用写的路径,或者将原数迁移到一个更大的硬盘中之后,再将更大的硬盘替换掉原来的硬盘,这个过程非常麻烦,用了LVM之后就可以对几块个硬盘挂在到应用相同的写路径下面,从而完成了动态扩容。所以推荐大家勾上。
在这里插入图片描述
  这里无论是用户选择了自主分区还是系统默认分区都会显示一个最后的分区结果
在这里插入图片描述
  到这一步就会弹出一个确认框,这里需要注意了,一旦点继续了就意味着不能回退了,如果前面有哪一项没有配置妥当,就只能全部重来了,相信大家照着文档操作不会重来的(nice)。
在这里插入图片描述
  这里自己看着办吧,自己玩儿密码还是简单点好,忘了可就得不偿失,只能重装了。
在这里插入图片描述
  这个选项必勾,是后面使用XShell或者其他工具进行SSH连接的前提。

在这里插入图片描述

  下面选择No就行了
在这里插入图片描述
  这里可以根据需求勾选需要用到的软件,我为了系统的精简和干净就没勾。
在这里插入图片描述
  到这里了等待一会儿就行了,网速快的话,估计分分钟就好了
在这里插入图片描述
  出现绿色的reboot选项,说明系统就装好了,重启即可
在这里插入图片描述
  重启之后如果进入不去系统就把光驱的连接手动断开
在这里插入图片描述
  重启后,输入刚才设置的账号密码就能登录成功,就可以进入Ubuntu应用的部署了!
在这里插入图片描述
如果想使用root权限进行一些操作,可以在指令前面添加sudo
在这里插入图片描述
  输入命令ifconfig查看系统系统IP地址,居然提示没有这个命令,需要使用apt下载安装net-tools

在这里插入图片描述

3、修改软件源,提高下载速度

考虑到apt-get的软件源还是国外的,下载速度比较慢,所以咱先不急着去装net-tools,先把软件源换成国内的 ,这样一来下载速度会快得一批,所谓磨刀不误砍柴工嘛!

cd /etc/apt  //进入apt的配置路径
sudo cp sources.list sources.list.bak //备份原始软件源配置文件
sudo vim sources.list //编辑配置文件

  查看配置文件中的软件源列表
在这里插入图片描述
  紫色的文字就是原来Ubuntu默认的软件源网址,我们使用apt-get安装的软件默认会去这个网址下载,所以这里需要把这个网址替换掉,我这里使用的是阿里云的软件源,所以将所有的http://cn.archive.ubuntu.com/ubuntu都替换成了http://mirrors.aliyun.com/ubuntu/即可,我这里由于没有安装vmware-tools所以暂时不能直接复制粘贴替换内容。
如果有同志跟我一样碰到不能通过ipconfig获取ip从而不能使用SSH,并且也没有装vmware-tools的情况,是不是很无奈,怎么样都不能复制粘贴这么一堆软件源配置了,我这里提供一个思路,简化大家的工作量。
  在vim中使用下面的命令可以将所有的对应地方的内容进行批量替换,这条命令就跟我们平时熟知的Ctrl+F5替换是一样的效果。

:%s/http:\/\/cn.archive.ubuntu.com\/ubuntu/http:\/\/mirrors.aliyun.com\/ubuntu/g

注意,网址中的“/”的需要加“\”进行转义,替换的前后对比图如下所示
在这里插入图片描述
在这里插入图片描述
  保存并退出,更新软件列表和升级,更新和升级的过程需要耐心等待。

:wq  //保存并退出
sudo apt-get update //更新软件源列表
sudo apt-get upgrade //软件升级

  这样软件源也就配置好了。
  注:网上有些教别人更换软件源的文档里面是让我们整个替换,可能会把绿色的部分也替换了,我查阅了相关资料,绿色的文字中的focal是当前这个版本的Ubuntu的代号,可以通过输入 lsb_release -a 查询得到,如下图所示:
在这里插入图片描述
  可以看到绿色部分的focal就是Codename(代号名)了,所以这个软件源配置文件中的focal是不用修改的(不过貌似改了不会出现什么问题,追求完美的就跟我一样注意这个小细节吧)。
软件源改完了,接下来就可以吧net-tools装上了,输入下面的命令执行安装

sudo apt install net-tools

  安装好了以后就可以愉快的使用ifconfig查看ip地址了
在这里插入图片描述

4、开启防火墙,开放需要用到的端口

  在进行SSH远程连接前,先把防火墙启动下, 毕竟这样更安全嘛。Ubuntu默认的防火墙工具是ufw,具体的使用方法可以参考我另外一篇文章 Linux防火墙问题总结(CentOS的iptables、Ubuntu的ufw),里面对这个命令进行了详细说明。
  这里输入下面的指令即可

service ufw status   //查看防火墙是否启动了
service ufw start    //启动防火墙
ufw enable	         //将防火墙设置为可用状态
ufw allow 22         //开发SSH连接的端口
ufw allow 80         //开放HTTP服务的端口
ufw allow 3306       //开启MySQL数据库服务器的端口
//其他端口大家根据情况再去开启

5、使用XShell通过自定义账号进行远程连接

  下面打开XShell尝试进行远程连接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  连接成功
在这里插入图片描述

6、使用XShell通过root进行远程连接

  不过到这里还没完,平时在使用linux的时候我们肯定是希望能直接使用root用户进行操作,这样就不需要频繁使用sudo了,但是目前我们既不能切换到root用户,又不能直接使用root用户登录,所以还需要进行一些配置。
  root用户默认是没有设置密码的,所以没有密码也就意味着想要切换到root用户之前需要先给root用户设置密码。

sudo passwd root //输入并确认密码
su //切换到root用户

  到这里虽然可以切换到root用户了,但是使用起来还略显麻烦,每次使用远程连接工具连接到Ubuntu需要先用自定义的用户登录(我这里是candywall),然后再切换到root。这里为了以后方便,给root用户开通SSH直接登录的权限,需要修改配置文件/etc/ssh/sshd_config

vim /etc/ssh/sshd_config

  找到#Authentication位置
  先把下面几行的注释都打开,然后把PermitRootLogin后面的禁用改成yes,如下图所示:
在这里插入图片描述
  修改完毕再保存并重启SSH服务即可

:wq
service ssh restart

  下面尝试用root用户直接进行远程登录
在这里插入图片描述
  可以看到登录成功了
在这里插入图片描述
  好了,接下来小伙伴们就可以愉快的部署自己的应用了。
  如果有小伙伴后面还需要将自己的Ubuntu的IP地址设置成静态IP,可以参考我另外一篇文章 Ubuntu配置网络,里面做了一些说明,希望大家喜欢,文章中有什么不对的或者考虑不周的还请大家在评论区指出,一起共勉!