Docker compose 部署前后端-----接纳nginx署理,支持一个端口部署多个前端 ...

打印 上一主题 下一主题

主题 866|帖子 866|积分 2598

Docker compose  部署前后端-----接纳nginx署理,支持一个端口部署多个前端

1、Linux服务器安装最新版docker,确保有docker compose 命令

2、创建docker工作区目次

mkdir docker-workspace
3、进入docker 工作区目次,创建前端nginx目次,创建后端 xxx 目次

mkdir nginx xxx
4、创建config目次和nginx.conf文件

cd nginx
mkdir config
cd config
vi nginx.conf
  1. user  nginx;
  2. worker_processes  1;
  3. error_log  /var/log/nginx/error.log warn;
  4. pid        /var/run/nginx.pid;
  5. events {
  6.     worker_connections  1024;
  7. }
  8. http {
  9.     include       /etc/nginx/mime.types;
  10.     default_type  application/octet-stream;
  11.     client_max_body_size 100m;
  12.     underscores_in_headers on;
  13.     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  14.                       '$status $body_bytes_sent "$http_referer" '
  15.                       '"$http_user_agent" "$http_x_forwarded_for"';
  16.     add_header Access-Control-Allow-Origin *;
  17.     add_header Access-Control-Allow-Headers X-Requested-With;
  18.     add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
  19.     access_log  /var/log/nginx/access.log  main;
  20.     sendfile        on;
  21.     keepalive_timeout  65;
  22.     #gzip  on;
  23.     # include /etc/nginx/conf.d/*.conf;
  24. # 部署aaa前端包,后端接口代理
  25. server {
  26.     listen 80;
  27.     server_name localhost;
  28.     root /usr/share/nginx/html;
  29.     index index.html;
  30.         location / {
  31.             root   /usr/share/nginx/html;
  32.             try_files $uri $uri/ index.html;
  33.             index  index.html index.htm;
  34.         }
  35.         location /aaa {
  36.             alias /usr/share/nginx/html/aaa;
  37.             try_files $uri $uri/ /aaa/index.html;
  38.             index  index.html index.htm;
  39.         }
  40.     location /xxx-prod-api/ {
  41.         proxy_pass http://x.x.x.x:8801/;  # 后端服务器的地址和端口
  42.         proxy_set_header Host $host;
  43.         proxy_set_header X-Real-IP $remote_addr;
  44.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  45.         proxy_set_header X-Forwarded-Proto $scheme;
  46.     }
  47.   }
  48. }
复制代码
5、前端部署,docker容器化部署nginx,创建docker-compose.yml文件,挂载nginx.conf和aaa前端包  (前端包dist改名为aaa)

vi docker-compose.yml
  1. version: '1'
  2. services:
  3.   nginx:
  4.      image: nginx:latest
  5.      container_name: nginx
  6.      hostname: nginx
  7.      # network_mode: "host"
  8.      ports:  
  9.       - 80:80
  10.      volumes:  
  11.       - ./config/nginx.conf:/etc/nginx/nginx.conf
  12.       - ./aaa:/usr/share/nginx/html/aaa
  13.      tty: true
  14.      # restart: always
  15.      command: nginx -g "daemon off;"
复制代码
实行 docker compose up -d 举行容器化部署
查看日记 docker logs -f nginx
6、后端部署,后端包重命名为xxx.jar,到场xxx目次,创建docker-compose.yml文件,挂载资源文件service

cd xxx
mkdir service
cd service
vi start.sh
  1. java -Duser.timezone=Asia/Shanghai -Dlog4j2.formatMsgNoLookups=true  -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom  -jar -Dspring.config.location=/opt/java_project/service/application.properties xxx.jar
复制代码
将xxx.jar 和 application.properties 放到service目次下
cd ../  到 xxx目次
vi docker-compose.yml
  1. version: "3"
  2. services:
  3.   xxx:
  4.     container_name: xxx
  5.     image: openjdk:17
  6.     volumes:
  7.       - ./service/:/opt/java_project/service
  8.     ports:
  9.       - "8801:8801"
  10.     environment:
  11.       - TZ="Asia/Shanghai"
  12.       - LANG=en_US,UTF-8
  13.       - LANGUAGE=en_US:en
  14.       - LC_ALL=en_US.UTF-8
  15.     working_dir: /opt/java_project/service  
  16.     command: sh ./start.sh
复制代码
实行 docker compose up -d 举行容器化部署
查看日记 docker logs -f xxx
示例demo自取:https://gitee.com/xietingwei1/demo.git

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

风雨同行

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表