百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

「Coding Tools」 第6话 云服务器安装Ubuntu Server 20.04

bigegpt 2024-08-22 10:37 2 浏览

随着阿婆主在各大平台发布的内容越来越多,却总是感觉发文、发视频有这样那样的限制。所以我准备把沉寂多年的tanyugang.com域名整利索,可以随心所欲的发布文章。但是这么多年了也没找到一个合心意的CMS(Content Management System),所以我准备自己撸一个。当然肯定不是直接使用框架什么的,而是从最基本的HTML、CSS、JS开始。

Web也是我非常感兴趣的一个领域,还梦想着在ToyOS上开发一个浏览器。网上总是说浏览器内核比如Chromium,谷歌投入了几千号人好多好多刀才维护到现在的亚子。听起来就不是一个人能完成的任务,所以连数字公司也在知乎发文解释为什么不自研浏览器。我觉得主要看目的吧,如果是开发一个教学性质的内核,再套个UI应该是可以做到的。

我今年32岁了,乐观情况下应该还可以再干30年不到。所以无论看起来多么宏大的目标,每走一步都会离它更近一点,不出发永远不会到达。牛人都能使用汇编开发操作系统KolibriOS,有文件系统也有浏览器,所以大可不必为自己设限。KolibriOS花了十多年,大不了我就花20年,看看能做到哪一步,也许会有志同道合的同学加入进来。

闲话不多说,如果你了解谭老师,就会知道他不会走寻常路的。所以看起来我在搞Web开发,实际上在深入理解HTML、CSS、JS,为后续开发浏览器打基础。而且谭老师比较喜欢实战,所以直接上服务器,并且真的可以线上访问。由于域名很早之前买的,早就备过案了,所以环境搭建好做个域名解析就能访问网站了。

之前小马哥Pony家服务器打折,就买了好几年,配置很低的1核1G小服务器。所以计划安装Ubuntu 20.04 Server版,并安装Nginx服务器。至于MySQL什么的就先不用了,一个文件夹就够了。不过为了代码管理方便,所以计划使用Git来推送代码,并配置从Github或Gitee自动同步代码,做到本地一上传,服务器自动同步。

服务器信息

目前我也不知道这个服务器上配置过什么东西,所以干脆直接充装好了,点击操作里的重装系统。

重装系统

点击“重装系统”后,会有个提示信息。

重装提示

下一步就是重装配置,这里我们选择公共镜像里的Ubuntu Server 20.04 LTS 64位,并设置登录密码。

重装配置

重装很快就完成了,这里要记住服务器的IP地址以及刚才设置的登录密码,会用于接下来的登录,注意IP是公网IP,内网那个没法登录。

重装完成

收到一条提示,默认用户名是ubuntu。

服务器安装完成后主要靠ssh远程登录来操作,没有图形化界面。我们来到本地的Ubuntu下,打开命令行窗口输入以下命令:

ssh ubuntu@you:server:ip:address

ubuntu就是默认的用户名

点击Enter后会有一个提示,因为这台电脑是第一次访问服务器,所以无法直接建立连接,需要你再次确认一下,输入“yes”点击Enter即可。然后第二个提示就是让你输入密码,这个密码就是在重装的时候设置的那个。

登录成功后就是上面的亚子,此时就可以把它当作你本地的Ubuntu一样使用了。首先更新一下系统,一般Sever镜像都是挑的最稳定的,所以可能跟不上最近的更新进度,我们来手动更新,可以看到有184个包可以更新。

sudo apt update


Update

输入Upgrade命令,进行更新。由于更新源其实就在云服务器上,所以下载速度特别快,包括日后下载软件也是。

sudo apt upgrade

如果继续就输入“Y”然后点击Enter。

Upgrade

升级过程中会遇到需要你确认的配置,有两次,无脑Enter就行了。

中间配置

等待一段时间过后,就重装完成了。

重装完成

通过ssh登录每次都要输入密码还是很麻烦的,所以我们可以采用ssh密钥来免密码登录,并且输入的命令也很少。生成密钥的方法我是学习的Github,同时这个密钥也可以用来添加到Github的ssh key,后续可以推送代码。

https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

首先是通过命令生成ssh key,邮箱就写你的Github账户绑定邮箱。

ssh-keygen -t ed25519 -C "your_email@example.com"

第一个要确认的是key的保存位置,默认会保存早/home/tank/.ssh目录下,你可以重新命名,比如我就给它起名叫git。

第二个是提示输入密码,这个我从来也不输,所以也不解释了。点击Enter后,ssh key密钥对就生成完毕。

生成完成

可以通过ls命令查看生成的密钥对,其中git是你的私钥,而git.pub就是公钥。类似于git是“小鸡炖蘑菇”,git.pub是“天王盖地虎”。两者暗号对上了,就可以通过ssh访问,不用输入密码。我们也把git.hub通过cat命令输出,然后全部选中后复制。

复制公钥

再次来到云服务器管理平台,点击左侧的SSH密钥,然后点击新建按钮。

新建密钥

在弹出的窗口中点击“导入已有公钥”,可以自行指定名称,并把刚才复制的内容粘贴到“公钥”编辑框里。

导入公钥

然后点击新建的密钥后面的绑定实例,所谓实例就是服务器。

绑定实例

提示服务器关机状态下才能绑定,那么我们就先去关机,然后再次绑定。

再次来到实例页面,选中服务器后点击“关机”按钮。

关机

关机成功后,就可以绑定了。绑定完成后,记得再次去实例页面重新开机。

然后再回到本地Ubuntu,开始配置远程登录的文件。在~/.ssh目录下新建一个文件叫做config,里面内容如下。记得把你自己的服务器IP地址替换进去,不要保留着“your:server:ip:addres”,同时最后一行是认证文件,就是刚才新建的密钥对里的私钥git:

Host tan
HostName your:server:ip:address
User ubuntu
IdentityFile ~/.ssh/git

保存好文件,我们可以再次登录服务器看看,这次的命令非常简单,只要:

ssh tan

可以看到我们登录成功了,日后就会方便许多。今天就到这里,再见!

成功

相关推荐

悠悠万事,吃饭为大(悠悠万事吃饭为大,什么意思)

新媒体编辑:杜岷赵蕾初审:程秀娟审核:汤小俊审签:周星...

高铁扒门事件升级版!婚宴上‘冲喜’老人团:我们抢的是社会资源

凌晨两点改方案时,突然收到婚庆团队发来的视频——胶东某酒店宴会厅,三个穿大红棉袄的中年妇女跟敢死队似的往前冲,眼瞅着就要扑到新娘的高额钻石项链上。要不是门口小伙及时阻拦,这婚礼造型团队熬了三个月的方案...

微服务架构实战:商家管理后台与sso设计,SSO客户端设计

SSO客户端设计下面通过模块merchant-security对SSO客户端安全认证部分的实现进行封装,以便各个接入SSO的客户端应用进行引用。安全认证的项目管理配置SSO客户端安全认证的项目管理使...

还在为 Spring Boot 配置类加载机制困惑?一文为你彻底解惑

在当今微服务架构盛行、项目复杂度不断攀升的开发环境下,SpringBoot作为Java后端开发的主流框架,无疑是我们手中的得力武器。然而,当我们在享受其自动配置带来的便捷时,是否曾被配置类加载...

Seata源码—6.Seata AT模式的数据源代理二

大纲1.Seata的Resource资源接口源码2.Seata数据源连接池代理的实现源码3.Client向Server发起注册RM的源码4.Client向Server注册RM时的交互源码5.数据源连接...

30分钟了解K8S(30分钟了解微积分)

微服务演进方向o面向分布式设计(Distribution):容器、微服务、API驱动的开发;o面向配置设计(Configuration):一个镜像,多个环境配置;o面向韧性设计(Resista...

SpringBoot条件化配置(@Conditional)全面解析与实战指南

一、条件化配置基础概念1.1什么是条件化配置条件化配置是Spring框架提供的一种基于特定条件来决定是否注册Bean或加载配置的机制。在SpringBoot中,这一机制通过@Conditional...

一招解决所有依赖冲突(克服依赖)

背景介绍最近遇到了这样一个问题,我们有一个jar包common-tool,作为基础工具包,被各个项目在引用。突然某一天发现日志很多报错。一看是NoSuchMethodError,意思是Dis...

你读过Mybatis的源码?说说它用到了几种设计模式

学习设计模式时,很多人都有类似的困扰——明明概念背得滚瓜烂熟,一到写代码就完全想不起来怎么用。就像学了一堆游泳技巧,却从没下过水实践,很难真正掌握。其实理解一个知识点,就像看立体模型,单角度观察总...

golang对接阿里云私有Bucket上传图片、授权访问图片

1、为什么要设置私有bucket公共读写:互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可...

spring中的资源的加载(spring加载原理)

最近在网上看到有人问@ContextConfiguration("classpath:/bean.xml")中除了classpath这种还有其他的写法么,看他的意思是想从本地文件...

Android资源使用(android资源文件)

Android资源管理机制在Android的开发中,需要使用到各式各样的资源,这些资源往往是一些静态资源,比如位图,颜色,布局定义,用户界面使用到的字符串,动画等。这些资源统统放在项目的res/独立子...

如何深度理解mybatis?(如何深度理解康乐服务质量管理的5个维度)

深度自定义mybatis回顾mybatis的操作的核心步骤编写核心类SqlSessionFacotryBuild进行解析配置文件深度分析解析SqlSessionFacotryBuild干的核心工作编写...

@Autowired与@Resource原理知识点详解

springIOCAOP的不多做赘述了,说下IOC:SpringIOC解决的是对象管理和对象依赖的问题,IOC容器可以理解为一个对象工厂,我们都把该对象交给工厂,工厂管理这些对象的创建以及依赖关系...

java的redis连接工具篇(java redis client)

在Java里,有不少用于连接Redis的工具,下面为你介绍一些主流的工具及其特点:JedisJedis是Redis官方推荐的Java连接工具,它提供了全面的Redis命令支持,且...