网站首页 > 技术教程 正文
学习Linux并掌握Java环境配置及Spring Boot项目部署是一个系统化的过程,以下是从零开始的详细指南,帮助你逐步掌握这些技能。
一、Linux基础入门
1. 安装Linux系统
- 选择发行版:推荐Ubuntu(适合新手)或CentOS(企业常用)。
- 安装方式:
- 虚拟机安装:使用VirtualBox或VMware安装。
- 物理机安装:制作启动U盘安装。
- 云服务器:购买阿里云、腾讯云等云服务器(推荐快速实践)。
2. 基础命令与操作
bash
# 文件管理
ls # 列出目录内容
cd /path # 切换目录
mkdir mydir # 创建目录
rm -rf mydir # 删除目录(谨慎使用)
cp file1 file2 # 复制文件
mv file1 newname # 重命名或移动文件
# 文本编辑
vim file.txt # 使用Vim编辑器(按i进入编辑,Esc退出,:wq保存)
nano file.txt # 更简单的文本编辑器
# 权限管理
chmod 755 file.sh # 修改文件权限(读/写/执行)
chown user:group file # 修改文件所有者
# 系统管理
top # 查看实时进程状态
ps -aux # 查看所有进程
sudo command # 以管理员权限执行命令
3. 软件包管理
- Ubuntu/Debian:
bash
sudo apt update # 更新软件源
sudo apt install package # 安装软件包
sudo apt remove package # 卸载软件包
- CentOS/RHEL:
bash
sudo yum install package # 安装软件包
sudo yum remove package # 卸载软件包
二、安装Java环境
1. 安装JDK
bash
# Ubuntu/Debian
sudo apt install openjdk-17-jdk # 安装OpenJDK 17
# CentOS
sudo yum install java-17-openjdk-devel
# 验证安装
java -version
javac -version
2. 配置环境变量
编辑 ~/.bashrc 或 /etc/profile:
bash
export JAVA_HOME=
/usr/lib/jvm/java-17-openjdk-amd64 # 根据实际路径修改
export PATH=$JAVA_HOME/bin:$PATH
使配置生效:
bash
source ~/.bashrc
三、安装常用软件
1. 数据库:MySQL
bash
# Ubuntu
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation # 安全配置
# CentOS
sudo yum install mysql-server
sudo systemctl start mysqld
2. 缓存:Redis
bash
sudo apt install redis-server # Ubuntu
sudo yum install redis # CentOS
sudo systemctl start redis
3. Web服务器:Nginx
bash
sudo apt install nginx # Ubuntu
sudo yum install nginx # CentOS
sudo systemctl start nginx
4. 构建工具:Maven/Gradle
bash
# Maven安装
sudo apt install maven # Ubuntu
sudo yum install maven # CentOS
# Gradle安装(手动)
wget https://services.gradle.org/distributions/gradle-7.5-bin.zip
unzip gradle-7.5-bin.zip
sudo mv gradle-7.5 /opt/
export PATH=/opt/gradle-7.5/bin:$PATH
四、Spring Boot项目部署
1. 打包项目
- 使用Maven或Gradle生成可执行JAR:
bash
mvn clean package # Maven
gradle build # Gradle
生成的JAR位于 target/ 或 build/libs/。
2. 上传文件到服务器
使用 scp 或SFTP工具(如FileZilla)上传文件:
bash
scp target/myapp.jar user@server_ip:/home/user/
3. 启动Spring Boot应用
bash
# 直接运行(测试环境)
java -jar myapp.jar
# 后台运行(生产环境)
nohup java -jar myapp.jar > app.log 2>&1 &
4. 配置Systemd守护进程(推荐)
创建服务文件
/etc/systemd/system/myapp.service:
ini
[Unit]
Description=My Spring Boot App
After=syslog.target
[Service]
User=appuser
ExecStart=/usr/bin/java -jar /home/user/myapp.jar
Restart=always
[Install]
WantedBy=multi-user.target
启动服务:
bash
复制
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp # 开机自启
5. 配置Nginx反向代理
编辑
/etc/nginx/sites-available/myapp:
nginx
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8080; # Spring Boot默认端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
启用配置并重启Nginx:
bash
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo systemctl restart nginx
五、进阶配置与维护
1. 日志管理
- 查看Spring Boot日志:
bash
journalctl -u myapp -f # 使用Systemd托管时
- 自定义日志路径:在 application.properties 中配置:
properties
logging.file.path=/var/log/myapp
2. 监控与优化
- JVM参数调优:
bash
java -jar -Xms512m -Xmx1024m myapp.jar
- 使用Prometheus + Grafana 监控应用指标。
3. 安全加固
- 配置防火墙:
bash
sudo ufw allow 80/tcp # Ubuntu
sudo firewall-cmd --permanent --add-port=80/tcp # CentOS
- 使用SSH密钥登录,禁用密码登录。
六、常见问题排查
- 端口冲突:
bash
netstat -tuln | grep 8080 # 查看端口占用
kill -9 <PID> # 结束进程
- 权限问题:
bash
sudo chown -R user:user /path/to/app # 修改目录所有者
- 服务启动失败:
bash
journalctl -u myapp -xe # 查看详细日志
通过以上步骤,你已掌握Linux基础操作、Java环境搭建及Spring Boot项目部署的核心技能。接下来可深入学习Shell脚本、Docker容器化部署、CI/CD流水线等进阶内容!
猜你喜欢
- 2025-05-16 JAVA 8 环境安装配置
- 2025-05-16 Linux内核kernel配置1—你真懂makefile、menuconfig、xconfig吗
- 2025-05-16 Java工程师必备的Linux命令全解
- 2025-05-16 Java程序员必备的Linux命令技巧
- 2025-05-16 docker安装jdk并且部署java项目,一文看懂它部署springboot项目
- 2025-05-16 深入浅出:如何优雅地为你的Java Web应用配置Nginx反向代理
- 2025-05-16 Linux下如何配置普通用户的sudo命令权限?
- 2025-05-16 Ubuntu 下安装 JDK17
- 2025-05-16 最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?
- 2025-05-16 linux如何安装java环境
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)