windows上通过nginx部署jar包和dist文件(笔记)

 windows部署Java项目,所包含的内容有:JDK、Redis、mysql、nginx、jar、dist

1、JDK安装

1)双击安装,默认下一步,傻瓜式安装即可。

2)配置环境变量

新建: JAVA_HOME

路径选择上一步默认安装路径:C:\Program Files\Java\jdk1.8.0_211

在系统环境变量 path 新增路径

C:\Program Files\Java\jdk1.8.0_211\bin

3)查看是否成功

2、Redis

1)将reids压缩包放入D:\redis 解压

2)配置系统环境变量

path 新建

D:\redis\redis-6.2.5

在redis目录下cmd

3)输入命令查看版本

redis-server --version

4)将redis注册为windows开机自启服务

输入1

5)去任务管理器 打开redis服务 查看是否为自动启动

6)查看redis是否启动

sc query redis

返回结果中state 值为4 running

3、mysql数据库

1)离线安装myql 5.7.27版本

先将mysql-5.7.27-winx64.zip 压缩包解压至 D:\mysql 路径下

2)在目录中新建一个data文件夹,新建一个my.ini 文件。(如果自己U盘有my.ini 直接复制进去即可)

3)my.ini 的内容如下

如果路径不一致,安装真实路径修改

basedir=D:\mysql\mysql-5.7.27-winx64

datadir=D:\mysql\mysql-5.7.27-winx64\data

[mysqld]

#端口号

port = 3306

#mysql-5.7.27-winx64的路径

basedir=D:\mysql\mysql-5.7.27-winx64

#mysql-5.7.27-winx64的路径+\data

datadir=D:\mysql\mysql-5.7.27-winx64\data

#最大连接数

max_connections=200

#编码

character-set-server=utf8

default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#能够越过密码

#skip-grant-tables

#设置时区

default-time-zone='+08:00'

[mysql]

#编码

default-character-set=utf8

4)以管理身份运行cmd 进入bin目录下

执行命令

D:

cd D:\mysql\mysql-5.7.27-winx64\bin

5)输入  mysqld -install

会显示sccessfully

此步骤如果有问题,说明系统mysql没有删除干净,输入sc delete mysql后再次输入,成功后会在mysql文件夹下生成data文件夹

6)输入  mysqld --initialize

无提示信息,安装成功

7)输入net start mysql

显示服务启动成功

8)使用mysql -uroot -p

直接回车,不输入密码,看是否能进入mysql。

如果进不去mysql里面,去data目录找一个后缀为.err的文件,搜索password关键字

会找到mysql 的初始临时密码。

使用命令:mysql -uroot -p 回车

输入初始临时密码

即可登录mysql

9)修改mysql密码:

命令:SET PASSWORD = PASSWORD(‘123123’);

10)配置环境变量:

11)另外:

如果使用Navicat连接mysql,使用localhost可以连接,使用自身ip却无法连接,需要将mysql库中user表里。

user为root的那一行,Host值从localhost改为% 即可。

12) 登录mysql命令

mysql -uroot -p

123456

“123456” 为示例密码,以实际密码为准。

13)创建数据库,名称与.sql文件名称一致。

create database wechat;

使用该数据库

use wechat;

将.sql文件导入创建的数据库中

source E:\\sql\\wechat.sql;

4、Nginx

1)nginx的安装路径为:D:\nginx\nginx-1.22.1\

目录conf/nginx.conf 下有个路径需要注意,此路径涉及前后端连接地址。

前端dist.zip文件解压后,可按照文档路径放置D:\web\dist 如需修改 可根据实际修改。

2) 使用nssm工具将,nginx 注册为windows自启动服务

使用管理员身份打开cmd

cd 到nssm.exe 目录下

D:

cd D:\nssm\nssm-2.24\win64

注意选择路径win64下的nssm.exe

3)执行

nssm install

会弹出NSSM service installer 弹框

4)点击install service即可

5)去任务管理器查看nginx-service 服务

设置为自启动

6)如要关闭服务,直接通过任务管理器找到nginx-service 服务右键停止即可

7) 如要卸载服务

执行命令 nssm remove nginx-service

8)另外:

#查看端口

netstat -ano | findstr 3000

#杀死所有nginx进程

taskkill /f /t /im nginx.exe

5、java服务

使用winsw将java服务注册到windows服务中

1)进入jar包目录,将winsw的 .exe 和 .xml 以及 .jar文件放入同一级目录

D:\server

.xml的内容为:

<service>
  <!-- ID of the service. It should be unique across the Windows system-->
  <id>accesscontrol-service</id>
  <!-- Display name of the service -->
  <name>access control service</name>
  <!-- Service description -->
  <description>access control service</description>
   
  <env name="JAVA_HOME" value="%JAVA_HOME%"/>
     
  <executable>java</executable>
 
  <arguments>-jar ruoyi-admin.jar</arguments>
 
  <startmode>Automatic</startmode>

  <logpath>D:\server\access\logs</logpath>
 
  <log mode="append"></log>

</service>

2)cmd 使用管理员身份运行

执行命令

D:

cd D:\server

3)将java服务注册进windows

执行命令

accesscontro-service install

4)打开任务管理器,找到accesscontro-service 服务

5)打开服务,设置自动,点击启动

6)如要卸载服务,先关闭服务

cmd 使用管理员身份运行

执行命令

D:

cd D:\server

执行命令

accesscontro-service uninstall

6、验证部署

可以在浏览器验证 后端服务是否启动成功,由于我的后端服务端口是80

直接输入localhost即可。

打开前端页面的路径是 localhost:3000

7、Navicat数据库备份

使用Navicat进行数据库定时备份

1、安装Navicat软件

2、用管理员身份打开该软件

可点击开始测试一下,是否会生成备份。

<think>好的,我需要帮助用户了解如何部署黑马litemall项目。首先,我应该回忆一下用户提供的引用内容,特别是引用[1],里面提到了黑马商城部署的实验,涉及Docker、docker-compose、NginxMySQL等组件。用户可能希望得到类似的步骤指导。 首先,我需要整理部署的基本流程。根据引用[1],部署需要准备相关文件夹、配置文件、docker-compose.yml以及安装。可能括后端项目、前端代码、数据库初始化脚本等。需要确保环境如Dockerdocker-compose已经安装,尤其是离线安装的情况。 接下来,步骤可能括准备资料、配置环境、构建镜像、启动容器等。需要注意各个组件的配置,比如MySQL的初始化脚本,Nginx前端代理设置。可能还需要处理前后端项目的构建,比如后端可能需要打JAR前端可能需要构建静态文件。 用户的问题中提到的是“黑马litemall项目”,可能与引用中的“黑马商城”是同一个或类似项目。需要确认项目结构是否一致,比如后端是否为Java项目,使用Spring Boot,前端是否为Vue或类似框架。部署方式可能类似,使用Docker容器化部署。 另外,引用[3]提到了生成性能报告的命令,可能部署后的测试或监控有关,但用户主要问的是部署教程,这部分可能暂时不需要,但可以作为后续步骤建议。 需要注意用户可能的环境差异,比如操作系统是Linux还是Windows,是否需要离线安装docker-compose,如引用[1]中的离线安装。需要指导用户如何安装必要的依赖,配置docker-compose.yml文件,处理网络卷的挂载。 可能的步骤分解: 1. 环境准备:安装Dockerdocker-compose,尤其是离线安装的情况。 2. 项目结构准备:下载或获取项目代码,整理后端、前端、数据库等文件夹。 3. 数据库配置:MySQL的初始化脚本,创建数据库用户。 4. 后端构建:打JAR文件,编写Dockerfile。 5. 前端构建:构建静态文件,配置Nginx。 6. 编写docker-compose.yml,定义服务如后端、前端、数据库、Redis等。 7. 启动容器,检查日志,解决可能出现的问题。 需要确保每个步骤的命令正确,比如docker-compose up -d,以及如何处理常见错误,比如端口冲突、依赖服务启动顺序等。 可能的相关问题括如何优化部署流程、如何处理特定错误、如何扩展服务等,这些可以作为相关问题列出。 需要引用[1]作为参考,特别是在部署步骤准备资料部分。同时,确保使用中文,格式正确,行内公式用$,独立公式用$$,但在这个问题中可能涉及较少数学公式,更多是代码命令。 最后,检查是否符合用户的要求,结构清晰,分步骤说明,引用正确,生成相关问题。</think>### 黑马 litemall 项目部署教程 黑马 litemall 是一个基于 Spring Boot 的前后端分离商城项目,部署时需整合后端服务、前端界面及数据库。以下是基于 Docker 的部署流程: --- #### **1. 环境准备** - **系统要求**:Linux 或 Windows 支持 Docker 的环境(推荐 Linux) - **安装依赖**: - Docker:执行 `curl -fsSL https://get.docker.com | bash -s docker` 安装[^1] - Docker Compose:离线安装可参考引用[1]中的 `docker-compose-linux-x86_64.v2.29.0` 文件 ```bash # 示例:离线安装 docker-compose cp docker-compose-linux-x86_64.v2.29.0 /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ``` --- #### **2. 项目资料准备** 从官方仓库或课程资料获取以下文件(结构参考引用[1]): ``` litemall/ ├── backend/ # 后端项目(Java Jar 或源码) ├── frontend/ # 前端项目(Vue 编译后的静态文件) ├── mysql/ # 数据库初始化脚本(如 schema.sql、data.sql) └── docker-compose.yml # Docker 服务编排文件 ``` --- #### **3. 配置数据库** 在 `mysql/init` 目录下放置 SQL 脚本,用于容器启动时自动初始化数据库: ```sql -- schema.sql CREATE DATABASE IF NOT EXISTS litemall; USE litemall; -- 建表语句... ``` --- #### **4. 编写 Docker Compose 文件** 创建 `docker-compose.yml`,定义服务依赖(参考引用[1]结构): ```yaml version: '3' services: mysql: image: mysql:8.0 volumes: - ./mysql/data:/var/lib/mysql - ./mysql/init:/docker-entrypoint-initdb.d # 自动执行 SQL 脚本 environment: MYSQL_ROOT_PASSWORD: root123 backend: build: ./backend # 假设后端有 Dockerfile ports: - "8080:8080" depends_on: - mysql frontend: image: nginx:alpine volumes: - ./frontend/dist:/usr/share/nginx/html # 挂载前端静态文件 ports: - "80:80" ``` --- #### **5. 构建与启动服务** ```bash # 进入项目根目录 cd litemall # 启动所有服务(后台运行) docker-compose up -d # 查看日志 docker-compose logs backend ``` --- #### **6. 验证部署** - 访问 `http://服务器IP:80` 查看前端页面 - 后端 API 测试:`curl http://localhost:8080/api/health` --- #### **常见问题解决** - **端口冲突**:修改 `docker-compose.yml` 中的端口映射 - **数据库连接失败**:检查 MySQL 容器日志及网络配置 - **前端资源加载错误**:确保 Nginx 配置指向正确的静态文件路径 --- §§ 相关问题 §§ 1. 如何优化 Docker 镜像构建速度? 2. 如何为 litemall 项目配置 HTTPS 访问? 3. 部署时如何实现数据库备份与恢复? : 【Docker实战】黑马商城部署实验 [^2]: ruoyi-adminruoyi-vue3笔记-gl-wms物流管理项目 [^3]: 生成性能报告的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值