简明指南:SpringBoot+Nginx项目部署(Windows)
2022-11-27 12:08:38
在本地环境构建和部署SpringBoot应用的完整指南
构建和部署SpringBoot应用可以让人望而生畏,尤其是对于新手来说。本指南旨在通过提供逐步说明和代码示例,帮助你轻松驾驭整个过程。让我们从头开始吧!
1. 准备工作
1.1 安装JDK
Java开发工具包(JDK)是运行Java程序所必需的。从Oracle官网下载与你系统版本相匹配的JDK。安装过程只需双击安装程序并按照提示进行操作。
1.2 安装SpringBoot
SpringBoot是一个简化Java开发的框架。从SpringBoot官网下载适用于你系统版本的SpringBoot,并将其解压到任意目录中。
1.3 安装Nginx
Nginx是一个轻量级、高性能的Web服务器。从Nginx官网下载适用于你系统版本的Nginx,并按照提示完成安装。
2. 配置环境变量
2.1 配置JAVA_HOME
在系统变量中添加JAVA_HOME变量,指向JDK安装目录的路径。
2.2 配置Path
在Path变量中添加%JAVA_HOME%\bin,以使系统识别Java命令。
3. 启动SpringBoot项目
3.1 编译项目
使用mvn package命令编译SpringBoot项目。
3.2 运行项目
使用java -jar target/springboot.jar命令运行SpringBoot项目。
4. 配置Nginx
4.1 创建配置文件
在Nginx的conf目录中创建一个新的配置文件,例如myproject.conf。
4.2 配置Nginx
在myproject.conf文件中添加如下内容:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
其中,127.0.0.1:8080是SpringBoot项目的运行地址和端口。
4.3 启动Nginx
使用nginx -c conf/myproject.conf命令启动Nginx。
5. 访问项目
在浏览器中输入http://localhost/即可访问SpringBoot项目。
6. 局域网访问
要使SpringBoot项目可以在局域网中访问,需要在启动时指定IP地址。
6.1 配置SpringBoot项目
在SpringBoot项目的主类中添加以下代码:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return container -> container.setPort(8080);
}
}
6.2 配置Nginx
在myproject.conf文件中将proxy_pass的地址修改为SpringBoot项目的IP地址和端口,例如:
location / {
proxy_pass http://192.168.1.100:8080;
}
其中,192.168.1.100是SpringBoot项目的IP地址,8080是SpringBoot项目的端口。
7. 安装MySQL
7.1 下载MySQL
从MySQL官网下载适用于你系统版本的MySQL。
7.2 安装MySQL
双击安装程序并按照提示完成安装。
7.3 配置MySQL
在MySQL的bin目录中创建一个名为my.ini的配置文件,并添加如下内容:
[mysqld]
datadir="C:/ProgramData/MySQL/MySQL Server 8.0/Data"
其中,C:/ProgramData/MySQL/MySQL Server 8.0/Data是MySQL的数据目录。
7.4 启动MySQL
使用mysqld --console命令启动MySQL。
7.5 创建数据库
使用命令CREATE DATABASE my_database;创建数据库my_database。
7.6 创建用户
使用命令CREATE USER 'username'@'%' IDENTIFIED BY 'password';创建用户username,密码为password。
7.7 授予权限
使用命令GRANT ALL PRIVILEGES ON my_database.* TO 'username'@'%';授予用户username对my_database数据库的所有权限。
8. 连接MySQL
8.1 导入JDBC驱动
将MySQL的JDBC驱动jar包导入SpringBoot项目的依赖中。
8.2 配置数据源
在SpringBoot项目的application.properties文件中添加如下内容:
spring.datasource.url=jdbc:mysql://localhost:3306/my_database
spring.datasource.username=username
spring.datasource.password=password
其中,jdbc:mysql://localhost/my_database是MySQL的连接URL,username是MySQL的用户名,password是MySQL的密码。
9. 测试连接
在SpringBoot项目中编写代码测试与MySQL的连接是否成功。
常见问题解答
1. 启动SpringBoot项目时出现ClassNotFoundException
确保已正确配置JAVA_HOME环境变量并已将SpringBoot项目添加到classpath中。
2. 访问项目时显示404错误
检查Nginx的配置文件是否正确,并确保SpringBoot项目正在运行。
3. 局域网中无法访问项目
确保防火墙未阻止对SpringBoot项目的访问,并检查局域网中的IP地址是否正确。
4. 连接MySQL时出现SQLException
检查JDBC驱动程序的版本是否正确,并确保已正确配置数据源。
5. 如何配置SpringBoot项目以使用HTTPS?
使用Spring Boot Actuator模块添加SSL支持,并配置密钥库和证书。