首页
友情链接
点点滴滴
关于本站
秋码记录
一个游离于山间之上的Java爱好者 | A Java lover living in the mountains
累计撰写
142
篇文章
累计创建
317
个标签
累计创建
46
个分类
栏目
首页
友情链接
点点滴滴
关于本站
搜索
包含标签
VPS
海外云服务器安装 Redis 6.2.x (Ubuntu 18.04 记录篇三)
通过前两篇的实践,我们已然在海外云服务器/VPS安装了JDK和MariaDB数据库,一个能够运行Java项目的海外云服务器/VPS算是告一段落了。 然而,在这请求量与日俱增的情况下,MariaDB数据库显然是在超负债·的工作,压力那不是一般的大。 为了缓解mariaDB数据库的压力,我们可以采取缓存策略,也就是那些请求量比较频繁的数据,可以缓存起来,以便用户再次请求时,不再去读取数据库数据,而是将缓存数据响应给用户,从而减少了因频繁读取数据给数据库带来的压力。 我们可以使用业界、开源界享誉盛名的NoSQL——redis。它是一个K/V 键值对存储,内存型的非关系型数据库,也正是由于它是内存型存储方式,所以它在读写方面快于SSD 型存储的数据库。 下载 redis 由于redis都是通过源码编译进行安装的,故而我们首先得下载redis源码,随后在Linux 发行版进行编译安装。 redis官方地址: https://redis.io/downloads/ 截止发稿前,redis最新版本已经到7.4.x了,然而7.x版本以上是需要商业授权的,这也是众多开源软件走向商业化的途径。 当然咯,redis官方还是会一如既往地向公众开源,但那只是community(社区版),却足以应对日常问题了。 我们将下载下来的tar压缩包,通过SSH工具上传到海外云服务器/VPS对应的目录下。 解压压缩包 首先我们进入到刚刚上传过来的redis压缩包目录下。 使用以下命令进行解压: tar -zxvf redis-6.2.14.tar.gz 在Terminal执行完这行命令后,会在当前目录下多了一个与压缩包同名的文件夹。 编译并安装 redis 由于redis采用C language编写,而想要编译C language的话,是需要专门用来编译的C language 的编译器。 首先,我们先在Terminal输入gcc -v命令,查看当前的Linux 发行版是否安装了gcc,假使你在输入命令后,得到了如下与下图一样的提示信息,那么说明当前的Linux 发行版是没有安装过gcc,你可以从提示信息中看到,有一行apt install gcc的信息,瞬间让你觉得很是贴心,虽然当前Linux 发行版没有gcc环境,但你可以通过apt install gcc来安装gcc。 你可以使用apt update命令来更新你的系统镜像源。 apt update apt install gcc gcc -v 随后,我们再次输入gcc -v命令,terminal便输出了刚刚安装gcc版本信息了。 之后,我们进入redis刚解压的目录内,对redis源码进行编译。 提示:某些`linux 发行版`可能出现以下信息,那么,按照提示信息进行操作即可。 root@XXXX:/usr/local/redis# cd redis-6.2.14/ root@XXXX:/usr/1ocal/redis/redis-6.2.14# make Command 'make' not found, but can be installed with: apt install make apt install make-guile root@XXXX:/usr/1ocal/redis/redis-6.
2024-09-07
[海外云服务器]
海外云服务器安装 MariaDB 10.6.X (Ubuntu 18.04 记录篇二)
MariaDB 的由来(历史) 谈起新秀MariaDB,或许很多人都会感到陌生吧,但若聊起享誉开源界、业界知名的关系型数据库——Mysql,想必混迹于互联网的人们(coder)无不知晓。 其实mariaDB是由Mysql分支出来的一个项目,而且同属于同一个作者(Michael Widenius)。或许你会纳闷,既然Mysql如此优秀,作者而又为什么再次创造出一个新的数据库呢? 谈起mariadb的诞生,那就不得不说Mysql那命运多舛的际遇咯!起初,Mysql以开源的形式瞬间火爆互联网圈,这其中就包括创造出 Java 的公司—— sun,彼时的他们亟需一套小巧且功能强大的数据库,来摆脱其他商业化数据库。故而,sun 公司看准了时机,斥巨资收购了彼时还处在蓬勃发展的Mysql。 时间一晃,来到了2009年,号称全球数据库巨头 Oracle以当时看来是天价的价格收购了sun 公司,作为sun 公司的附庸品,当然也卖身到新雇主,Mysql再次改投公司,并非它所愿,实是无奈之举。 倘若sun 公司没被Oracle收购,或许不会出现mariaDB,毕竟sun 公司创造出了java这一从它诞生以来稳居于年度 program language(编程语言)排行榜前三,毫不夸张的说,它影响了一代的互联网的进程。 可事与愿违,sun 公司终将被oracle 公司收购了。自打oracle公司并购了sun 公司,全球数以千万计的Java Engineer,便开始为Java是否还会开源起了忧虑之心。 果不其然,oracle 公司还是向java开刀了,他们修改了java的一些开源策略,如:商业授权…… 也正源于此,作为Mysql的作者,不得不为mysql的未来而担忧。然而,现在的mysql已经属于Oracle 公司,看似开源出来,但Oracle 公司随时都有可能将它闭源化。可他唯一能做的就是从开源的mysql开出一个分支,构建出一个新的数据库,而它将改进Mysql所出现的问题,虽然mariadb是由mysql作者主导的,但主要还是靠开源社区来贡献代码。 安装前准备 我们知道大多数开源软件,多多少少会使用第三方(开源工具类库)软件包。虽然,你的项目大可不必依赖第三方类库,完全由自己着手编码来实现,那也是没问题,但在编写完这些工具库时,你的项目引入之前,你总得为你所编写的类库做unit test吧! 工具类库代码量不是非常庞大的话,由你自己编写,亲自做unit test,这都没什么,毕竟自己从零开始实现一个与第三方相似的工具类库,给自己带来的不单单是一种炫技感,更多的是成就感、喜悦感。 可倘若工具类库代码行数达到上万,甚至十来万行呢?此时的你,再想从头写起与第三方类库类似的功能,怕是力不从了吧!且不说编写那十来万行的代码所消耗的时间,而是在接下来的事,是需要对它做unit test,将会让你开始怀疑人生。 一个开源项目/产品能赢得越来越多用户的追捧,其中最为重要的一点莫过于产品的迭代更新速度是否快于竞争对手/友商。 为了能使产品在迭代更新上快于他人,产品的研发团队往往会将项目中公共模块抽取出来,形成一个工具类库,或是使用了第三方开源类库,从而降低了花在这上面的时间以及精力4,以便能够全身心的着眼于产品本身。 安装所需的软件包 至于安装mariaDB前,为何要安装software-properties-common这个软件包呢?其实你也是可以不安装这个依赖库,而是直接安装MariaDB,那也是没问题的!只是在安装MariaDB过程中,会出现Error,最终导致无法正常的安装MariaDB,而出现错误的原因却是当前Linux发行版还未安装某个软件包。 为了使MariaDB能够继续的安装下去,你便按照error提示,安装MariaDB所需的第三方类库。 既然是这样的话,我们何不将MariaDB所需的软件包提前安装呢! apt install software-properties-common -y 添加 MariaDB 镜像仓库 无论你当前系统属于哪个Linux 发行版,使用在线安装软件时,总是会在当前系统的镜像库搜寻,以此来下载软件。 当然咯,系统里的镜像仓库的软件版本或许有些旧,毕竟某些软件更新迭代快,以至于Linux 发行版来不及去更新镜像仓库内的软件版本。 故而,我们可以将需要下载哪个版本的MariaDB添加到系统镜像仓库里面。 至于那个MariaDB key 是官方所要求的,你将它下载下来就对咯! apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirrors.ustc.edu.cn/mariadb/repo/10.6/ubuntu bionic main' 安装 mariadb-server 和 mariadb-client 热身的差不多了,是该真正露出本领的时刻了,此处应有振聋发聩的掌声,不绝于耳的那种掌声。
2024-09-04
[海外云服务器]
海外云服务器安装 JDK8 (Ubuntu 18.04 记录篇)
曾几何时,我可是国内云厂商的忠实用户啊。 而今,却不再为云服务器(尤指国内云厂商)续费了,作为我的个人网站 秋码记录 选择了托管在 gitlab.com Pages服务上。 国内云厂商对新老用户持有两种截然不同的价格,致使众多用户在云服务到期之际,便毅然决然地弃用了这家云厂商。 国内云厂商对同一配置、同一规格、同一型号、同一时限……的云产品来说,新用户总是能得到低于市场同类产品的价格,这便是国内云厂商让利于新用户,以求得在用户量上碾压行业内竞争对手。 反观老用户,通常老用户是指,但凡在国内云厂商某个平台购买了云产品,那么,你的身份便由新用户转换为老用户了(美其名曰:会员),那么,彼时的你是再也无法享受只专供于新用户的优惠云产品咯。而这样的规则,却不局限于互联网这个圈子,可以说,整个国内各行各业都在运用这条规则,小到街边门店,大到商场酒楼……,随处可见它的身影。 云服务器即将到期了,作为老用户是很少会选择续费的(除了特别有钱的企业或个人),那是对该云服务器续费价格望而却步,或有转场它处继续前行下去,也是大有人在,几轮下来,国内各大云厂商你都混了个脸熟,这也就是近几年来国内各大云厂商的新用户增长量有所放缓的缘故。 新用户增长量持续放缓,那说明了云产品卖不出去了,因为国内云厂商销售云产品很大程度上是靠新用户,虽然从新用户身上得到的利益明显少于老用户,但也总比老用户不再卖他家的云产品强,正所谓,苍蝇再小,它也有肉。 国内云厂商的云产品卖不出去了,不单单是市场饱和了,还有更多深层次问题(我相信你是懂得,倘若你不懂的话,那就忽略它。其实,懂得太多,它也是一种烦恼!)。 国内云厂商的窘迫该如何有效的决解呢?其实我不知道,但从年初 罗永浩直播卖阿里云服务,揭秘中国云计算走向衰落的真相 便能瞧出国内云厂商的穷途末路(虽然有点夸张的成分)。 在说完国内云厂商的那摊破事,也该聊聊本文的标题海外云服务/VPS了。或许,你会问,“你不是说了,qiucode.cn 租用的国内云服务器不再续费了吗?难不成国外的云服务器/VPS就很便宜了,就算国外云服务器/VPS便宜,但在国内访问起来,那犹如蜗牛爬树——何时能爬上啊?” “qiucode.cn 现在既没有选择国内云服务器,也没有改用国外云服务器/VPS产品,依旧托管于 gitlab.com pages,而标题中的海外云服务,那是一客户租用的,我搭建了Linux·基础环境,在这里只是纯粹做个记录而已罢了!” 将JDK 上传到服务器 首先我们先到oracle官网下载JDK8,至于该怎么下载,可以浏览 虚拟机 Linux 安装 JDK(Vagrant 之二 CentOS7 篇),这里就不再赘述。 你可以选择惯用的SSH工具,进行操作。 虽然,也是可以在云服务器内使用wget命令来直接下载JDK的tar压缩包文件,究其原因,无非是云服务器带宽所限。 我们将下载下来的JDK tar压缩包,通过SSH工具,上传到云服务器。 我们可以将中间件及基础环境同一放在/usr/local/目录下。 cd /usr/local mkdir java 对 tar 压缩包进行解压 等待JDK压缩包上传成功后,我们便要对压缩包进行解压。 tar -zxvf jdk-8u421-linux-x64.tar.gz 当压缩包解压好了之后,我们要对解压后的文件夹进行重命名,那是因为,tar命令默认将压缩包文件名作为解压后的目录名,除非你带了参数-O 目录名称。 可以使用mv命令对目录名,进行重命名。 mv jdk-8u421-linux-x64 jdk-8u421 配置环境变量 配置JDK环境变量犹如一道魔咒,始终盘旋在即将踏入Java Engineer的上空,给他们带去了无法抹去的记忆。 我们打开/etc/profile文件,在其末尾追加上以下内容。 `JAVA_HOME`是你`JDK`解压缩的文件路径(需根据实际情况,做出相应修改)。 export JAVA_HOME=/usr/local/java/jdk1.8.0_421 export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin 若你使用的是像我这样的可视化编辑器,那么你可以直接按住键盘上的Ctrl + s组合键,进行保存。 可假使你使用的是Terminal Command的话,如:vi、vim等命令,那么你需先按住键盘上的Esc,之后输入:wq,在按Enter键即可。 配置好了JDK环境变量后,先是让/etc/profile文件生效。
2024-09-01
[海外云服务器]
其实,低成本甚至免费的,也是可以搭建个人网站的哦!
在日新月异的互联网浪潮下,想要搭建一个网站,已不再需要花费高昂的IDC 服务器费用以及人员维护等其他费用(相对于公有云来讲)。 身为一名IT、Coder(码农或程序员),对于搭建一个网站的过程,是在清楚不过的了。那就是搭建网站所需的三要素(三兄弟)——服务器、一套程序、域名。 云计算的崛起,致使越来越多的人上云体验了一把,与此同时,个人网站如雨后春笋般拔地而起,网站类型可谓是五花八门。(当然咯,云计算没出现之前,也是有人搭建个人网站,只是那高昂的IDC服务器,并不是每个人都愿意花那高昂的IDC服务器费)。 虽然云计算的云服务器对IDC服务器造成了巨大冲击,但摆在你我眼前的云服务器费用,着实不低啊!(国内各大云厂商为了抢占用户,不惜打起了价格仗,你我索性从中薅起了羊毛,虽然你我深知这羊毛终究是出自羊身上的)。 服务器(云服务器) 想要搭建一个网站,服务器(云服务器)是少不了的。毕竟网站也是程序编写出来的,而程序是需要编译 、运行的,很显然,服务器正扮演着运行这套网站程序的角色。 你我都知道,在云计算之前,想要搭建一个网站,光是租用IDC服务器的费用,就可能让你望而却步了。 可当云计算的到来,个人拥有一个网站,已不再是那么遥不可及(虽然,在这之前,个人也是可以搭建起网站的),毕竟,云服务器费用相比于IDC服务器费用不知便宜了多少(至少在搭建网站的预算降低),促使大多数人蜂拥而上云。 国内的云厂商,诸如,阿里云、腾讯云、华为云、京东云、百度云等(还有很多没列出来的小众云厂商),对新用户都有优惠活动(毕竟,他们为了抢用户,豁出去了),反之,老用户就享受不了那优惠活动了,虽然有吧!但显然优惠力度不是很大。 也正是由于国内各大云厂商领进新用户,而在该云厂商平台但凡购买了新用户优惠活动的云计算产品(如:云服务器)之后,你的身份自然而然地由新用户转变成老用户。可当你云服务器到期时(云服务器到期是指:云计算产品分 按时计费、按量计费,而云服务器是属于按时计费,它又细分为按月、按年),想要续费,那费用瞬间翻了好几倍啊!你一度怀疑,同等配置的云产品为什么在续费时会如此高昂呢?该不会是云厂商想要从新用户变为老用户身份的你,补足当初以优惠力度让入驻该云厂商平台的款项呢? 这也就是为什么,你常常点开一个个人网站(个人博客网站)时,不是出现了网站正在维护中……,便是该网站无法访问的情形。无非是数据迁移到新的服务器上去,或是不再为服务器续费,也不去其他新的云厂商购买云服务器了。 云服务器续费让人望而兴叹,纵使在其他云计算厂商以新用户的优惠价格买到了心仪的云服务器,将网站数据迁移到新服务器上,使得网站得以续命生存下去,虽然这不失为一种办法(薅云厂商的羊毛)。 但绝大多数人的做法是,云服务器到期了,便不再续费了(当然咯,这其中就包括 秋码记录),也没到新的云计算厂商购买新云服务器。而是去购买价格低廉的VPS(虚拟主机)。 由于VPS配置不高,空间不大等,在价格方面,足以碾压云服务器。故而成了很多站长的“首选”,从而解决了站长在云服务器续费与不续费之间、不续费与到其他云计算厂商购买新云服务器之间左右摇摆的困惑。(国内VPS有 帮瓦工……,国外倒是有很多,Hosting、freehost,还可以申请免费的VPS)。 虚拟主机的低配置、小空间,迫使了它只能运载些体量不是很大的网站程序(诸如个人博客、论坛、社区等)。 serverless 谈到serverless或许你会陌生,可一讲到github pages,想必你是知道的了。(github pages可以托管你的静态网站,如 秋码记录 )。 serverless相对于服务器而言,它便是无需服务器。 纵使github在国内访问速度不佳,也鲜有人去使用国内gitee pages(gitee.com提供的pages服务)、coding.net pages(腾讯旗下的代码托管平台)等,这其中的原因,不用我说,你自然也会懂得,这就好比,家楼下有生鲜超市,可你却不愿在那里买,宁愿去十公里外的大型商场买(这里包括但不限于顾客的口碑、以及以次充好等小伎俩,蒙骗顾客)。 网站程序 无论你是买了云服务器,还是选择了低廉的VPS,亦或是采用了serverless这种模式,搭建网站的程序你总该要有的吧(这时你迫不及待的大声嚷道:”谁说搭建网站,就非得需要程序了,一键云建站了解下,不但不需要什么网站程序,就连部署网站的运维人员也省了……“。这里我不禁打断你的话,指出了其中要害,”没错,一键云建站确实给你带来了便利,但你有没去考察过,使用云模板一键建站的都是些企业门户网站,个人博客、论坛、社区是不能用这个,第一,模板风格老套、重叠,第二,在费用方面觉不亚于云服务器“) 也不是说云模板建站有什么不好,可千篇一律的模板终将不适合来搭建个人博客、论坛、社区网站,虽说这些网站也在套用同一个程序,而使得网站又是千人一面,但他们却都不去使用云模板一键建站(其中缘由你该是懂得,若你不懂,执意要云模板一键建站,那就去试一试吧,也只有在试过了,你才会长大、明白)。或许你会问,”为什么你知道这些呢?你是不是使用过云模板一键建站呢?“在这里,我可以很肯定的对你说,”有些事情,并不是需要去试验才会明白的,而是靠理性的判断,以及绝大多数人为何不去使用它的思虑“。 即便网上充斥着大量的个人博客、论坛、社区等的开源程序,然而身为Coder(码农或程序员)的你,总是喜欢使用自己常用的编程语言(program language)从头开始编写,或是在开源程序的基础上进行二次开发,增加些自己独特的想法。 网站程序从头开始编写,不单单是Coder为了在他人面前炫技外,更重要的是Coder想把编程知识巩固起来。 而那些非Coder的外行人,是不会什么编程的,也就谈不上什么从头开始编写网站程序了,他们大多去找些既好看又开源的主题(theme)来构建自己的网站。 闻名于海内外的wordpress就是一个强大的开源程序,使用它可以任何形式的网站,如:电商网站、视频网站、企业门户、新闻网站、个人博客、论坛、社区等,主要还是取决于主题(theme)的搭配。 除了大名鼎鼎的wordpress外,还有国内的typecho、Zblog等,都是可以搭配主题(theme)。 无独有偶,秋码记录 则是使用海外知名的Hugo构建,而主题(theme)则是使用了开源的 Hugo-theme-kiwi ,托管于github pages上。 域名 其实,搭建一个网站,域名并不是必选项,那是因为可以使用ip进行访问,可一大推数字总没有 qiucode.cn 来的好记吧,这使得域名作为公网ip的别名而存在。 在上面讲诉了服务器、网站程序都有免费方案,那么域名是否也有呢?没错,域名也是有的,但都是些二级域名,诸如海外的js.org、eu.org等(如你网站想叫qiucode,那么免费二级域名便是qiucode.js.org`qiucode.eu.org`)。 国内免费的二级域名也是有的,同样也是很少人去使用的,正如serverless一样,人们宁愿去使用github pages,也不肯去国内那些serverless上。 也不是刻意的贬低国内这些互联网,而是他们的那些做法寒了人们的心。就拿百度搜索来说吧,先前我可是百度搜索的忠实用户啊!然而现在却再也不用百度搜索了,改用必应。(其中原有不细说,你总该是明白的)。 综上所诉,想要搭建一个网站,低成本甚至免费的方案都有的。 低成本方案一:虚主机(VPS) + 开源程序 + 免费的二级域名,费用用在了租用虚拟主机(VPS)上。 低成本方案二:虚拟主机(VPS)+ 开源程序 + 顶级域名,费用花在了虚拟主机(VPS)和购买域名上。 低成本方案三: serverless + 开源程序 + 顶级域名,费用花在了购买顶级域名上(秋码记录 就是选用这个方案)。
2024-07-26
[建站]