2023年4月

JDK1.8安装

1.下载linux版本的jdk
2.上传压缩包到/usr/local目录
3.解压jdk

tar -xvf jdk-8u351-linux-x64.tar.gz
  1. 在/etc/profile.d目录下增加环境变量脚本文件配置JDK环境变量(推荐)
    /etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件
    通过命令 vim /etc/profile.d/my_env.sh 创建并编辑脚本文件
  2. 文件内容如下:

    #JAVA_HOME
    export JAVA_HOME=/usr/local/jdk1.8.0_351
    export PATH=$PATH:$JAVA_HOME/bin
    export CALSSPATH=$CLASSPATH:$JAVA_HOME/lib
     
    #JRE_HOME
    export JRE_HOME=/usr/local/jdk1.8.0_351/jre
    export PATH=$PATH:$JRE_HOME/bin
    export CALSSPATH=$CLASSPATH:$JRE_HOME/lib

    6.重载配置文件,使得环境变量配置生效,然后执行查询JDK版本命令,查询成功说明JDK环境变量配置已生效。

    source /etc/profile

    Mysql安装

    1.下载MySQL仓库并安装

    wget -i -c https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
    yum -y install mysql80-community-release-el7-3.noarch.rpm
    yum -y install mysql-community-server
    启动前设置忽略大小写
    sudo vi /etc/my.cnf
    [mysqld]
    lower_case_table_names = 1
    
    systemctl start mysqld.service
    
    #查看mysql默认密码  cat /var/log/mysqld.log | grep password
    #登录 mysql -uroot -p
    #修改默认密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123456+';
    
    #如果提示未找到命令 执行 yum -y install wget
    #如果安装server提示GPG报错 执行再安装 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

redis安装

sudo yum install epel-release
sudo yum install redis
sudo systemctl enable redis
sudo systemctl start redis
sudo systemctl status redis

Nginx安装

sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

#现在,你应该已经成功在CentOS 7上安装并启动了Nginx。你可以使用服务器的IP地址或域名访问Nginx的默认欢迎页面,例如 #http://服务器IP地址 或 http://域名。

#如果你想自定义Nginx的配置或网站设置,请编辑/etc/nginx/nginx.conf文件和相关的虚拟主机配置文件,并在修改后重新加载#Nginx配置:
sudo systemctl reload nginx

官方文档:http://doc.jeecg.com/2043886

前端部署

1.下载安装CentOS7 https://zhuanlan.zhihu.com/p/60408219
2.VirtualBox安装完CentOS后网络改成桥接模式,然后使用FinalShell链接
3.前端.env修改成生产pro环境,.env.production的ip修改成虚拟机ip
4.编译前端

# 下载依赖
 yarn install
# 编译项目
 yarn run build

5.把前端的dist文件夹中的内容上传到Nginx的html目录中 /usr/share/nginx/html
8.关闭系统防火墙

# 查看防火墙状态 systemctl status firewalld.service    ---“active(running)”,说明防火墙是开启状态
# 停止防火墙 systemctl stop firewalld.service
# 启动防火墙 systemctl start firewalld    
# 永久关闭防火墙 systemctl disable firewalld.service

后端部署

1.安装mysql,把sql文件导入

#登录数据库 mysql -uroot -p
#创建数据库 create database psi;
#切换数据库并且设置编码  use psi; set names utf8;
#导入sql source /www/wwwroot/psi-master/db/psi-mysql-5.7-1.sql
         source /www/wwwroot/psi-master/db/psi-mysql-5.7-2.sql
#查看一下是否成功 SHOW TABLES;
#退出 exit;

如果导入psi-mysql-5.7-2.sql 报错的话
解决方法:
在 MySQL 中创建函数时出现这种错误的解决方法:
在 MySQL 数据库中执行以下语句,临时生效,重启后失效
set global log_bin_trust_function_creators=TRUE;
      

2.修改配置文件 application-prod.yml,修改 数据库连接、缓存redis、上传附件等配置(数据库和redis的ip都是本地ip,默认不改)
1.png
3.切换Maven为生产模式
2.png
4.通过jeecg-boot-parent打包
3.png
5.拿到 jeecg-system-start-{版本号}.jar 包
4.png
6.上传jar包到linux中,通过JAR方式启动后台

Window启动命令:
java -jar jeecg-system-start-3.4.3.jar

Linux下后台进程启动命令:
nohup java -jar jeecg-system-start-3.4.3.jar >catalina.out 2>&1 &

关掉项目:
ps -ef|grep java
kill 进程号 

Nginx配置

前端nginx配置
nginx监听:80端口
绑定域名(示例):boot.jeecg.com

server {
        listen       80;
        server_name  前端访问域名;
        #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题
        location / {
            root   html;
            index  index.html index.htm;
            if (!-e $request_filename) {
                rewrite ^(.*)$ /index.html?s=$1 last;
                break;
            }
        }
    }

后端nginx配置
nginx监听:80端口
绑定域名(示例):api.boot.jeecg.com

    upstream api.boot.jeecg.com {
      server 127.0.0.1:8080;
     }  
     
    server {
        listen       80;
        server_name  api.boot.jeecg.com;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass  http://api.boot.jeecg.com;
            
            #ip remote_addr
            proxy_set_header X-Forwarded-Scheme  $scheme;
            proxy_redirect    off;     
            proxy_set_header  Host             $host;
            proxy_set_header  X-Real-IP        $remote_addr;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    }

实例