原创

手把手教你应用服务如何部署到阿里云服务器(配docker基础教学)

前言

近两天将自己的系统成功部署好了,期间也出现了很多的问题,特此记录一下并给来看的读者给予便利!一步步操作好即可。 我是在阿里云的服务器上购买,其他平台的服务器应该也大同小异。按照步骤来即可,这是我购买的服务器地址阿里云学生服务器购买 1核2G5M

购买服务器

进去页面后我们选择轻量应用服务器,时长随意,这个活动学生第一次购买是有优惠的,只要认证一下就行。这里我选择12个月的。

在这里插入图片描述

点击立刻购买后,会弹出配置,地域选一个离我们最近的就行,镜像的类型我们选择系统镜像CentOS,里面是空的,选择应用镜像的话,不同的应用镜像里面会初始化配置一些应用,看情况而定(我是不会说我因为安装了应用镜像最后心态爆炸全部还原哭着改到系统镜像的事情的o(╥﹏╥)o)。我们直接用原生的就可以。然后直接购买就可以了,因为我买过了所以1000多...这也太贵了..穷鬼哭泣。

在这里插入图片描述

买好之后进入我们的平台界面,可以看到中间的服务器信息有个公网IP和内网IP,公网就是我们可以在外部的服务器进入访问(比如我们自己的电脑),内网ip就是在服务器里可以访问到的地址。相当于我们可以访问127.0.0.1。之后允许的话可以去配置一个域名,点进入购买即可,然后备案解析就可以用了。

在这里插入图片描述

我们点右上角远程连接就能连接到我们的服务器,或者使用xShell这类软件,通过ip,账号和密码进行连接。账号统一是root(应该吧),密码的右边可以重置,也可以用系统默认的。这就连接进入了。

在这里插入图片描述

配置项目所需配置

连接到服务器之后我们就开始配置一下项目运行所要的配置。我是使用java的项目,所以需要安装java的JDK。 我们直接输入 yum -y install java-1.8.0-openjdk* 运行就可以直接安装jdk1.8,Jy这里装过了就不装了,嘿嘿

在这里插入图片描述

那装好jdk之后,如果没有别的什么组件比如数据库,redis等,就可以直接拿jar包进来运行了,直接跳转到后面介绍jar包运行的部分就可以了。 由于Jy的应用项目中还有用到其他的组件,还得继续装,我的项目中用到了redis,所以还得装redis。我们直接使用Docker进行装配,这玩意是真好用,简单而且很快。没有了解过的同学可以先去了解一波docker。 我们调用yum -y install docker就可以将docker下载过来。

在这里插入图片描述

装好给docker换个源,因为默认的源地址是在国外,下载速度奇慢,咱顶不住。 调用 vim /etc/docker/daemon.json 进入到docker的配置文件中,修改源的地址。 将这段代码复制进入就OK。

{
 
"registry-mirrors":["https://registry.docker-cn.com"]
 
}

然后调用systemctl restart docker重启一下docker,即换源成功。就有开始下载需要的配置。

在这里插入图片描述

开始下载redis,下载前小伙伴们可以先 docker search redis,查看有哪些镜像可以供我们下载。如果直接pull的话就是选择默认的这个。

在这里插入图片描述

选择我们docker pull redis即可,安心等他下载完毕。 下载完毕后使用docker images可以查看到已经下载过的镜像。

在这里插入图片描述

镜像有了就得启用镜像,redis的启动可以使用自定义的配置文件,这里就直接简单粗暴的启动docker run -d -p 6379:6379 --name redis redis -d代表是后台执行,-p代表当前服务器的6379端口映射到docker容器中的6379端口,--name设置容器的名字,最后的redis是镜像名。启动后通过docker ps能查看到已经启动的容器。(我感觉这是docker教学...)

在这里插入图片描述

然后我还用到了rabbitmq,配置的过程惊奇的相似,就不重复讲废话了。项目中还用到了nacos做注册中心,nacos就不用docker装了,我们直接下载。因为nacos在官网下载出奇的慢,Jy这里当然已经给大家准备好了。 网盘链接 nacos1.3.1 密码:zwol 大伙可以进去下,可以用windows先下载好拖进去,或者用wget命令下载。下载好或者是拖进去以后,随便找个文件夹解压就行。Jy是放到/usr/local路径下了

在这里插入图片描述

然后使用tar -zxvf 压缩文件名.tar.gz进行解压,就会出现一个nacos文件夹,cd nacos/bin ,然后将服务启动,启动的话./startup.sh 启动即可。我们可以通过外网用 ip地址:8848/nacos 进入查看 到这里我们的配置已经全部配好。如果进不去的话要去平台上的防火墙那打开8848端口才可以外网访问。 另外如果有小伙伴们买了云数据库的话,在配置的时候需要通过白名单将允许访问的IP地址加入,不然无法访问数据库。

JAR包解析,部署服务

好,到这里Jy已经带领大家配好所有的配置和系统了,最后一步部署就好了。那那啥部署呢...以SpringBoot为例,我们可以使用jar包部署,那哪来的jar包呢.. 打开我们的idea,右边有个Maven的标识,我们点开,点到图片的位置。先使用clean清空以前生成的jar包,然后再调用package生成新的jar包。(另外补充一点,如果有小伙伴因为换了static下的配置文件而无效果的,也需要清空并重新打包哦)

在这里插入图片描述

生成的jar包在每个模块的target下,那个后面带jar的就是。然后我们整理整理,把多个模块的jar包都弄到服务器上先。这里我推荐一款工具(也是以前同学推荐给我的)叫WinSCP。大伙可以去百度上下过来,Jy因为下了太久了也忘了咋下了,反正百度上下的。

在这里插入图片描述

打开是这个样子,左边是我们的windows,右边是我们要连接的服务器。我们点击新建会话,开始连接。

在这里插入图片描述

输入账号密码连接就行,跟之前xShell等连接方式一样。

在这里插入图片描述

连接上之后将我们的jar包文件拖进去就好了。Jy是放到了/home/admin目录下。

在这里插入图片描述

ok,最后一步,我们启动jar包。这里要注意一些地方。我们在服务器上部署的话不能使用老版的java -jar xxx.jar 这种方式,这种方式启动的话随着当前窗口的关闭,服务也会关闭。所以我们需要换一种方式进行部署。我推荐一个大佬的网站,我也是从这学来的(菜的想哭).这是大佬的文章 我这里就简要概括下我们要用哪种方式启动。 nohup java -jar XXX.jar > /dev/null 2>&1 & nohup java -jar xxx.jar & 表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。注意的是,该作业的所有输出被重定向到nohup.out的文件中。 /dev/null 2>&1 表示将所有的输出都输出到 /dev/null中,/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。因为我们内部是有日志的,所以这些输出就将它丢弃即可。 我们这样启动即可,有一个jar包执行一次,有两个就执行两次,都在后台执行。

在这里插入图片描述

这样就部署好了,大伙可以去网站上试试 IP:端口 即可。如果访问不到就去应用平台上看看防火墙有没有开。

在这里插入图片描述

好了,那又有问题了。既然部署到后台了,看不见吃不着的,想关的时候该怎么关。这种问题Jy肯定也准备好了,我们在服务器中调用 ps -ef | grep java 因为是java文件,后面就可以用java找到。 就是这个效果了,前面那个29329,就是我们用来关闭它的东西。通过 kill -9 29329 就能将它关闭了

在这里插入图片描述

结束语

以上就是全部的内容啦! 希望看见该文章的所有小伙伴们都能成功的部署项目。 另外来推一波我的网站,虽然还不成熟,但是也勉强能看哈哈哈,以后的文章可能会先在上面发布。大家多多欢迎~有间博客 欢迎您的光临 有问题的可以加我qq等方式私下交流哈!

java
linux
docker
centos

  • 作者:LinJy(联系作者)
  • 发表时间:2020-08-02 20:11
  • 版权声明:自由转载-非商用-非衍生-保持署名(null)
  • undefined
  • 评论

    留言