在Ubuntu下搭建Java部署环境需要使用到apt命令
apt命令(用于安装、更新、删除、查询软件包)
语法:
apt [命令] [软件包名称]
接下来我们来搭建Java部署环境
使用apt安装JDK
更新软件包列表
我们先更新软件包列表
apt-get updateUbuntu仓库的软件不一定和软件包官网的版本一样, 如果有需求可以自定义下载, 不使用配置仓库的软件包
安装openJDK
步骤:
- 查找jdk: 使用 apt list |grep “jdk”
- 安装jdk: 使用 sudo apt install openjdk-17-jdk
apt list |grep "jdk"sudo apt install openjdk-17-jdk
查找jdk
apt list |grep “jdk”
安装jdk
sudo apt install openjdk-17-jdk
使用apt安装MySQL
查找安装包
命令:
apt list | grep "mysql-server"
安装MySQL
命令:
sudo apt install mysql-server输入命令, enter安装, 接下来会有选择让我们选择
查看MySQL状态
命令
sudo systemctl status mysql
MySQL安全设置
默认安装的MySQL设置是不安全的, 数据被盗了就老实了, 因此MySQL提供了一个安全脚本
命令:
sudo mysql_secure_installation接下来也有许多选项, 除了第二个选项选择数字2, 其他都选择Y
选项1.
选项2.
剩下全选择: Y
设置密码
先连接MySQL服务器
命令:
sudo mysql修改密码命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
大小写都要有
退出数据库: 安装完毕, 退出数据库回到主机页面的命令是
exit
如何连接MySQL数据库?
连接数据库命令:
mysql -uroot -p
这个是隐式输入, 看不见输入的东西
然后把你的数据库代码导出来, 文件后缀是.sql, 最后放到服务器中
或者在服务器中执行sql语句也是可以的
执行sql文件的命令
source 文件名
安装Redis
. 更新软件包列表
sudo apt update2. 安装 Redis
sudo apt install redis-server3. 启动 Redis 服务
安装完成后,Redis 默认会自动启动。 手动启动或重启服务:
启动:sudo systemctl start redisservice redis-server start
重启:sudo systemctl restart redisservice redis-server restart4. 设置开机自启动
update-rc.d redis-server enable5. 检查 Redis 状态
service redis-server status正常会显示
active (running)停止 Redis 服务命令
service redis-server stop
准备工作
我们需要把本地的项目上传到服务器上, 需要做点准备工作
1. 上传文件到服务器需要通过 rz 命令上传
但是ubuntu 没有内置上传命令(rz), 我们需要通过指令下面指定安装apt-get install lrzsz安装完之后, 我们可以把本地文件上传到服务器上, 也可以将服务器的文件下载到本地
经过以上的步骤, 我们服务器的项目环境就部署好了,
下面就可以把我们本地的项目上传到服务器上了,
上线之间需要进行小小的修改
修改程序的配置文件
Spring Boot 默认使用
application.yml或application.properties来加载全局配置。如果要为不同的环境创建配置文件,可以命名为以下格式:
application.ymlapplication-dev.yml(开发环境)application-prod.yml(生产环境)下面是原本的application.yml内容, 接下来复制两份分别到
application-dev.yml和application-prod.yml文件中
spring: application: name: books # ??????? datasource: url: jdbc:mysql://127.0.0.1:3306/java_blog_spring?characterEncoding=utf8&useSSL=false username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver # ?? mybatis xml ??????? resources/mapper ?????? xml ?? mybatis: mapper-locations: classpath:mapper/**Mapper.xml configuration: map-underscore-to-camel-case: true #???????? log-impl: org.apache.ibatis.logging.stdout.StdOutImpl logging: file: name: spring-book.log
这两个文件设置好了, 就可以通过application.yml指定要激活的环境配置文件
在POM.XML文件自定义变量: dev 和 prod, 这样打包时就可以自主选择打包环境了
<profiles> <profile> <id>dev</id> <properties> <profile.name>dev</profile.name> </properties> </profile> <profile> <id>prod</id> <properties> <profile.name>prod</profile.name> </properties> </profile> </profiles>下面的放在标签里面
<!--确保配置文件被加载--> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/**</include> </includes> </resource> </resources>application.yml文件代码如下:
spring: profiles: active: @profile.name@ #pom定义的变量
使用Maven打包
使用Maven把项目打包成jar包的形式
点击package即可打包
它会依次执行clean->validate->compile->test->package
如果打包的过程中出错了, 大概率是test执行没通过, 像下面这样
解决办法
打包成功是这种情况
找到你打好的jar包, 然后上传到服务器上
ls查看是否上传成功
启动程序
通过指令启动我们的程序
启动程序分为前台启动和后台启动:
前台启动程序: 关闭连接就不能继续访问了
java -jar jar包名
nohup(后台持久化运行)
nohup: 用于在关闭终端时, 保持程序继续运行,
通过kill指令可以结束运行的进程
nohup java -jar 包名 &
开放端口号
开放端口号需要在你的服务器厂商那里开启, 下面以阿里云为例: 演示如何开放端口号
阿里云
观察日志(重要)
项目已经能够在线上运行了, 如果出现问题了,
学会观察日志也非常重要, 一般都是观察error日志和查看最后的日志
持续跟踪日志:
tail -f 日志文件名持续跟踪错误日志
tail -f 日志文件名 | grep "ERROR"
日志重定向
指令:
nohup java -jar 执行文件 >重定向目录 &Linux通过 > 进行重定向
日志重定向需要先关闭进程, 然后在启动的时候才能设置日志存储位置
杀死进程指令:
kill 进程号或进程名如果不知道具体的进程名, 可以先模糊查询一下, 在通过进程号杀死进程
先查看正在运行的进程:
ps -ef|grep 进程名找到进程的pid, 然后kill 进程号
常见问题
一个程序的正常运行,需要程序的正确和环境的正确.同样的代码在Windows上可以运行成功,不一定在Linux上运行成功,不同的系统对代码的理解和支持是不同的.
比如Windows系统对MySQL不区分大小写,Linux区分大小写服务不能正常访问的原因有很多,主要分以下几方面:
- 服务未启动
使用 ps -ef|grep java查看程序是否在运行
curl http://127.0.0.1:8080/你的网页名.html看下是否有返回html页面,
如果有返回,说明程序启动成功了,考虑端口未开放
如果未启动成功,需要查看对应的日志,根据原因来分析.- 数据库不存在
- 表不存在(区分大小写)
- 数据库密码不正确
- Jdk 安装版本不对,或者未安装
- mysql未设置密码
- http端口未开放: 检查云服务器防火墙/安全组是否开放相应端口(如8080)
Java开发的就业市场正在经历结构性调整,竞争日益激烈
传统纯业务开发岗位(如仅完成增删改查业务的后端工程师)的需求,特别是入门级岗位,正显著萎缩。随着企业技术需求升级,市场对Java人才的要求已从通用技能转向了更深入的领域经验(如云原生、微服务)或前沿的AI集成能力。这也导致岗位竞争加剧,在一、二线城市,求职者不仅面临技术内卷,还需应对学历与项目经验的高门槛。
大模型为核心的AI领域正展现出前所未有的就业热度与人才红利
2025年,AI相关新发岗位数量同比激增543%,单月增幅最高超过11倍,大模型算法工程师位居热门岗位前列。行业顶尖人才的供需严重失衡,议价能力极强,跳槽薪资涨幅可达30%-50%。值得注意的是,市场并非单纯青睐算法研究员,而是急需能将大模型能力落地于复杂业务系统的工程人才。这使得具备企业级架构思维和复杂系统整合经验的Java工程师,在向“Java+大模型”复合人才转型时拥有独特优势,成为企业竞相争夺的对象,其薪资天花板也远高于传统Java岗位。
说真的,这两年看着身边一个个搞Java、C++、前端、数据、架构的开始卷大模型,挺唏嘘的。大家最开始都是写接口、搞Spring Boot、连数据库、配Redis,稳稳当当过日子。
结果GPT、DeepSeek火了之后,整条线上的人都开始有点慌了,大家都在想:“我是不是要学大模型,不然这饭碗还能保多久?”
先给出最直接的答案:一定要把现有的技术和大模型结合起来,而不是抛弃你们现有技术!掌握AI能力的Java工程师比纯Java岗要吃香的多。
即使现在裁员、降薪、团队解散的比比皆是……但后续的趋势一定是AI应用落地!大模型方向才是实现职业升级、提升薪资待遇的绝佳机遇!
如何学习AGI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享**
一、2025最新大模型学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:AI大模型时代的华丽登场
L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。
L2级别:AI大模型RAG应用开发工程
L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。
L3级别:大模型Agent应用架构进阶实践
L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。
L4级别:大模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。
整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
三、大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
四、大模型项目实战
学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
五、大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享