摘要:学习Linux并掌握Java环境配置及Spring Boot项目部署是一个系统化的过程,以下是从零开始的详细指南,帮助你逐步掌握这些技能。
学习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 # 结束进程
bash
sudo chown -R user:user /path/to/app # 修改目录所有者
服务启动失败:bash
通过以上步骤,你已掌握Linux基础操作、Java环境搭建及Spring Boot项目部署的核心技能。接下来可深入学习Shell脚本、Docker容器化部署、CI/CD流水线等进阶内容!
来源:老客数据一点号