Linux项目部署指南
概述
在Linux服务器上部署应用通常有宝塔和手动部署这两种方式,如果是宝塔部署,直接参考宝塔官方网站即可。这里主要介绍手动部署,如果项目是集成了Docker,那就使用Docker的方式部署项目,不然推荐Nginx部署项目。(本人在小公司,目前用的就这两个方式的多一点)
Docker项目
在Linux服务器上使用Docker部署Spring Boot项目,可以按照以下步骤进行。这些步骤涵盖了从准备环境到实际部署的全过程。
前提条件
- Linux服务器:具有SSH访问权限。
- Docker:已在服务器上安装Docker。
- Spring Boot项目:已编译成可执行的JAR文件,或者项目源代码已准备好。
步骤
1. 安装Docker
如果Docker尚未安装,可以按照以下步骤进行安装(以Ubuntu为例):
# 更新包索引
sudo apt-get update
# 安装必要的包
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
# 添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 设置Docker的稳定版仓库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
# 更新包索引并安装Docker CE
sudo apt-get update
sudo apt-get install docker-ce
# 启动Docker
sudo systemctl start docker
# 使Docker在启动时自动运行
sudo systemctl enable docker
2. 编写Dockerfile
在你的Spring Boot项目根目录下创建一个名为Dockerfile
的文件,内容如下:
# 使用官方的OpenJDK运行时作为基础镜像
FROM openjdk:11-jre-slim
# 维护者信息
LABEL maintainer="your-email@example.com"
# 将项目的JAR文件复制到镜像中
# 假设你的JAR文件名为app.jar,且位于项目根目录
COPY target/app.jar /app.jar
# 暴露应用运行的端口(例如8080)
EXPOSE 8080
# 运行JAR文件
ENTRYPOINT ["java", "-jar", "/app.jar"]
注意:
- 替换
app.jar
为你的实际JAR文件名。 - 确保你的JAR文件已经编译并存在于
target
目录中,或者在COPY命令中指定正确的路径。
3. 构建Docker镜像
在包含Dockerfile
的目录下,运行以下命令构建Docker镜像:
# 登录Docker(如果需要推送镜像到Docker Hub或其他私有仓库)
# docker login
# 构建镜像,命名为your-springboot-app(可以根据需要更改)
docker build -t your-springboot-app .
4. 运行Docker容器
使用刚刚构建的镜像运行Docker容器:
# 运行容器,并将8080端口映射到主机的8080端口
docker run -d -p 8080:8080 --name springboot-container your-springboot-app
5. 验证部署
在浏览器中访问你的Linux服务器的IP地址和端口(例如http://your-server-ip:8080
),应该能够看到你的Spring Boot应用正在运行。
6. 管理和维护
-
查看运行的容器:
docker ps
-
查看日志:
docker logs springboot-container
-
停止容器:
docker stop springboot-container
-
删除容器:
docker rm springboot-container
-
删除镜像:
docker rmi your-springboot-app
额外建议
- 使用Docker Compose:如果你的应用包含多个服务(如数据库、前端等),可以使用Docker Compose来管理这些服务。
- 持续集成/持续部署(CI/CD):可以使用Jenkins、GitLab CI等工具来自动化构建和部署过程。
- 安全性:确保你的应用使用HTTPS,配置防火墙规则,以及定期更新和打补丁。
按照这些步骤,你应该能够在Linux服务器上成功使用Docker部署Spring Boot项目。
Nginx项目
在Linux服务器上使用Nginx部署Spring Boot项目,可以按照以下步骤进行。这些步骤涵盖了从准备环境到实际部署的全过程。
前提条件
-
部署资源:Linux服务器部署安装工具集合
-
Spring Boot项目:已编译成可执行的JAR文件,或者项目源代码已准备好。