当前位置:   article > 正文

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

java mysql部署到esc spring配置

1.购买阿里云ECS服务器

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

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

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

在这里插入图片描述

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

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

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

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

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

点击后出现以下页面:

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

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

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

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

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









2.Xshell 的安装使用

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

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部署等操作了。
 在这里插入图片描述

3、ECS服务器安装JDK步骤:

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中执行

yum install lrzsz

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

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

 cd /root/user/java/

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

rz

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

 上传中,等待上传完毕:

传输完毕,点击“关闭”

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

ls

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

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

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

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

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

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

  1. cd /etc
  2. vim profile

  1. export JAVA_HOME=/root/user/java/jdk1.8.0_261
  2. export CLASSPATH=$JAVA_HOME/lib/
  3. export PATH=$PATH:$JAVA_HOME/bin
  4. export PATH JAVA_HOME CLASSPATH

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

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

查看文件是否保存成功。

cat profile

 

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

source /etc/profile

 

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

java -version

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

 4.linux云服务器安装mysql

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

4.2 检查系统有没有自带mysql;

rpm -qa | grep mysql

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

rpm -e --nodeps mysql

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

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

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

 8.*版本:

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

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

切换到对应目录:

cd /root/user/mysql/

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

rz

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

sudo tar -zvxf mysql-5mysql-5.7.33-1.el7.x86_64.rpm-bundle.tar 

查询并卸载系统自带的Mariadb

  1. rpm -qa | grep mariadb
  2. rpm -e --nodeps 显示出的文件名

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

  1. rpm -qa | grep mysql
  2. rpm -e --nodeps 显示出的文件名

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

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

  1. rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
  2. rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
  3. rpm -ivh mysql-community-devel-5.7.27-1.el7.x86_64.rpm
  4. rpm -ivh mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
  5. rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
  6. rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm

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

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

 只要添加如下依赖在安装:

  1. 解决办法:
  2. yum install compat-openssl10

1. 设置开机启动

systemctl start mysqld

2. 启动mysql服务

查看mysql服务是否启动

service mysqld status

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

sudo grep 'temporary password' /var/log/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端口
查询防火墙状态:

systemctl status firewalld.service

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

  1. firewall-cmd --zone=public --add-port=3306/tcp --permanent; /*注意后面都要带分号“;”*/
  2. firewall-cmd --reload;

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

 打开防火墙即可:

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

systemctl start firewalld

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

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

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

在这里插入图片描述

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

5.部署SpringBoot项目

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

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

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

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

 把这个jar包传到服务器上:

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

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

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

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

查看端口使用情况:

netstat -anp | grep 8099  //netstat -anp | grep <端口号>

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

sudo lsof -i:8099  //sudo lsof -i:<端口号>

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

sudo kill -9 26191  //sudo kill -9 <PID>

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

java -jar ***.jar  //***为你的jar包名

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

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

  1. firewall-cmd --zone=public --add-port=8099/tcp --permanent; /*注意后面都要带分号“;”*/
  2. firewall-cmd --reload;

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

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

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

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

touch start.sh

 创建完成后查看是否成功:

 

 编辑start.sh文件:

vim start.sh

 

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

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

 赋予管理员权限:

chmod 777 start.sh 

不间断运行文件内的指令

nohup  ./start.sh & 

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

 查看jar包是否运行:

ps -ef | grep java

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

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

  1. firewall-cmd --zone=public --add-port=8099/tcp --permanent; /*注意后面都要带分号“;”*/
  2. firewall-cmd --reload;

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

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

6.安装nginx

1.安装nginx依赖


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

yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

安装完成如下图: 

2 安装Nginx

2.1 下载源码包

wget http://nginx.org/download/nginx-1.18.0.tar.gz

 如下图:

 2. 2 解压源码包

tar -zxvf nginx-1.18.0.tar.gz

 如图:

2.3 安装配置检查

解压完成后,进入到解压目录 执行安装检查,运行如下指令:

./configure

如图: 

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

2.4 安装

在解压目录下 执行下面指令,默认会安装到/usr/local/目录下

make && make install

执行完上面命令后:

2.5 配置别名

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

vim ~/.zshrc
alias nginx='/usr/local/nginx/sbin/nginx'

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

source ~/.zshrc

2.6 安装结果验证

安装完成后,会生成nginx默认配置文件 /usr/local/nginx/conf/nginx.conf。

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

nginx -t

 ​

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

  1. nginx
  2. ps -ef|grep nginx
  3. curl localhost

如图:

在这里插入图片描述

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

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

  1. firewall-cmd --zone=public --add-port=80/tcp --permanent; /*注意后面都要带分号“;”*/
  2. firewall-cmd --reload;

 如图:

3 阿里云ECS配置


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

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

 3.3 测试公网IP访问

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

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

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

 本人也是新手,自学写的博客,文中有什么疏漏的地方,还望各位大佬在下方评论区指出。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/77568
推荐阅读
相关标签
  

闽ICP备14008679号