侧边栏壁纸
博主头像
秋码记录

一个游离于山间之上的Java爱好者 | A Java lover living in the mountains

  • 累计撰写 137 篇文章
  • 累计创建 297 个标签
  • 累计创建 45 个分类

海外云服务器安装 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命令来直接下载JDKtar压缩包文件,究其原因,无非是云服务器带宽所限。

我们将下载下来的JDK tar压缩包,通过SSH工具,上传到云服务器

image-20240831082546770

我们可以将中间件基础环境同一放在/usr/local/目录下。

cd /usr/local
mkdir java

image-20240831083419735

对 tar 压缩包进行解压

等待JDK压缩包上传成功后,我们便要对压缩包进行解压。

tar -zxvf jdk-8u421-linux-x64.tar.gz

image-20240831084126862

当压缩包解压好了之后,我们要对解压后的文件夹进行重命名,那是因为,tar命令默认将压缩包文件名作为解压后的目录名,除非你带了参数-O 目录名称

可以使用mv命令对目录名,进行重命名

mv jdk-8u421-linux-x64 jdk-8u421

image-20240831084528522

配置环境变量

配置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的话,如:vivim等命令,那么你需先按住键盘上的Esc,之后输入:wq,在按Enter键即可。

image-20240831084936986

配置好了JDK环境变量后,先是让/etc/profile文件生效。

source /etc/profile

到了这里,海外与服务器安装JDK8便大告成功了。

使用以下命令,可以查看当前安装的JDK版本,虽然有点掩耳盗铃之嫌,毕竟在我们下载JDK压缩包的时候,便知晓了其版本号,而在这里,使用以下命令一方面看似是在验证JDK的版本,但另一方面也可以测验你配置的JDK环境变量是否正确,假使很不幸,你JDK环境变量配置出错了,那么,就算你敲了很多遍java -version命令,命令行也是不会出现JDK版本的!

java -version

image-20240831085139969

虚拟机 Linux 安装 JDK(Vagrant 之二 CentOS7 篇)
« 上一篇 2024-08-29
海外云服务器安装 MariaDB 10.6.X (Ubuntu 18.04 记录篇二)
下一篇 » 2024-09-04

相关推荐

  • 其实,低成本甚至免费的,也是可以搭建个人网站的哦! 2024-07-26 12:46:43 +0800 +0800
    其实,低成本甚至免费的,也是可以搭建个人网站的哦! 在日新月异的互联网浪潮下,想要搭建一个网站,已不再需要花费高昂的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 + 开源程序 + 顶级域名,费用花在了购买顶级域名上(秋码记录 就是选用这个方案)。
       建站  
  • 虚拟机 Linux 安装 JDK(Vagrant 之二 CentOS7 篇) 2024-08-29 18:06:43 +0800 +0800
    虚拟机 Linux 安装 JDK(Vagrant 之二 CentOS7 篇) 我们已然在上一篇讲解了如何快速的搭建一个Linux虚拟机,通过vagrant命令化工具,我们很方便的构筑了虚拟机,那么,我们所搭建出来的Linux系统主要是为了调试产品,以便产品在部署生产环境之后,能够顺利运行,这才是我们在本地电脑或局域网安装虚拟机的最终目的。 由于你服务端程序所选的program language(编程语言)因素,造成了虚拟机或将要部署到生产环境上的所必要基础环境差异化,这是无可厚非的。 闲话少叙,切入正题。本篇除了在安装JDK与其他服务端有所差异之外,其他mid-ware(中间件)安装方式都是一样的,没有什么不同,包括但不限于redis、MariaDB、mongodb等。 安装JDK 首先,我们进入Oracle官网:https://www.oracle.com/cn/java/technologies/downloads/ ,找到你项目所对应的JDK版本,系统当然选择的Linux。 当你再看到下图时,请你暂时别笑,虽然现在JDK最新的LTS(长时间支持)是JDK21,而我呢,却还在下载JDK8,之所以选择JDK8,那是因为项目是早期的,我相信有很多与我相似情形的。 我现在的做法便是,保持生产环境能够稳定运行,随后则在本地迁移到JDK17,直至项目整体架构迁移完成,在虚拟机调试没有太大的问题之后,再行更改生产环境的JDK版本。 我们将下载下来的JDK,移动到宿主机映射到虚拟机的文件夹内,这样就将宿主机文件成功的挂载到虚拟机里面了。 那么接下来,我们打开VirtualBox这款虚拟化工具,之后进入到虚拟机的路径,调出Terminal,输入vagrant up来启动虚拟机。 当虚拟机启动成功后,我们可以使用vagrant ssh进行连接虚拟机,也就是进入虚拟机,对其操作。 进入到虚拟机后,我们由vagrant用户切换到root用户。 若你对root用户如何修改密码,可以查看我的上一篇文章,倘若你又不想链接来链接去的,那么你可以使用sudo passwd root来修改root密码,输入你新的root密码即可。 在安装JDK之前,我们有必要对当前虚拟机或将要部署到生产环境检测是否默认安装了JDK,因为Linux某些分支会在系统默认安装了JDK。 java -version 随后我们在虚拟机中创建一个java文件夹。 mkdir /usr/java 创建好java文件夹之后,我们cd到宿主机文件挂载虚拟机的路径下,对刚刚下载好的JDK的tar包进行解压。 tar -zxvf jdk-8u421-linux-x64.tar.gz 等解压完成了,我们将解压好的整个文件移动到刚刚创建好的路径里,也就是移动到/usr/java/这个路径下。 mv jdk1.8.0_421/ /usr/java/ 那么,接下来将要配置JDK的环境变量了,关于这一点,相信很多Java Engineer是再清楚不过了。 配置JDK环境变量 要想在Linux系统中配置JDK环境,只需对/etc/profile文件进行追加java相关信息即可。 export JAVA_HOME=/usr/java/jdk1.8.0_421 export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin 先按键盘上的Ins(插入键),它的位置处在Del(后置删除键)的上方,让profile处于INSERT(编辑)状态,才能对文件进行修改。 配置好了JDK信息后,我们需要保存此次所做的修改,故而,我们敲下键盘上的Esc,它的位置是在键盘的左上角。 紧接着,我们继续敲下:wq!几个字符,这才保存了刚刚对profile文件所做的任何修改。而加不加!,其实都可以保存,但加了!则表示是强制退出。 这时你便可以在当前Terminal输入java -version命令,以验证你是否安装java成功,然而当你Enter(回车键)之后,却出现了之前系统没有安装java的状况。 可是不过几秒钟的时间,你忽然拍了前额,笑道,“居然忘记了这一步……”。 那么,你究竟是遗漏了哪一步呢?而又为什么你能在几秒钟反应过来呢? 但凡你修改了系统的相关配置文件,在当前Terminal是不会生效,若想配置生效,除非打开一个新的Terminal,可倘若你不想弹出另外的Terminal呢,你就要在当前Terminal验证呢!那么你只需输入以下命令即可: source /etc/profile
       虚拟机  
  • 怎样快速搭建 Linux 虚拟机呢?(vagrant 篇) 2024-08-24 15:46:43 +0800 +0800
    怎样快速搭建 Linux 虚拟机呢?(vagrant 篇) 作为一名Coder(程序员或码农),供职于中小型互联网公司,而你恰恰偏向于服务端,那么,产品部署在生产环境的艰巨任务,便毫无疑问的落在你身上了。 只有大厂(大型互联网)企业才有运维部,而能进大厂的显然是少部分人,大多数Coder终究还是混迹于初创或中小型互联网公司,一名服务端 Coder往往都是身兼数职,甚至有可能干掉了frontend(这也就是初创或·中小型·互联网公司在Job Descriptio[职位描述]中,要求你在懂得服务端技术知识,还需熟悉frontend相关内容),当然咯,也有些中小型公司会分工明确,虽然没设立什么运维部,但起码也有一两个深耕于Linux 服务器多年的运维人员。 甭管你是Full Stack engineer(全栈),抑或是backend(服务端),总逃不掉要将开发完成的程序部署到服务器上吧!由于开发环境和生产环境之间存在着差异,从而导致了你按照开发环境所需的必要准备,在生产环境开始部署程序,出乎意料的一幕总能让你吃惊不已,你挠着头,口中喃喃说道,“这不可能吧,都按着必要环境部署的,不应该啊!……” 所以嘛,在把程序部署到生产环境之前,我们有必要在本地安装虚拟机,而这虚拟机所对应的系统便是生产环境上的系统,之后在该虚拟机上安装程序运行的必要条件,随后,在虚拟机环境里调试程序,等一切调试妥当后,方可部署到生产环境中。 安装 Vagrant 安装 VirtualBox 在安装Vagrant之前,我们必须安装一个虚拟化工具,它是跨平台的,也就是说,搭建一个虚拟机,安装了它就可以,Vagrant可以到一边凉快去了。 既然它(VirtualBox)本身就可以搭建一个虚拟机,而为什么又要Vagrant呢?对于这个问题,我不置可否,你回过头看看本文的标题,其中有个关键词——快速(虽然有点夸张的成分),你或许便能明白了。 至于怎么安装 VirtualBox,不在本文的范畴内,况且它跟其他软件安装方式一样,一路Next(下一步)下去 。 VirtualBox 官方地址:https://www.virtualbox.org/ 安装 Vagrant 在安装完VirtualBox,接着安装Vagrant,而它的安装也是同安装其他软件一样,一路Next(下一步)下去,除非你要修改安装路径。 Vagrant官方地址:https://www.vagrantup.com/ 。 安装好Vagrant后,可以在Terminal中输入vagrant version,便会输出当前安装的Vagrant版本信息。 初始化虚拟机 我们在某个空文件夹下,调出Terminal,并输入vagrant init centos/7 当初始化成功之后,会在当前目录下自动生成一个Vagrantfile配置文件。 你可在这里:https://portal.cloud.hashicorp.com/vagrant/discover 找到你想要的系统。 我们启动刚刚安装好的VirtualBox软件,可以看出目前是没有任何虚拟机。 我们再次回到Vagrant初始化虚拟机的Terminal中,继续输入vagrant up命令,用于启动虚拟机。 当我们转过身,去看VirtualBox,明显有一个虚拟机正在运行。 连接到虚拟机 我们可以在当前Terminal中,键入vagrant ssh进入虚拟机,默认是vagrant用户。 可是有时在Linux安装软件时,是需要root权限的,那么,总得使用root来操作吧! sudo passwd root 再输入两次密码后,便可以使用su root切换到root用户了。 退出虚拟机 可是使用logout退出虚拟机,回到宿主机。 关闭虚拟机 在回到宿主机下,方能使用vagrant的所有命令。 vagrant halt 配置私有网络(内部网络/局域网网络) 在虚拟机搭建起的服务,总得需要外部来访问吧,这其中当然就包括宿主机,所以,就需要就知道虚拟机的IP地址。 我们打开前面用Vagrant init初始化的虚拟机,自动为我们生成了一个vagrantfile配置文件。 打开注释。 config.vm.network "private_network", ip: "192.168.33.10" 还需配置一个使用频繁的文件传输功能,毕竟,我们在宿主机开发的程序,需要传输到虚拟机进行部署调试,那么,宿主机与虚拟机之间的文件传输就再所难免,在使用过VirtualBox 或VMware等虚拟化工具时,文件传输总是令人头疼。然而,Vagrant通过文件夹映射,实现了宿主机与虚拟机之间能很好的进行文件传输。 还是在vagrantfile配置文件中,去掉文件夹间的映射前的注释。 config.vm.synced_folder "./data", "/vagrant_data" ./data是在宿主机下的文件夹,也就是与vagrantfile配置文件同属一个路径下。 /vagrant_data是虚拟机内的文件夹。
       虚拟机  
  • CentOS 7 安装mysql5.6 (云服务器篇) 2018-10-07 21:18:11 +0000 UTC
  • CentOS 7 安装 Tomcat 7(云服务器篇) 2018-10-07 16:26:14 +0000 UTC