- 准备工作
在进行 Spring Boot 项目部署之前,首先需要做好以下准备工作:
- 一台云服务器(常用的有阿里云、腾讯云、华为云等)。
- 安装 JDK 环境,一般推荐使用 OpenJDK 或 Oracle JDK。
- 安装 Maven,用于构建打包项目。
-
安装 Nginx,用作反向代理服务器。
-
上传项目代码
可以通过 FTP 或控制台上传本地的 Spring Boot 项目代码到云服务器中。在上传项目代码之前,先确保服务器上已经安装了 Git 和相应的代码管理工具。
示例1:使用 Git 命令将本地项目代码上传到云服务器
# 克隆代码到本地
git clone https://github.com/xxx/xxx.git
# 进入项目目录
cd xxx
# 修改配置文件(如果需要)
vim application.properties
# 打包项目
mvn clean package -Dmaven.skip.test=true
# 上传项目到服务器
scp target/xxx.jar username@server_ip:/path/to/target/
示例2:使用 FTP 工具将本地项目代码上传到云服务器
首先,需要在云服务器上安装和配置 FTP 服务器。然后,使用 FTP 工具(例如 FileZilla)上传本地项目代码到云服务器上。
- 安装 Java 运行环境
在云服务器上安装 JDK 环境,一般推荐使用 OpenJDK 或 Oracle JDK。
示例1:使用 YUM 安装 OpenJDK
# 安装 OpenJDK
yum install java-1.8.0-openjdk -y
# 查看 Java 版本
java -version
示例2:下载安装 Oracle JDK
从 Oracle 官网下载所需版本的 JDK 安装包,然后通过命令行方式安装。
# 解压安装包
tar -zxvf jdk-8u211-linux-x64.tar.gz
# 设置 JAVA_HOME 环境变量
export JAVA_HOME=/path/to/jdk/jdk1.8.0_211
# 更新 PATH 环境变量
export PATH=$JAVA_HOME/bin:$PATH
# 查看 Java 版本
java -version
- 安装 Nginx
在云服务器上安装 Nginx,用作反向代理服务器。
示例1:使用 YUM 安装 Nginx
# 安装 Nginx
yum install nginx -y
# 启动 Nginx
systemctl start nginx
# 查看 Nginx 状态
systemctl status nginx
示例2:编译安装 Nginx
# 下载 Nginx 源码
wget http://nginx.org/download/nginx-1.14.0.tar.gz
# 解压源码
tar -zxvf nginx-1.14.0.tar.gz
# 编译安装 Nginx
cd nginx-1.14.0
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
# 启动 Nginx
/usr/local/nginx/sbin/nginx
# 查看 Nginx 状态
/usr/local/nginx/sbin/nginx -s status
- 配置 Nginx
在 Nginx 中配置反向代理,将客户端的请求转发到 Spring Boot 项目。
示例1:配置 Nginx 反向代理
# 创建 Nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf
# 添加以下配置
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 重启 Nginx
/usr/local/nginx/sbin/nginx -s reload
示例2:配置 HTTPS 反向代理
# 生成 SSL 证书
openssl req -newkey rsa:2048 -nodes -keyout example.key -x509 -days 365 -out example.crt
# 创建 Nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf
# 添加以下配置
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/example.crt;
ssl_certificate_key /path/to/example.key;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 重启 Nginx
/usr/local/nginx/sbin/nginx -s reload
- 启动 Spring Boot 项目
在云服务器上启动 Spring Boot 项目,并在 Nginx 的反向代理下测试访问。
示例1:使用 jar 包启动 Spring Boot 项目
# 进入项目目录
cd /path/to/target
# 启动项目
nohup java -jar xxx.jar &
# 查看日志输出
tail -f nohup.out
示例2:使用 systemctl 启动 Spring Boot 项目
# 创建项目启动脚本
vim /etc/systemd/system/xxx.service
# 添加以下配置
[Unit]
Description=xxx
After=syslog.target
[Service]
User=root
ExecStart=/usr/bin/java -jar /path/to/target/xxx.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
# 重新加载配置
systemctl daemon-reload
# 启动服务
systemctl start xxx
# 查看状态
systemctl status xxx
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring boot项目部署到云服务器小白教程详解 - Python技术站