树莓派上部署jeecg-boot快速开发平台
系统安装Ubuntu Server(可百度)
更换软件源
打开位置
cd /etc/apt/
编辑sources.list
sudo nano sources.list
使用清华的软件源镜像
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
更新源
sudo apt-get update
ubuntu server自动登录
首先指定自动登录用户
sudo vim /etc/systemd/system/getty.target.wants/getty@tty1.service/sbin/agetty后添加-a userExecStart=-/sbin/agetty -a root -o '-p -- \\u' --noclear %I $TERM
设置免密码登录
sudo vim /etc/passwd将 root:x:0:0:root:/root:/bin/bash 中的x去掉,即:root::0:0:root:/root:/bin/bash,如果要指定别的用户可以找到相对应的行,用户名位于第一行。
root 允许ssh远程登录
sudo vim /etc/ssh/sshd_config找到PermitRootLogin without-password 修改为PermitRootLogin yesservice ssh restart
安装mysql数据库
新建my.cnf文件
sudo nano /usr/mysql/my.cnf
运行mysql容器(将容器内的my.cnf映射到新建的文件)
sudo docker run -itd --name mysql -p 3306:3306 --restart=always --privileged=true -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=root -v /usr/mysql/my.cnf:/etc/mysql/my.cnf biarms/mysql:5.7.30-linux-arm64v8
修改my.cnf(开启federated,可以创建链接表)
[mysqld]federatedserver_id=1binlog-ignore-db=mysqllog-bin=replicas-mysql-binbinlog_cache_size=1Mbinlog_format=mixedexpire_logs_days=7max_allowed_packet=125Mmax_connections=200max_connect_errors=10000datadir =/opt/mysql/datasocket =/opt/mysql/data/mysql.sockcollation-server = utf8_unicode_ciinit-connect='SET NAMES utf8'character-set-server = utf8log_error=error.log[client]# default-character-set = utf8socket =/opt/mysql/data/mysql.sock
创建链接表
创建表链接到mysql://root:root@127.0.0.1:3306/jeecg-boot/partcapacity
CREATE TABLE partcapacity
(id
VARCHAR(36) NOT NULL COMMENT '主键' COLLATE 'utf8mb4_general_ci',create_by
VARCHAR(50) NULL DEFAULT NULL COMMENT '创建人' COLLATE 'utf8mb4_general_ci',create_time
DATETIME NULL DEFAULT NULL COMMENT '创建日期',update_by
VARCHAR(50) NULL DEFAULT NULL COMMENT '更新人' COLLATE 'utf8mb4_general_ci',update_time
DATETIME NULL DEFAULT NULL COMMENT '更新日期',sys_org_code
VARCHAR(64) NULL DEFAULT NULL COMMENT '所属部门' COLLATE 'utf8mb4_general_ci',partno
VARCHAR(32) NULL DEFAULT NULL COMMENT '料号' COLLATE 'utf8mb4_general_ci',capacity
DOUBLE(10,0) NULL DEFAULT NULL COMMENT '产能/天',notes
VARCHAR(255) NULL DEFAULT NULL COMMENT '备注' COLLATE 'utf8mb4_general_ci',leadtime
DOUBLE(10,0) NULL DEFAULT NULL COMMENT '采购周期/天',PRIMARY KEY (id
) USING BTREE)CHARSET=utf8 COMMENT='产能'ENGINE =FEDERATED CONNECTION='mysql://root:root@127.0.0.1:3306/jeecg-boot/partcapacity';
安装redis(最好加上密码)
---------------
sudo docker run -d --name jeecgredis -p 6379:6379 --restart=always redis --requirepass "redis"
制作jeecgboot镜像
-------------
### 下载jdk文件
jdk-8u241-linux-arm64-vfp-hflt.tar.gzhttps://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html#license-lightbox
### 制作java dockerfile(跟jdk文件放在同一目录)
FROM buildpack-depsMAINTAINER sean# Default to UTF-8 file.encodingENV LANG C.UTF-8ENV JAVA_HOME /usr/local/jdk8ENV PATH $JAVA_HOME/bin:$PATHENV JDK_FILE jdk-8u241-linux-arm64-vfp-hflt.tar.gzCOPY $JDK_FILE /usr/local/RUN mkdir -p "$JAVA_HOME"; \ tar --extract --file /usr/local/$JDK_FILE --directory "$JAVA_HOME" --strip-components 1 --no-same-owner; \ rm /usr/local/$JDK_FILE
### 制作java镜像
sudo docker build -t arm64jdk:8 .
### 制作jeecgboot dockerfile(跟后端程序的jar包放在同一目录)
FROM arm64jdk:8MAINTAINER SeanRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeRUN mkdir -p /jeecg-bootWORKDIR /jeecg-bootEXPOSE 8080ADD jeecg-boot-module-system-2.4.3.jar ./CMD sleep 60;java -Djava.security.egd=file:/dev/./urandom -jar jeecg-boot-module-system-2.4.3.jar
### 制作jeecgboot后端镜像
sudo docker build -t jeecg-boot:v1.0 .
### 运行jeecgboot后端程序
sudo docker run -p 8080:8080 --name jeecg-boot --restart=always jeecg-boot:v1.0
制作jeecg前端程序nginx镜像
------------------
### 制作dockerfile(跟前端程序dist目录放在一起)
FROM arm64v8/nginxMAINTAINER jeecgVOLUME /tmpENV LANG en_US.UTF-8RUN echo " server { \ listen 80; \ location ^~ /jeecg-boot { \ proxy_pass http://127.0.0.1:8080/jeecg-boot/; \ proxy_set_header Host 127.0.0.1; \ proxy_set_header X-Real-IP $remote_addr; \ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; \ } \ #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \ location / { \ root /var/www/html/; \ index index.html index.htm; \ if (!-e $request_filename) { \ rewrite ^(.*)$ /index.html?s=$1 last; \ break; \ } \ } \ access_log /var/log/nginx/access.log ; \ } " > /etc/nginx/conf.d/default.conf \ && mkdir -p /var/www \ && mkdir -p /var/www/htmlADD dist/ /var/www/html/EXPOSE 80EXPOSE 443
### 制作nginx镜像
sudo docker build -t jeecg-nginx:v1.0 .
### 运行nginx前端程序
sudo docker run -p 80:80 --name jeecg-nginx --restart=always jeecg-nginx:v1.0
开启nginx压缩
---------
### nginx.conf
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 config gzip on; gzip_min_length 1k; gzip_comp_level 9; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary on; gzip_disable "MSIE [1-6]."; include /etc/nginx/conf.d/*.conf;}
### 复制nginx.conf到容器(可减少加载页面时间)
sudo docker cp /usr/jeecg/jeecgnginx/nginx.conf 4497a5de8344:/etc/nginx/
4497a5de8344为容器id
登录在线开发平台
--------
![图片](https://mmbiz.qpic.cn/mmbiz_jpg/vPlP6sZIuXzGNd2OgxhLn8hHUXC5ZNmMCJN1VOvvlsTCwQS604jgyALVT2eOvo33jdLGxe1g8WofR8t0pobZicw/640?wx_fmt=jpeg)