分享好友 最新动态首页 最新动态分类 切换频道
阿里云ECS服务器购买及配置,SpringBoot项目部署到阿里云ECS服务器,阿里云ECS服务器安装JDK、Mysql、nginx详细步骤
2024-11-07 22:12

阿里云ECS服务器购买及配置,SpringBoot项目部署到阿里云ECS服务器,阿里云ECS服务器安装JDK、Mysql、nginx详细步骤

官网:阿里云-上云就上阿里云

根据自己的需要选择相应的配置

目前有一个月的服务器免费体验时间,我选择了免费体验,点击后,可以看到你刚才购买的服务器

在这里插入图片描述

也可以通过这里查看你的服务器: 

到这里服务器已经购买成功,接下来是通过工具(xshell、Termius等)去连接你自己的服务器,方便安装JDK,Mysql,nginx等。

接下来是如何通过工具连接服务器

远程登录你需要先设置密码: 

设置成功后记住你输入的密码,在你服务器实例中点击远程连接: 

点击后出现以下页面

点击后出现下面页面,输入你的6位密码

输入正确密码后,输入你的实例账号和密码显示如下代表成功

 要是不确定你的实例账号和密码可在这个地方查看

点击重置密码后出现如下页面,可查看账号和密码

至此整个阿里云服务器的申请就算完成了。

简单测试一下,你会发现网页登陆云服务器的方式有一个弊端,那就是只要一小段时间不操作,服务器就会进入休眠,又得输入连接密码才能激活,很烦。所以我们采用别的方式登录这个云服务器。

2.2 Xshell是一个终端模拟软件,换言之,我们只要在本地Windows系统下安装这个软件,打开输入账号密码,就能登录远程的云服务器

2.3 Xshell下载官网:https://xshell.en.softonic.com/(如果官网下载太慢,可以百度一下Xshell,很多资源,下载最新版的就行,我用的是Xshell 7

2.4 下载完了选择安装路径开始安装,这个软件很小,安装也简单,安装过程中不会出现问题(新手的我也一路畅通

2.5 打开Xshell们可以看到如下界面在这里插入图片描述

2.6 新建一个会话,拿出之前的笔记,将公网IP输入到主机栏,端口号设置为22(服务器的监听端口,ftp默认为21,sftp为22,如果你设置22连不进去,那就换21试一下

2.7 点击 ”确定”>>“连接”,继续拿出笔记,把服务器账号填进“登录的用户名”,把服务器密码填进“密码”,如下图。

在这里插入图片描述

2.8 登录成功,进入服务器。以后我们就可以通过这个界面对云服务器进行远程操控,在上面进行jdk,mysql安装,springboot部署等操作了。  在这里插入图片描述

SpringBoot项目里自带了Tomacat,所以我们不需要再去服务器安装。所需要安装的是JDK(你想要部署项目的JDK版本)。

3.1 先用Xshell 连接到你的云服务器(或者直接在阿里云官网中远程连接也行

3.2 在你的本地Windows系统中下载 Linux系统下的jdk,jdk下载官网:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。下载你需要的jdk版本,我用的是 jdk-8u261-linux-x64.tar.gz

在官网上需要Oracle的账号,因为我没有Oracle账号,我在CSDN上找了一个jdk-8u261-linux-x64.tar.gz包。

得到tar包后,你需要在服务器上创建一个存放包的文件夹

 切换到对应目录

 我在对应的包下创建了java包,用来保存jdk:

 

现在我们需要把tar传到这个目录如图

  然后我们要把这个文件传到云服务器上去。听起来很高端,其实很简单的。在Xshell上执行rz命令就可以实现。首先我们要在云服务器上安装这个命令。在Xshell中执行

 

我们要把上传的文件放到哪个目录,就要先cd进入那个目录。我们申请的服务器的初始目录结构如下(cd命令:进入目录

例如:我现在我想把jdk保存到,/root/user/java这个目录下,这个目录也是刚才我们自己创建的,用cd命令切换到对应目录

 

然后 rz 把安装包上传上去(rz命令:上传文件

 

执行rz命令会弹出一个文件选择框,选择安装包上传

 上传中,等待上传完毕

传输完毕,点击“关闭”

使用ls命令查看目录。可以看到,我们刚才上传的安装包已经存在于目录中了(ls命令:查看当前目录下的文件

 

因为我的之前解压过一次,所有会有一个蓝色的包,不必在意

接下来解压安装包就算安装成功了!使用tar命令解压压缩包,如果你下载的版本跟我不一样,记得把包名改成你自己的版本 。(tar命令:解压

 

解压完成后就会有如下蓝色的包

跟你在windows系统下安装完jdk一样,你还要设置系统环境变量。linux系统中的设置方法为:找到文件 /etc/profile ,向其中添加如下代码

先cd进目录 /etc ,再使用 vim命令编辑文件profile(vim命令:编写修改文件内容,该文件类似于windows系统下设置系统环境变量。

 

 

 进来以后是下面这个界面,按i 键入编辑,在文件最后添加如上内容。其中export JAVA_HOME=/root/user/java/jdk1.8.0_261为你解压得到蓝色包名的路径。

 在文件的最后把上面的代码打进去,如果你的jdk版本跟我不一样,记得把 export JAVA_HOME=/root/user/java/jdk1.8.0_261 这一行改成你自己的版本。然后按ESC键退出编辑,输入 :wq + 回车键保存退出文件。

查看文件是否保存成功。

 

 

 立即执行profile文件,使之生效,使用source命令(source命令:依次执行文件所有语句

 

 

到这一步,jdk的安装就全部完成了。最后,我们再使用java命令验证一下,如果可以看到我们的版本信息就可以了。  

 

 输入命令后,得到一下结果,证明安装成功

4.1 启动Xshell,连接阿里云服务器

4.2 检查系统有没有自带mysql

 

4.3 一般情况是没有的,但如果有,就卸载

 

4.4安装mysql5.*版本,看自己需求安装

MySQL 5.7 Linux安装包 官网下载:https://dev.mysql.com/downloads/mysql/

选择你的镜像版本和目前最新是8.*版本,如果需要其他本部点击右侧如下图

 8.*版本

以下是其他版本,选择你需要的版本

将下载的压缩包上传到服务器中,我自己在root目录下user中创建一个mysql包用来保存下载的tar包。

切换到对应目录

 

通过rz,把下载的tar包上传到服务器

 

 成功后,解压刚下回来的tar包,得到rpm包

 

查询并卸载系统自带的Mariadb

 

查询并卸载系统老旧版本的Mysql

 

如果这两个都没有则什么都不会显示,这就可以省一半的心了。

开始正式安装1.找到你解压出来对应包执行Rpm包安装。注意看你的数据库版本安装的顺序必须如下,因为有的包之间有依赖关系,顺序不一样会报错。

 

 这几步都没错代表安装完成。

在安装时我遇到的错误,安装这个会报缺少依赖

 只要添加如下依赖在安装

 

1. 设置开机启动

 

2. 启动mysql服务

查看mysql服务是否启动

 

3. 重置root密码 MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式 MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到

 

4. 修改root用户密码 (MySQL的密码策略比较复杂,要大小写,过于简单的密码会被拒绝

mysql -u root -p mysql> Enter password: (输入刚才查询到的随机密码) mysql> SET PASSWORD = PASSWORd('自己设置密码');       mysql> exit

5、开放远程连接

mysql>use mysql; mysql>update user set user.Host='%' where user.User='root'; mysql>flush privileges;

6.下一步开放外部网段访问3306端口。

 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '自己设置的密码' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

 mysql>exit;

7.查看防火墙配置3306端口 查询防火墙状态:

 

8.开启防火墙mysql 3306端口的外部访问

 

 但你执行以上步骤时报如下错是因为没打开防火墙

 打开防火墙即可

通过  systemctl start firewalld  开启防火墙,没有任何提示即开启成功。

 

9.使用数据库软件验证是否正常工作

在连接之前你需要在服务器中给数据库的3306端口添加到安全组中,在实例列表中就可以看到我们购买的云服务器。点进去,我们需要对服务器的安全组进行设置

安全组中除了自带的规则,我们还需要添加几个新的安全组(这些安全组的具体作用可以看其他博主的文章

在这里插入图片描述

完成这些错误后,可以使用数据库连接工具远程连接数据库。

5.1 linux云服务器上的环境我们都已经配置好了,但好像差了一个tomcat?因为springboot内置了tomcat,所以后面我们把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)。

这里我是用的是IDEA工具进行springboot项目的打包

打开你的项目,在右侧找到maven点开,执行一下操作

 运行完成后,可以在你项目的target包中去找

 把这个jar包传到服务器上

 打开application.properties,设置项目运行端口

把这个jar复制到桌面,打开Xshell,使用rz指令把它上传到linux云服务器的根目录

这里我自己创建了一个文件夹用于存放jar包

 上传成功后,我们要想在linux系统上运行这个项目,就要保证他运行所用的端口没有被占用,不然运行就会报错。

查看端口使用情况

 

 可以看到这个端口被占用了(没被占用的时候不显示任何东西,查看占用端口的PID

 

 我们要把它kill掉,留出空位来运行我们的项目。kill后再次查看端口,可以看到这个端口已经腾出来了(查询为空

 

  使用java指令运行项目jar包,这样我们的项目就算部署成功了

 

你需要把你的项目的端口的外部访问

做完之后你需要在服务器的安全组中添加你的项目端口号

 

 随便找个浏览器,搜索栏输入http://公网ip:端口号 就可以搜索到你的网站了。

接下来完善一下啊jar包运行

这种启动方式是一次启动,当我们关掉Xshell的时候,我们的网站又访问不上了,又得重新打开Xshell,执行 java -jar ***.jar。所以我们要使用下面的方法让这个项目在服务器上自动不间断地跑.

 关掉重启一下Xshell(这样的话原本的项目就停掉了,创建并编写文件 start.sh,向其中添加字段 : java -jar ***.jar 。按ESC + :wq + 回车键保存退出

 

 创建完成后查看是否成功

 

 编辑start.sh文件

 

 

 按ESC + :wq + 回车键保存退出

给这个start.sh 管理员权限,然后用nohup指令不间断地运行(nohup指令:忽略所有挂断(SIGHUP)信号,不挂断地运行命令

 赋予管理员权限:

 

不间断运行文件内的指令

 

 操作图片在这里插入图片描述

 查看jar包是否运行

 

 如下可以看到时间和后面的jar包名说明成功

 要是浏览器上索栏输入http://公网ip:端口号 搜索不到你的网站,记得执行以下操作以及添加安全组

 

 这样我们就能拿到你后台jar包的数据了

如果需要把前端项目部署在服务器上需要安装一下nginx,关注我持续更新

Nginx的安装通过源码包编译完成,需要c++支持库,同时在Nginx运行过程中对于一些压缩、路由正则表达式、https支持等相关特性需要其他一些支持库。一般情况下,安装 gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 这些依赖可满足基本要求,安装指令如下

 

安装完成如下图: 

 

 如下图

 2. 2 解压源码包

 

 如图

解压完成后 执行安装检查,运行如下指令

 

如图: 

 检查完成后,默认安装配置信息如下图所示。

 执行下面指令,默认会安装到目录下

 

执行完上面命令后

此步骤可选,目的是为了后续运行nginx操作指令方便。别名配置方式和当前使用的shell类型相关,这里使用,所以在用户目录的文件中加入如下别名  替代nginx执行文件的完整路径。

 
 

 按Esc,输入:wq退出并保存,然后执行下面操作

 

安装完成后,会生成nginx默认配置文件 

可执行如下命令nginx配置检查,如果配置文件有错误会有相应提示。

 

 ​

 如上图,nginx配置正确,下面指令启动nginx、查看nginx进程、并从本机测试可访问性(默认开启80端口,所以使用  访问即可),如下图

 

如图

在这里插入图片描述

 上图中使用  命令访问本机可正常返回页面信息,nginx安装完成。后续可进行其他域名相关的绑定配置。

如需要在浏览器上访问则需要暴露80端口:

 

 如图

3 阿里云ECS配置

如上面步骤nginx已成功安装,且在本机可访问。但是由于阿里云的安全机制,默认情况下无法使用公网IP进行访问,也就是无法在其他主机通过非域名方式访问。解决方式如下。

3.1 添加安全组 默认情况下,阿里云系统会给每个ESC主机关联一个默认的安全组(每个ECS实例也至少要关联一个安全组,该安全组默认开启了TCP协议中的22 和 3389端口,用于支持 ssh 和 mysql 操作,如下图。所以安装Nginx后,默认使用的 80 端口并未开放,所以无法访问。

 3.3 测试公网IP访问

完成上面步骤后,在浏览器中,直接输入ECS的公网IP,可成功访问,如下图: 

 到此服务器部署JDK、mysql、Nginx、运行jar结束

---------------------------------------------------------------------------------------------------------------------------------

最新文章
专业SEO关键词优化:提升网站排名,打造互联网流量利器
为了让您的网站在激烈的市场竞争中占据有利位置,进行精准的关键词优化是必不可少的。如何才能进行高效且专业的SEO关键词优化呢?我们将为您介绍几个关键的优化步骤。关键词研究是SEO优化的第一步,也是最为基础和重要的一步。通过关键词研
Copilot插件:时时陪伴的AI助手 | Obsidian实践
这段时间,有点儿沉迷于AIGC实践不可自拔,也因此懈怠了Obsidian实践。回过头来猛然发觉,其实Obsidian也“上架”了很多与ChatGPT有关的插件。赶紧体验下,看看有没有什么,是一下子就能用起来的。不得不说,自从我安装了Copilot插件,就再
seo优化推广如何 SEO优化推广效果与策略解析
SEO优化推广如何:掌握数字时代的营销利器在当今数字化迅猛发展的时代,企业的在线可见性和品牌影响力变得至关重要SEO(搜索引擎优化)作为一种有效的数字营销策略,不仅能够帮助企业在竞争激烈的市场中脱颖而出,还能带来持续、稳定的流量
宁波SEO服务热线汇总,助力网站快速提升排名抢占市场优势
宁波SEO厂商电话一览,为您提供专业SEO服务,助您快速提升网站排名,抢占市场先机。涵盖多家知名SEO公司,详尽联系方式,让您轻松选择,高效优化网站,助力企业发展。随着互联网的快速发展,企业对网络营销的需求日益增长,SEO(搜索引擎优
Python开发QQ聊天机器人——Yes酱的部署与调教
Yes酱是一个会发s图的群管理机器人,基于 go-cqhttp,使用OneBot标准的插件开发的一个机器人,支持以下功能:发送setu/猫猫图返回一张涩图/猫猫图检测关键字禁言私聊调教对话本文主要参考了其官方博客,结合Yes酱的github和go-cqhttp的gith
2024 (图文)Yoast SEO插件使用教程,详细设置步骤
  Yoast SEO是著排名第一的。插件有Yoast SEO(免费)和Yoast SEO Premium(付费)有两个版本  Yoast SEO可以完美地在所有类型的网站或上实现SEO相关的设置。可帮助您编写更好的且经过优化的内容让搜索引擎收录。该插件的免费版本还具
EyouCms(易优企业建站系统) 官网版 v3.5.6
EyouCms(易优企业建站系统)官方版是一款十分受欢迎的企业内容管理软件。EyouCms(易优企业建站系统)最新版支持文章的「发布、删除、移动、复制、排序、推荐、置顶、隐藏、显示」操作。EyouCms(易优企业建站系统)官方版支持设置每篇文章的「
【技术】全站仪测量使用方法及坐标计算,一步一步讲解!
全站仪常规注意事项:在使用本仪器之前, 要把各种注意事项烂熟于心,务必检查并确认该仪器各项功能运行正常。1、不要将仪器直接对准太阳将仪器直接对准太阳会严重伤害眼睛。若仪器的物镜直接对准太阳, 也会损坏仪器。2、将仪器架设到脚架
宅家新姿势—威联通NAS安装套件版Emby搭建家庭影音服务器
创作立场声明:最近一直在折腾威联通的NAS,也折腾出了一些小心得,网上关于威联通系统的相关教程较少,所以新的一年,准备开一个新系列,写写威联通系统的介绍、配置技巧等,是分享也是记录。在阿文菌等各位大佬的影响下开始研究Emby这款
【原创】解锁社交媒体SEO:获取海量流量的密钥
  在当今数字化时代,社交媒体已成为人们日常生活的重要组成部分,同时也是企业和个人获取流量、提高品牌知名度的重要渠道。社交媒体SEO(搜索引擎优化)作为一种优化社交媒体平台的方法,旨在提高网站在搜索引擎和社交媒体上的排名和流量
相关文章
推荐文章
发表评论
0评