1. Implementación de instrucciones de backend
Dividido en implementación de paquetes de guerra e implementación de paquetes jar.
1.1 despliegue del paquete de guerra*
Coloque el paquete war directamente en la carpeta webapps de Tomcat y luego inicie Tomcat para completar la implementación.
1.2 implementación del paquete jar
Dividido en dos métodos de implementación: a través del método de instrucción, a través de la configuración de IDEA
1.2.1 Implementar el paquete jar mediante comando
Primero, el paquete limpio del proyecto se empaqueta como un paquete jar y el paquete se carga en Linux.
nohup se ejecuta en segundo plano, > mall.out es para guardar la información de registro en este archivo, -D es para modificar la configuración
nohup java -jar -Dserver.ip=192.168.137.129 -Dspring.datasource.password=root -Dfile.dir=/home/luobei/images mall100-0.0.1-SNAPSHOT.jar > mall.out 2>&1
cerrar proceso
matar -9 identificación del proceso
1.2.2 Implementar el paquete jar a través de IDEA
IDEA es para configurar los pasos en el modo de instrucción, y IDEA realizará estas operaciones.
2. Implementación de front-end
Empaquetado del proyecto (tenga en cuenta que la URL del proyecto front-end conectado al back-end debe ir seguida de /app/ como identificador)
compilación de ejecución npm
Crear archivo de configuración nginx.conf
# Ejecutar usuario
root con autoridad de usuario root
# Número de procesos del programa en ejecución
work_processes 1;events { # El número máximo de conexiones por proceso work_connections 1024; }
http { incluye tipos mime; aplicación de tipo_predeterminado/flujo de octeto;
enviar archivo activado;
keepalive_timeout 65;
servidor { escucha 80; # dirección IP del servidor nginx nombre_servidor 192.168.174.129; # ubicación de configuración de recursos estáticos / { índice index.html index.htm; # Nota: La ruta /usr/local/nginx/static aquí se refiere al contenedor nginx. la ruta interna no es la ruta de la raíz de Linux del host /usr/local/nginx/static; try_files $uri $uri/ @router; } # Resuelve el problema de ingresar directamente la ruta en la barra de direcciones del navegador e informar 404 al actualizar ubicación del botón @router { reescribir ^.*$ /index.html último; } # Configuración de recursos dinámicos, todos los recursos dinámicos comienzan con /app y los que no son /app comienzan con la ubicación de recursos estáticos ^~/app { # Eliminar /app/ y luego reenviar la solicitud al servidor backend
reescribir ^/app/(.*) /$1 break;
# configuración de dominio cruzado de nginx [opcional]
proxy_set_header Host $http_host;
proxy_set_header x-Rea7-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header x-Forwarded-For $ proxy_add_x_forwarded_for;
# Configuración del servidor backend
proxy_pass http://balance;
}
error_page 500 502 503 504 /50x.html;
ubicación = /50x.html { root html; } } # Lista de servidores backend balance ascendente{ servidor 192.168.7.131: 8080; # Si Docker ejecuta el programa en segundo plano, la IP aquí debe ser la IP del contenedor.
#servidor 127.0.0.1:8082;
}
}
Comprima el archivo dist generado en un zip y cárguelo en el host
Crear contenedor nginx y directorio de montaje
docker run -d --name nginx-mall -p 80:80 -v /home/luobei/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/luobei/nginx/mall/:/usr /local/nginx/nginx estático
3.Acoplador
comandos comunes de la ventana acoplable | |
---|---|
Imágenes de docker | Ver qué espejos están disponibles |
búsqueda de docker xxx | espejo de búsqueda |
ventana acoplable tirar xxx:xxx | Extraiga la imagen reflejada de la versión correspondiente. |
ventana acoplable guardar -o xxx.tar xxx | Exportar la imagen como un archivo tar |
carga de la ventana acoplable -i xxx.tar | cargar imagen |
imagen/id de Docker RMI | eliminar espejo |
docker exec -it ID de contenedor bash | en el contenedor |
nombre/id del contenedor docker rm | eliminar contenedor |
nombre/id del contenedor de parada de Docker | detener contenedor |
nombre/ID del contenedor de inicio de Docker | iniciar el contenedor |
docker run -d -p --name nombre de la imagen | Ejecute la imagen para generar un contenedor, --name especifica el nombre del contenedor, -p puerto, -d fondo |
nombre/ID del contenedor de registros de Docker | Ver registros de contenedores |
Docker inspecciona el nombre del contenedor. | Ver detalles del contenedor (dirección IP) |
docker build -t nombre de imagen: versión. | Construye la imagen según el Dockerfile. |
3.1 IDEA utiliza Docker
Instalar el complemento de la ventana acoplable
Primero determine si desea instalar el complemento de Docker: Archivo → Configuración... Busque los complementos, busque "docker" en la columna del medio, instálelo si no está instalado y no es necesario volver a instalarlo si ya está instalado.
Habilite el acceso remoto a Docker en el servidor
Edite el archivo de configuración de la ventana acoplable
vi /lib/systemd/system/docker.service
Añade lo siguiente
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H 0.0.0.0:2375
Reinicie el servicio Docker
recarga-demonio systemctl
systemctl reiniciar la ventana acoplable
Puerto abierto 2375
firewall-cmd --zone=public --add-port=2375/tcp --permanent systemctl reiniciar firewalld.service
Nueva conexión
IDEA中 Archivo → Configuración...