赞
踩
前言: 本文主要是教不想看官方文档或者纯小白如何搭建和部署JeecgBoot单体项目。内容为本地环境搭建,以及如何使用docker、nginx进行部署上线。
本文受众:
官网:https://www.nodejs.com.cn/
下载Nodejs16以上版本(建议LTS):
下载完后,双击打开.exe,一路next即可,中途无需进行勾选操作。
问题: 如何确认安装完毕?(如下图,已经安装成功)
打开cmd窗口,输入指令:
node -v
npm -v
# 全局安装pnpm
npm install pnpm -g
# 验证(出现对应版本号即代表安装成功)
pnpm -v
# 拉取代码
git clone https://gitee.com/jeecg/jeecgboot-vue3.git
拉取代码后,进入jeecgboot-vue3目录,执行以下指令,即可成功启动前端项目。
#进入jeecgboot-vue3目录
cd jeecgboot-vue3
# 安装依赖
pnpm install
# 运行项目
pnpm dev
你可能会遇到的问题: 无法加载文件C:\Users\AppData\Roaming\npm\pnpm
以超级管理员打开powershell
set-ExecutionPolicy RemoteSigned
#输入如上指令后,提示选择,输入y 回车则可。
以下前提条件需要提前准备好,自行百度。
下载JDK8 或者 13
本地安装mysql5.7及以上版本
本地安装redis
git clone https://gitee.com/jeecg/jeecg-boot.git
本地配置host
# jeecgboot
127.0.0.1 jeecg-boot-mysql
127.0.0.1 jeecg-boot-redis
127.0.0.1 jeecg-boot-system
文件入口:
修改对应的yml文件,修改mysql、redis、账密及其他信息(**备注:**如果是微服务等需要修改更多的信息,mysql和redis必须修改,其余看实际情况)
按顺序导入数据库脚本,到本地数据库。
启动成功如下图:
浏览器访问:http://localhost:8080/jeecg-boot/
# 进入jeecgboot-vue3目录
pnpm install
pnpm run build
打包成功后,会生成dist文件夹,如下图所示:
sudo docker run -d --net="host" --name nginx-web -v /root/nginx/html:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx nginx
担心没有挂载成功的小伙伴可以输入,如下图所示:
docker inspect 容器名
(本次操作将dist内的文件资源放入服务器/root/nginx/html文件夹内)
我的配置文件如下图:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
server {
#默认端口号
listen 8082;
#配置访问ip地址
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#配置访问的页面或者项目名
location / {
root /usr/share/nginx/html;
index index.html index.htm;
#index.html引入的静态资源的路径不正确,刷新页面产生404问题
try_files $uri $uri/ /index.html;
}
location /jeecgboot {
proxy_pass http://42.194.200.42:8080/jeecg-boot;
}
}
}
重启一下nginx容器
docker restart nginx-web
浏览器访问(如下图所示,前端部署成功):你的IP:8082
docker run -id \
-p 3306:3306 \
--name=new_mysql \
-v $PWD/mysql5.7/conf:/etc/mysql/conf.d \
-v $PWD/mysql5.7/logs:/logs \
-v $PWD/mysql5.7/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=xxxxxx \
mysql:5.7
你可能会遇到的问题一,linux下高版本的mysql的表名会区分大小写,所以进入mysql容器,修改容器内my.cnf。
进入mysql容器内/etc/mysql 找到my.cnf,在配置文件内[mysqld]下添加
lower_case_table_names=1
问题二:进入容器后无法修改配置文件,无法使用vim
解决1:
apt-get update
apt-get install vim
解决2:
yum -y install vim
docker run -id --name=new_redis \
-p 6379:6379 \
-v $PWD/redis/redis.conf:/etc/redis/redis.conf \
-v $PWD/redis/data:/data \
--requirepass yourpassword \
redis:latest
#备注 --requirepass失效时先创建容器后设置密码,操作步骤如下
为现有的redis创建密码或修改密码的方法:
1.进入redis的容器 docker exec -it 容器ID bash
2.进入redis目录 cd /usr/local/bin
3.运行命令:redis-cli
4.查看现有的redis密码:config get requirepass
5.设置redis密码config set requirepass ****(****为你要设置的密码)
6.若出现(error) NOAUTH Authentication required.错误,则使用 auth 密码 来认证密码
选择要生效的配置文件Profiles,点击install
jar生成在target目录:jeecg-boot\jeecg-module-system\jeecg-system-start\target
cd ~
mkdir java-docker
cd java-docker
#将jeecg-system-start-3.6.1.jar上传到自定义目录java-docker
#将配置好的Dockerfile文件上传至统一目录内
Dockerfile文件内容如下:
# 基础镜像使用java
FROM openjdk:13
# 作者
MAINTAINER torlesse
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为jeecgboot_docker.jar
ADD jeecg-system-start-3.6.1.jar jeecgboot_docker.jar
# 运行jar包
RUN bash -c 'touch /jeecgboot_docker.jar'
ENTRYPOINT ["java","-jar","/jeecgboot_docker.jar"]
#暴露8080端口作为服务
EXPOSE 8080
启动后端项目
docker build -t jeecgboot_docker:1.0 .
docker run -d -p 8080:8080 --name jeecgboot_docker jeecgboot_docker:1.0
确认后端项目是否启动成功,浏览器访问:你的IP:8080/jeecg-boot 输入账号:jeecg 密码:jeecg1314
到这里就已经大功告成了,前后端可以进行交互了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。