惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 聂微东
GbyAI
GbyAI
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 叶小钗
A
About on SuperTechFans
M
MIT News - Artificial intelligence
宝玉的分享
宝玉的分享
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
Google DeepMind News
Google DeepMind News
博客园 - Franky
B
Blog RSS Feed
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research

秋码分享

我是如何解决将 c++ 编译成可以在 node.js 中使用的 *.node,中间出现的一大堆问题的(指纹浏览器基石篇) eSIM Plus 爱沙尼亚手机号彻底翻车?“永久有效”悄然变成了一年! 接码平台 SMS-Activate 余额可以转移到新平台使用,截止日期:2026年1月29日 是时候将 hugo-theme-kiwi 主题提交到 themes.gohugo.io 站点上了 Flux2 刚开源就凉了?Z-Image 本地部署狠狠打了个样 声音的未来:Chatterbox —— 用「夸张度旋钮」提升表现力的开源 TTS 向导 还以为那只是换个背景?Qwen-Image-Edit 在 ComfyUI 中能做到更离谱的事 Windows 结合最新版 ComfyUI 部署阿里最新开源的 Qwen-Image 图像大模型 从零样本到跨场景:Seed-VC语音转换技术的革命性突破 大语音模型轻量化革命:MegaTTS3 如何重新定义文本生成语音的技术边界(windows篇) 竞赛级编程大模型OlympicCoder-7B之本地部署(Windows篇) 阿里开源了端到端全模态大模型Qwen-2.5-Omini-7B之本地部署(windows篇) 语音识别之whisper本地部署(实时语音之开篇) 甭管是个人还是企业都能部署的Mistral-Small3.1,远超同级别的模型 文生音乐开源项目DiffRhythm,8G显存本地部署之Windows篇 阿里QwQ-32B本地部署指南:用Ollama轻松运行320亿参数大模型 基于Qwen2.5大模型的Spark-TTS,零样本语音克隆,CPU可运行之本地部署(Windows篇) 智谱开源了文生图CogView4-6B模型,支持中文提示词之本地部署(Windows篇) 基于歌词生成整首歌的开源AI音乐模型,支持中、英、日、韩等多种语言,本地化部署YuE(windows篇) 阿里云开源的文生视频万相 Wan2.1之本地部署Wan2.1-T2V-1.3B模型 互动式开源AI图像编辑神器,Windows11本地部署 MagicQuill 本地部署Qwen2.5-VL-7B-Instruct多模态视觉大模型(Windows篇) 保持角色一致性的绘本生成AI开源项目之Story-Adapter本地部署Windows篇 本地部署 Stable Diffusion 3.5(最新 ComfyUI记录篇) 谁说Win7安装不了Node.js最新版的呢?都2025年,还不更新系统到Win11 vs code远程调试Linux服务器上的php代码 浏览器定制 | Windows11 编译 Chromium 133.0.6885.0(截稿前Chromium最新版之编译篇[一]) 不说是彻底搞懂,至少让你不再惧怕c/c++指针,以及各种奇葩指针变种 解决windows下php8.x及以上版本,在Apache2.4中无法加载CURL扩展的问题 在 Windows8.1 下编译 Chromium (103.0.5060.68 之三)
虚拟机 Linux 安装 JDK(Vagrant 之二 CentOS7 篇)
一个游离于山间之上的江湖漫行者。A jungle wanderer who wanders above the mountain · 2024-08-29 · via 秋码分享

我们已然在上一篇讲解了如何快速的搭建一个Linux虚拟机,通过vagrant命令化工具,我们很方便的构筑了虚拟机,那么,我们所搭建出来的Linux系统主要是为了调试产品,以便产品在部署生产环境之后,能够顺利运行,这才是我们在本地电脑局域网安装虚拟机的最终目的。

由于你服务端程序所选的program language编程语言)因素,造成了虚拟机或将要部署到生产环境上的所必要基础环境差异化,这是无可厚非的。

闲话少叙,切入正题。本篇除了在安装JDK与其他服务端有所差异之外,其他mid-ware(中间件)安装方式都是一样的,没有什么不同,包括但不限于redisMariaDBmongodb等。

安装JDK

首先,我们进入Oracle官网:https://www.oracle.com/cn/java/technologies/downloads/ ,找到你项目所对应的JDK版本,系统当然选择的Linux

当你再看到下图时,请你暂时别笑,虽然现在JDK最新的LTS(长时间支持)是JDK21,而我呢,却还在下载JDK8,之所以选择JDK8,那是因为项目是早期的,我相信有很多与我相似情形的。

我现在的做法便是,保持生产环境能够稳定运行,随后则在本地迁移JDK17,直至项目整体架构迁移完成,在虚拟机调试没有太大的问题之后,再行更改生产环境JDK版本。

image-20240825104810121

我们将下载下来的JDK,移动到宿主机映射到虚拟机的文件夹内,这样就将宿主机文件成功的挂载虚拟机里面了。

image-20240825105627097

那么接下来,我们打开VirtualBox这款虚拟化工具,之后进入到虚拟机的路径,调出Terminal,输入vagrant up来启动虚拟机

虚拟机启动成功后,我们可以使用vagrant ssh进行连接虚拟机,也就是进入虚拟机,对其操作。

进入到虚拟机后,我们由vagrant用户切换到root用户。

image-20240825114653187

若你对root用户如何修改密码,可以查看我的上一篇文章,倘若你又不想链接来链接去的,那么你可以使用sudo passwd root来修改root密码,输入你新的root密码即可。

在安装JDK之前,我们有必要对当前虚拟机或将要部署到生产环境检测是否默认安装了JDK,因为Linux某些分支会在系统默认安装了JDK

image-20240825115600514

随后我们在虚拟机中创建一个java文件夹。

创建好java文件夹之后,我们cd宿主机文件挂载虚拟机的路径下,对刚刚下载好的JDKtar包进行解压。

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

等解压完成了,我们将解压好的整个文件移动到刚刚创建好的路径里,也就是移动/usr/java/这个路径下。

mv jdk1.8.0_421/ /usr/java/

image-20240825124515677

那么,接下来将要配置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(编辑)状态,才能对文件进行修改。

image-20240825133345289

配置好了JDK信息后,我们需要保存此次所做的修改,故而,我们敲下键盘上的Esc,它的位置是在键盘的左上角。

紧接着,我们继续敲下:wq!几个字符,这才保存了刚刚对profile文件所做的任何修改。而加不加!,其实都可以保存,但加了!则表示是强制退出

这时你便可以在当前Terminal输入java -version命令,以验证你是否安装java成功,然而当你Enter(回车键)之后,却出现了之前系统没有安装java的状况。

可是不过几秒钟的时间,你忽然拍了前额,笑道,“居然忘记了这一步……”。

那么,你究竟是遗漏了哪一步呢?而又为什么你能在几秒钟反应过来呢?

但凡你修改了系统的相关配置文件,在当前Terminal是不会生效,若想配置生效,除非打开一个新的Terminal,可倘若你不想弹出另外的Terminal呢,你就要在当前Terminal验证呢!那么你只需输入以下命令即可:

image-20240825133521681