写给还用Win服务器的朋友,该转型Linux啦
theme: fancy highlight: arduino-light
前言
- 在线音乐戳我呀!
- 音乐博客源码上线啦!
- 前两个月有一段时间没有写文章了,不是我懒,而是最近项目加班太严重了,连续加班一个星期,项目经理自己下班早,看不到凌晨三点努力的我们,就说版本不可延期,上线后请一天假休息还撕破嘴皮。
- 做一件事,最心酸的莫过于你已经很努力干活了,甚至没有一点怨言,只想听到别人对你的赞扬,心里可能就足矣,最怕人家根本不领情,反倒过来说你这不好,那不好。
- 当然晚上还是会花点时间学习,毕竟时间就像牛奶一样,挤一点总会有的。
- 之前在顺德工作服务器是Win,导致我的服务器一直都是Win,换工作到广州,服务器基本都是Linx,发现Linx各种好,对于我现在,空间是一道硬伤,于是我决定迁移成Linx系统。
- 下面一步一步带你走进全过程 | Java篇。
阿玲第一次混搭爆炒,还不是为了把虾吃掉。
需求
目前音乐博客部署在Win7上,应用主要有: - 后端有 - Java作为第三方应用,需要安装Java镜像(✔️) - Node作为主后台,需要安装Node镜像 - 数据库有 * Java连接Oracle,需要安装Oracle镜像 * Node连接Mysql,需要安装Mysql镜像 - 前端项目部署在Nginx,需要安装Nginx镜像 - 歌词服务也是部署在Node上 - Node连接的是Mysql,需要安装Mysql镜像 - Java连接的是Oracle,需要安装Oracle镜像 - 音乐文件存放在Minio上
需要将以上应用迁移到Linx上,干!
很多公司不让碰服务器,现在可以看看关注我,记录从Linux上无到有,全过程。
这一篇是主要还是写给还在用win服务器的、准备迁移Linux的朋友,可以练习迁移服务器到Linux,Linux有很多好处,最可见的就是空间、速度快...
迁移过程中,势必会有很多坑等着你来解决,上方的需求都会写上,本篇主要讲解Docker部署Java,其他应用后续持续更新,敬请期待!
一、阿里云换Linux系统
首先是将服务器换成Linux系统。
如果要使用Linux,我们需要两个软件xshell、xfrp来连接服务器,可以看看使用xshell实现windows和vm虚拟机上的centos文件互传功能(以及安装xshell)
选择阿里云后台 -- 服务器运维 -- 重置系统
系统镜像就像官方原版,应用镜像就像在官方原版的基础上,安装了一些软件。
1.1 系统镜像
Alibaba Cloud Linux
:新出的镜像,CentOS的分叉(如果不需要安装什么应用环境就建议安装)
1.2 应用镜像
Docker
PS:系统镜像、应用镜像只能二选一。
最终决定:选择
Docker
应用镜像,因为就算选了阿里的系统镜像,也会去安装docker,程序放在docker,到时候打包搬家也方便,也顺便学学docker(是主要😁)。
✔️服务器环境已成功将Win7换成linux、Docker。
1.3 系统镜像和应用镜像是什么区别
系统镜像就像官方原版,应用镜像就像在官方原版的基础上,安装了一些软件,省去了自己安装的烦恼。
二、Docker运行Jar包
上面选择Docker
应用镜像后,服务器上会自动安装Docker环境。
我将jar包放在 /home/java
目录下。
2.1 Dockerfile的创建
构建镜像需要创建一个Dockerfile文件,这是一个构建镜像用的文本文件,它没有后缀格式,就叫Dockerfile。
Dockerfile文件:
FROM java:8
MAINTAINER zeze
COPY eureka-server.jar app.jar
CMD java -jar app.jar
EXPOSE 7000
参数说明
-
FROM java:8
:- 基础镜像是docker仓库的java8镜像,这样我们创建的镜像就有jdk了,才能运行jar包。
-
MAINTAINER zeze
:- 镜像作者是zeze。
-
COPY eureka-server.jar app.jar
:- 简化jar的名字路径,因为eureka的jar包在当前文件夹下,所以直接写文件名字就行。
-
CMD java -jar app.jar
:- 运行cmd命令,会在启动容器时运行(其实就是写我们平时运行jar包的命令)。
-
EXPOSE 7000
:- 设置对外端口为7000。
2.2 构建镜像
在docker中,使用cd命令切换到jar包文件夹目录下(我在/home/java目录),然后运行命令。
java
docker build -t eureka .
如此就构建成功了。
注意:
build的时候,镜像名字不能是大写,之前命名叫bokeJava是会报错的。
当然你写成boke.java也是可以的。
2.3 查看docker镜像
使用docker images命令可以查看已有镜像
可以看到我们创建的eureka镜像。
2.4 使用镜像启动容器
java
docker run -d -p 7000:7000 eureka
参数说明
-
-d
:- 后台运行,去掉-d的话我们启动容器后会进入该容器,看到日志的打印什么的。
-
-p 7000:7000
:- 端口映射,后一个7000表示镜像的端口(这里我们eureka端口是7000,所以都统一用了7000端口)。
-
eureka
:- 我们的镜像名称,也可以换成镜像id。
如此就启动成功了。
2.5 查看容器
docker ps -a
可以看到我们的eureka容器。
使用
docker ps
查看的是成功运行的容器,而docker ps -a
查看的是全部容器,包括运行失败的容器。
2.6 测试
jar包看日志是没有报错的,外网访问一下,发现不通。
解决:端口要全部保持一致,springboot里面的端口、Dockerfile的端口、Linux的端口要映射好,也就是docker run -d -p 7000:7000 eureka
要映射对应。阿里云端口要开放,也怀疑是网关没配,但阿里云默认帮我们配置了。
检查一遍,发现springboot项目里面的端口写的不是7000,所以改过来就访问成功了。
最后
我们完成了需求之一:Java作为第三方应用,已迁移到Linux的Docker中。
我们总是喜欢以项目来驱动学习,不是吗?
我也是,通过个人项目 - 在线音乐 来驱动我学习Linux系统、Docker、Java、Nginx等等前端可能接触不到的知识,我想这可能就是管理层的“广度”。
下篇讲解Mysql,回见啦~
相关文献
以往推荐
vue-typescript-admin-template后台管理系统
原文链接
- 优化了三年经验者的Echarts卡顿
- 请收下这炫技的CSS技巧
- 嘿,你知道animation啥时候被无效化嘛
- 当教会需求看Echars之后,他竟然Duang Duang Duang~
- Java缓缓连接Oracle,对方向你吐了块红色
- 实战篇:Oracle不会部署?来,教你玩
- 写给还用Win服务器的朋友,该转型Linux啦
- PicGo搭配Gitee图床的踩坑过程
- Typora拖拉图片生成在线图片 | Gitee图床
- 全网最全的minio问题常见报错及解决
- 有请Minio统一管理文件(实操JS、JAVA)
- Git下载安装及遇到的坑(持续更新)
- 玩转springboot
- 了解sql注入、xss攻击及解决
- CSS中你可能不知道的position属性的sticky与@supports
- koa文件上传的那点事