El front-end y el back-end de RuoYi están separados y el módulo múltiple del back-end se implementa en el servidor a través de la ventana acoplable después del desarrollo secundario (más reciente el 15.11.2022)

1.Preparación del entorno

1.centos 7
2.docker
3.mysql  8.0.16
4.java   8
5.nginx  latest
6.redis  latest

2. Modificación de archivos de configuración del proyecto y empaquetado del proyecto.

2.1 Modificación del archivo backend

application.yml Modifica el puerto HTTP del servidor, el predeterminado es 8080, modifícalo según las necesidades

application-druid.yml modifica la configuración de conexión de la base de datos mysql y redis

 ​​​​​

 2.2 Empaquetado del proyecto backend

Aunque RruoYI es de múltiples módulos, el módulo ruoyi-admin depende de otros módulos, por lo que solo necesita obtener el paquete jar del módulo de administración , pero debe empaquetarlo globalmente al empaquetar.

Busque el directorio raíz del proyecto para el empaquetado global. Luego busque el directorio de destino generado en el módulo ruoyi-admin y almacene ruoyi-admin.jar en el escritorio para facilitar la transferencia posterior al servidor.

 

 2.3 Modificación de archivos front-end

①Modifique el archivo vue.config.js

 2.4 Embalaje frontal

 ① Ejecute el comando npm run build:prod para generar una carpeta dist y almacenarla en el escritorio para facilitar la transferencia posterior al servidor.

2.5 Transferencia de archivos al servidor

Conéctese al servidor a través de xshell y luego transfiera dist y ruoyi-admin.jar al servidor a través de Xftp

 3. Lado del servidor

1. Software: descargar Docker y extraer imágenes de nginx, redis y mysql

2. Inicio del espejo:

MySQL:

docker run \
-p 3306:3306 \
--name mysql \
--privileged=true \ //让容器具有root的权限
--restart unless-stopped \ //自动重启
-e MYSQL_ROOT_PASSWORD=****** \ //密码谨慎配置不要123456了,不然黑客会找到你!!!
-d mysql \
--lower_case_table_names=1  //建表时候所有字符转为小写

Nota: Además de establecer una contraseña compleja, es mejor modificar el nombre de usuario raíz predeterminado de MySQL para que a los piratas informáticos les resulte más difícil utilizar la fuerza bruta.

 Redis:

docker run \
-p 6379:6379 \
--name redis \
--restart=always \
-v /home/redis/data/:/data \
-d redis:3.2 redis-server \
--appendonly yes  //必须持久化

Nota: Al ejecutar la imagen, asegúrese de configurar la operación de persistencia --appendonly sí. Luego, después de ejecutar la imagen de redis, es mejor ingresar redis para establecer la contraseña correspondiente; de ​​lo contrario, sufrirá mucho más adelante (también puede configurar la contraseña con --requirepass 123456, pero a veces no funciona).

1.进入redis
docker exec -it 容器id /bin/bash

2.运行命令:
redis-cli

3.查看现有的redis密码:
config get requirepass

4.设置redis密码
config set requirepass 密码

5.exit

nginx:

docker run --privileged  -p 80:80 -p 443:443 \
  -d --restart=always \
 --name nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d:ro \
-v /home/nginx/html:/usr/share/nginx/html:rw \
-v /home/nginx/logs:/var/log/nginx -d nginx

Nota: El directorio de montaje de nginx debe crearse con anticipación; de lo contrario, se bloqueará inmediatamente al iniciar nginx.

Luego ingrese el archivo de configuración nginx.conf y agregue el siguiente contenido

 server {
        listen       80;
        server_name  服务器ip;		# 用服务器ip代替

        location / {
            root   /usr/share/nginx/html/dist/;
            index  index.html index.htm index login;
            try_files $uri $uri/ /index.html last;
        }
        location /prod-api/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://服务器ip:8085/;		# 可以用服务器ip代替
        }
        error_page   500 502 503 504  /50x.html;
            location = /50x.html {
            root   html;
        }
     }

Nota: Después de agregar el contenido anterior a nginx.conf, debe modificar el archivo default.conf en la carpeta /home/nginx/conf/conf.d al mismo tiempo. Debido a que nginx.conf introduce default.conf, debe para cambiar el valor predeterminado.Elimine la parte del servidor correspondiente del archivo conf; de lo contrario, el archivo de configuración de front-end /usr/share/nginx/html/dist/ no tendrá efecto. Pero también puede cambiar solo la parte del servidor del archivo default.conf sin cambiar el archivo nginx.conf.

3.Creación de DockerFile

3.1 Primero coloque el paquete ruoyi-admin.jar y el archivo dockerFile en el mismo directorio

3.2 Crear

FROM java:8
EXPOSE 8085

VOLUME /tmp

ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localhosttime && echo "{TZ}" > /etc/timezone

ADD ruoyi-admin.jar /app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]

Ejecute el siguiente comando para generar una imagen:

docker build -t ruoyi-vue .

Nota: No te pierdas ninguno.

Utilice imágenes de Docker para comprobar si existen las cinco imágenes de redis, mysql, nginx, ruoyi-vue y java.

Luego ejecuta la imagen:

docker run -d -p 8085:8085 --name vue ruoyi-vue 

Verifique la imagen en ejecución mediante el comando docker ps . Redis, mysql, nginx y ruoyi-vue se están ejecutando normalmente.

Finalmente, puedes acceder a él a través del navegador normal a través de ip: 8085! ! !

Recordatorio : 1. Si descubre que el inicio es exitoso al iniciar la imagen, pero después de un tiempo no puede ver que se está ejecutando usando Docker PS, puede usar la identificación del contenedor de Docker Logs para verificar el registro y luego resolver el problema. informando el error correspondiente.

2. Si las funciones en su proyecto springBoot están relacionadas con la hora del sistema, debe unificar la hora del sistema con el tiempo real; de lo contrario, su proyecto informará un error.

3. Al iniciar la imagen, es mejor configurar --restart=always. Al mismo tiempo, Docker también debe configurarse para que se inicie automáticamente al arrancar para evitar una salida inesperada.

4. Una vez completadas todas las tareas, configure el firewall para abrir el puerto especificado (80, 3306, 6379, 8085) y luego encienda el firewall. ! !

¡Te deseo lo mejor! ! !

Supongo que te gusta

Origin blog.csdn.net/weixin_47450271/article/details/127867272
Recomendado
Clasificación