windows项目部署教程
安装内容
- jdk21
- mysql
- redis
- rabbitmq
- nginx
- 项目
jdk21 安装
下载地址
https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html
点击程序进行安装(下一步)
验证
mysql 安装
下载地址
https://dev.mysql.com/downloads/windows/installer/
点击程序进行安装(下一步)
这里设置 root 密码,请记好
验证
安装可视化工具或者使用其他方式,创建并初始化数据
导入数据库
redis
下载地址
https://github.com/tporadowski/redis/releases/
在当前地址栏输入cmd命令后,使用如下命令可以启动Redis服务;
# 安装为服务
redis-server --service-install redis.windows.conf
# 启动服务
redis-server --service-start
安装rabbitmq
安装 Erlang 选择红色框的 25 版本
安装 rabbitmq server
https://github.com/rabbitmq/rabbitmq-server/releases
安装完成后,进入RabbitMQ安装目录下的s b i n
目录;
rabbitmq-plugins enable rabbitmq_management
进入管理平台
http://127.0.0.1:15672/
新建一个账号,并使用该账号删除原来的默认账号
延时插件安装
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
将下载文件拷贝到 plugins 目录
执行命令启用插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
重启服务
验证插件是否安装成功
安装nginx
https://nginx.org/en/download.html
解压点击启动
验证
部署项目
将下载的源码解压到服务器
前端目录地址
后台项目
安装maven
设置maven setting.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 本地仓库路径(默认在用户目录下) -->
<!-- <localRepository>D:/maven/repo</localRepository> -->
<mirrors>
<!-- Gitee 镜像(注意需要有完整的 maven-repo 格式才有效) -->
<mirror>
<id>gitee</id>
<mirrorOf>gitee</mirrorOf>
<name>gitee公共仓库</name>
<url>https://gitee.com/tigshop-work/java-tigshop/raw/master</url>
</mirror>
<!-- 阿里云中央仓库镜像(通用) -->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
配置环境变量
修改后端项目配置文件,并打包项目
api 项目也需要处理一遍
使用 mvn 进行打包
mvn clean package -DskipTests
执行完成打包结果如下
启动两个 jar 包
java -jar tigshop-adminapi-0.0.1-SNAPSHOT.jar
java -jar tigshop-api-0.0.1-SNAPSHOT.jar
修改 nginx 配置并重启
nginx.conf 文件
# nginx.conf for Windows
worker_processes 1;
#error_log logs/error.log;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types; # mime.types 文件应该放在 conf 目录下
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# 你可以根据需要 include 其他配置
include conf.d/*.conf;
}
tigshop.conf
server {
listen 443 ssl;
server_name tigshop.com;
ssl_certificate C:/Users/q/Desktop/java-b2b2c-pro/ssl/tigshop/tigshop.com.pem;
ssl_certificate_key C:/Users/q/Desktop/java-b2b2c-pro/ssl/tigshop/tigshop.com.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
client_max_body_size 5m;
root C:/Users/q/Desktop/java-b2b2c-pro/public;
# 前端PC端配置
location /
{
try_files $uri /pc/$uri /pc/index.html;
}
# 前端管理后台配置
location /admin{
try_files $uri $uri/ /admin/index.html;
}
# 前端Mobile配置
location /mobile{
try_files $uri $uri/ /mobile/index.html;
}
# 静态文件访问配置
location /static{
proxy_pass http://127.0.0.1:8181;
}
# 前端接口配置
location /api{
proxy_pass http://127.0.0.1:8181;
}
# 后端接口配置
location /adminapi{
proxy_pass http://127.0.0.1:8080;
}
# im消息配置
location /im{
if ($http_x_client_type = "admin") {
proxy_pass http://127.0.0.1:8080;
}
proxy_pass http://127.0.0.1:8181;
}
location ^~ /ws {
# 后台准备的websocket地址端口,非开发者可以不更换,注意开通99端口
proxy_pass http://127.0.0.1:8181;
# 其他参数
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# 图片访问
location /img/ {
alias /app/java-b2b2c-overseas/opt/uploads/img/;
access_log off;
expires 30d;
}
# 视频访问
location /video/ {
alias /app/java-b2b2c-overseas/opt/uploads/video/;
access_log off;
expires 30d;
}
}
server {
listen 80;
server_name tigshop.com; # 或者使用 IP 地址
return 301 https://$host$request_uri;
}
配置后执行
nginx -s reload
验证
pc
admin
mobile