zoukankan      html  css  js  c++  java
  • 树莓派上部署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)
  • 相关阅读:
    041 Spring Boot中排除功能的处理
    015 图像验证码
    040 Http与RPC
    039 在weblogic下部署jndi的多数据源
    038 lock wait timeout exceeded;try restarting transaction
    037 关于微服务的认识
    036 互联网的框架演变
    035 控制并发 select * from test1 where id =1 for update 就会对这行加锁了?
    034 Maven中的dependencyManagement和dependencies区别
    014 Security的认证流程源码级详解
  • 原文地址:https://www.cnblogs.com/seanhu/p/15141790.html
Copyright © 2011-2022 走看看