华为云部署JavaWeb(SpringBoot)程序(基于Centos7)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 华为云部署JavaWeb(SpringBoot)程序(基于Centos7)

你也可以完全自己安装Mysql这些软件,或者直接使用Docker进行容器化部署,都很快。

如果你的项目不需要数据库这些,只需要一个JDK,那么你只需要安装一个JDK就可以完成项目的运行了。

Linux对应版本java软件

Linux版本下各种JAVA项目所需要的软件

项目打包

这里你的mysql的url地址应该写你的云服务器的公网地址,并且username和password应该设置为你云服务器上的账号密码,云服务器的账号密码设置下文贴出.

华为云配置

这里的云服务器我是用的是华为云的云服务器.

要想在云服务器上部署JavaWeb项目,一般需要用到打包好的jar包或者war包,这里我用的是jar包.

打好包之后可以就可以开始着手配置华为云服务器的环境了.

先使用Xshell7连接华为云虚拟机,当然你不使用也可以,直接面对其提供的小黑框我认为也不是不行.

然后使用root用户连接上这个云服务器之后就可以进行下一步配置.

这里使用宝塔来进行配置,众所周知这是一个非常方便的虚拟机操作工具.

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

等待下载完毕之后会出现对应的内网与外网地址以及用户名及密码

这个时候他提示了你要先开启对应的华为云虚拟机的安全组的端口同时还需要关闭防火墙,所以我们先配置安全组信息.这里他提示的我是8888端口要开启,因此我们配置一个安全组的入方向规则,添加如下信息,如果你的是不一样的,那么就修改为其提供给你的端口即可.

之后修改防火墙状态

上面两个配置完毕之后就可以用它给你的外网或者内网地址登录了,账号密码就是他给你的账号密码.

当然!宝塔的这个地址不是永久的,只要你的虚拟机状态改变,那么这个地址也会改变,因此当你发现访问不上宝塔网站之后,你可以输入如下命令再次查看此时的宝塔网站地址

/etc/init.d/bt default

在控制台输入bt也可以开启很多宝塔的功能哦

当你第一次登录成功之后,他会提示你进行安装Mysql等一系列的组件,直接点击箭头所指的一键安装即可

之后等待安装完毕.

此时我们点开宝塔的"安全"

这里我们不要开启防火墙,同时请确保你的虚拟机的防火墙也没有开启(这能省很多事情)

之后我们根据这里系统防火墙的端口去华为云那边配置对应的安全组端口.

当然你可以直接设置为全部允许,这也能省很多事情,当然求稳也可以每个都配置过去

之后我们再修改一下mysql的连接密码即可

Mysql配置

这个时候我们直接转到Xshell7里面去配置mysql,设定访问为所有地址可以访问

使用

mysql -u root -p

配合你刚才修改的密码进行登录

然后修改访问权限

Mysql5版本的权限设置语句:

GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '这里输入你刚才设置的密码' WITH GRANT OPTION;

Mysql8版本的权限设置语句:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '这里输入你刚才设置的密码';

输入之后进行刷新操作

FLUSH PRIVILEGES;

JDK8配置

之后mysql也配置完毕了,此时你还需要一个jdk

使用Xftp软件将Linux版本的jdk下载到Centos7

(这里我引用我之前一篇博客的操作)

Centos7下载JDK8与Mysql5.7

首先打开Xshell7,进入root用户

输入如下指令进入opt目录并且创建两个文件夹

进入opt目录   [root@hadoop0114 software]# cd /opt  
创建module文件夹 [root@hadoop0114 opt]# mkdir module
创建soft文件夹 [root@hadoop0114 opt]# mkdir software

jdk8-Linux下载

下载完毕之后是个文件夹,我们只需要里面的tar.gz文件

之后直接用鼠标把这个文件拖入到software这个目录中!

之后使用指令解压该文件即可

[root@hadoop0114 software]#  tar -zxvf jdk-8u181-linux-x64.tar.gz -C /opt/module/

解压完毕之后还需要进行jdk环境变量的配置

输入

cd /etc/profile.d
进入profile.d目录之后创建一个文件用于配置jdk的环境变量
vim jdkenv.sh

进入该文件后输入

export JAVA_HOME=/opt/module/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin

之后输入 : wq退出

之后使用source /etc/profile 重新加载,使得脚本生效

配置完毕之后,输入java 就可以看见java已经配置成功了,当然也可以输入java -version

MAVEN配置

移动到对应的目录执行操作,解压tar.gz文件

tar -zxvf apache-maven-3.5.4-bin.tar.gz

解压完毕之后需要将MAVEN配置到环境变量中去.

cd /etc/
vim mavenenv.sh
创建好sh文件之后输入以下内容 //前提是你的jdk配置完毕了 jdk时候配置完毕可以输入java即可 有出现东西就对
export MAVEN_HOME=/opt/software/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
之后保存退出
执行 source /etc/mavenenv.sh

maven配置完毕之后

同时我们需要配置maven的本地仓库

vim /opt/software/apache-maven-3.5.4/conf/settings.xml 

再文中加入某个你要作为maven仓库的位置,可以自己随便创建一个目录

项目上线

如果你的java与mysql都配置完毕了,那么此时你只需要把你的jar包进行运行即可,运行方法如下

nohup java -jar xxx.jar > server.log 2>&1 &

如果不理解为什么运行语句是这样写的可以看下面这篇博客。

nohub详解

这里的xxx.jar换成你自己的jar包即可,这个jar包也可以使用Xftp直接导入到华为云的虚拟机上,操作如下,Xftp的连接方法和Xshell7一样,因此就不演示了,然后直接把你的jar包拖入到你所希望的目录下即可.

启动运行之后就会显示当前进程对应的PID,我们可以根据这个PID关闭当前进程。

之后这个进程就会进入后台运行,当然,请确保你的程序所指定的端口没有被占用哦。

如果想要关闭这个进程,由于这是一个后台进程,所以单纯的使用jobs无法查看并终止这个进程,所以我们需要使用ps -ef

之后想要关闭当前进程就是用

kill -9 进程号

效果展示

正常情况你的代码就已经运行再网络上了,你可以把这个地址直接复制给你的小伙伴让他们试试

相关文章
|
9月前
|
XML 人工智能 Java
优化SpringBoot程序启动速度
本文介绍了三种优化SpringBoot启动速度的方法:1) 延迟初始化Bean,通过设置`spring.main.lazy-initialization`为true,将耗时操作延后执行;2) 创建扫描索引,利用`spring-context-indexer`生成@ComponentScan的索引文件,加速类扫描过程;3) 升级至最新版SpringBoot,享受官方性能优化成果。这些方法能显著提升程序编译与启动效率。
1784 0
|
XML Java 应用服务中间件
SpringBoot-打包&部署
SpringBoot 项目支持两种打包方式:WAR 包和 JAR 包。JAR 包内置 Tomcat,可直接运行;WAR 包需部署在外部 Tomcat 上。JAR 包通过 `mvn clean package` 打包并用 `java -jar` 运行,支持后台运行和 JVM 参数配置。WAR 包需修改 pom.xml 为 war 类型,移除嵌入式 Tomcat 依赖,添加 servlet-api,并继承 `SpringBootServletInitializer`。配置文件可通过外部 application.yml 覆盖,默认优先级高于 JAR 内部配置。
1370 17
SpringBoot-打包&部署
|
11月前
|
安全 Java 持续交付
如何实现上传jar直接部署成功,这篇文章直接带你上手springboot实现jar包热更新!
本文详细讲解了在Spring Boot应用中实现Jar包热更新的实践方法。通过自定义类加载器(`HotClassLoader`),动态加载和卸载指定目录下的Jar包,结合Spring Bean动态注册机制,使新加载的类能够被Spring容器管理。同时,提供了文件上传接口,方便用户手动触发Jar包更新。文章还强调了安全性、依赖管理和线程安全等注意事项,并给出了测试步骤和总结,帮助开发者高效实现热更新功能,减少服务中断和提升开发效率。
|
11月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
628 70
|
8月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
794 13
|
10月前
|
Linux 应用服务中间件 nginx
在CentOS上部署Minikube教程
至此,您已成功在CentOS上部署并使用Minikube。您可以自由探索Kubernetes的世界,熟练配置和管理Kubernetes集群。
907 20
|
8月前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
743 0
|
12月前
|
JavaScript 前端开发 Java
Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use;端口冲突的原理与解决方案
本文解决了Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use的问题,并通过介绍端口的使用原理和操作系统的端口管理机制,可以更有效地解决端口冲突问题,并确保Web服务器能够顺利启动和运行。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 搜索推荐 Java
基于SpringBoot+Vue实现的家乡特色推荐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的高校食堂移动预约点餐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!