日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 引言
  • 1. Redis部署
    • (1)搜索Redis鏡像
    • (2)拉取Redis鏡像 
    • (3)創建Redis容器
  • 2. MySQL部署
    • (1)拉取MySQL鏡像、
    • (2)查看鏡像
    • (3)啟動MySQL容器
    • (4)使用本地Navicat測試連接 
    • (5)導入sql文件
  • 3. 后端部署
    • (1)創建工作目錄
    • (2)修改配置文件
    • (3)本地后端項目打包
    • (4)編寫 Dockerfile 文件
    • (5)上傳jar包和Dockerfile
    • (6)創建鏡像
    • (7)使用構建好的鏡像啟動容器
    • (8)網頁訪問測試
  • 4. Nignx部署
    • (1)拉取nginx鏡像
    • (2)啟動一個nginx測試容器
    • (3)拷貝測試容器內容
    • (4)刪除測試容器
    • (5)啟動新的 nginx 容器
    • (6)訪問測試
    • (7)查看掛載情況
  • 5. 前端部署
    • (1)修改配置文件
    • (2)前臺工程打包 
    • (3)上傳dist包
    • (4)編輯nginx配置文件
    • (4)重啟nginx容器
    • (5)訪問測試
  • 總結

    引言

    使用若依項目來部署演示,代碼地址:RuoYi-Vue

    首先在本地啟動若依項目,確保本地可以成功啟動:

    使用Docker部署前后端分離項目的完整步驟

    部署需要用到的鏡像匯總:

    (1)Redis鏡像

    (2)MySQL鏡像

    (3)后端工程自定義鏡像

    (4)Nginx鏡像

    鏡像:

    [root@zy-host home]# docker images
    REPOSITORY    TAG                IMAGE ID       CREATED         SIZE
    ruoyi-admin   latest             9c91f33418ce   3 hours ago     807MB
    nginx         latest             605c77e624dd   12 months ago   141MB
    redis         latest             7614ae9453d1   12 months ago   113MB
    mysql         latest             3218b38490ce   12 months ago   516MB
    java          8                  d23bdf5b1b1b   5 years ago     643MB

     容器:

    [root@zy-host home]# docker ps
    CONTAINER ID   IMAGE         COMMAND                  CREATED        STATUS          PORTS                                                  NAMES
    5cc7296c0ae7   ruoyi-admin   "sh -c 'java $JAVA_O…"   3 hours ago    Up 3 hours      0.0.0.0:8080->8080/tcp, :::8080->8080/tcp              ruoyi-admin
    fb5135730d4f   nginx         "/docker-entrypoint.…"   4 hours ago    Up 39 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp                      zy_nginx
    62aede427243   mysql         "docker-entrypoint.s…"   6 hours ago    Up 6 hours      0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   zy_mysql
    35ca274f4ec8   redis         "docker-entrypoint.s…"   15 hours ago   Up 15 hours     0.0.0.0:6379->6379/tcp, :::6379->6379/tcp              zy_redis

    下面介紹部署過程: 

    1. Redis部署

    (1)搜索Redis鏡像

    [root@zy-host home]# docker search redis
    

    (2)拉取Redis鏡像 

    [root@zy-host home]# docker pull redis
     
    [root@zy-host home]# docker images
    REPOSITORY   TAG                IMAGE ID       CREATED         SIZE
    redis        latest             7614ae9453d1   12 months ago   113MB

    (3)創建Redis容器

    [root@zy-host home]# docker run -d -p 6379:6379 --name zy_redis redis
    35ca274f4ec8c3d2d1d4bb97c975cbd4a0bc95c943df2cfa2c3e17d997d1941b

    2. MySQL部署

    (1)拉取MySQL鏡像、

    [root@zy-host ~]# docker pull mysql

    (2)查看鏡像

    [root@zy-host ~]# docker images
    REPOSITORY    TAG                IMAGE ID       CREATED         SIZE
    redis         latest             7614ae9453d1   12 months ago   113MB
    mysql         latest             3218b38490ce   12 months ago   516MB

    (3)啟動MySQL容器

    [root@zy-host ~]# docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name zy_mysql mysql
    

    (4)使用本地Navicat測試連接 

    使用Docker部署前后端分離項目的完整步驟

    (5)導入sql文件

    新建數據庫 ry_vue,導入項目所需的sql文件

    使用Docker部署前后端分離項目的完整步驟

    使用Docker部署前后端分離項目的完整步驟

    3. 后端部署

    (1)創建工作目錄

    在云服務器的 /home 下創建 ruoyi 目錄,作為工作目錄:

    [root@zy-host home]# mkdir ruoyi
    [root@zy-host home]# ls
    copy.txt  docker  mysql  ruoyi  test  tomcat

    (2)修改配置文件

    修改 application 配置文件中 MySQL 數據庫和 Redis 數據庫地址為云服務器地址:

    使用Docker部署前后端分離項目的完整步驟

    使用Docker部署前后端分離項目的完整步驟

    (3)本地后端項目打包

    在本地環境下,使用maven的 package 命令對后端項目打包(jar包):

    使用Docker部署前后端分離項目的完整步驟

    使用Docker部署前后端分離項目的完整步驟

    (4)編寫 Dockerfile 文件

    FROM java:8
    VOLUME /tmp
    ADD *.jar /app.jar
    EXPOSE 8080
     
    RUN sh -c 'touch /app.jar'
    ENV JAVA_OPTS=""
    ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

    (5)上傳jar包和Dockerfile

    將本地打好的jar包和Dockerfile文件上傳至云服務器的 /home/ruoyi 目錄下:

    使用Docker部署前后端分離項目的完整步驟

    (6)創建鏡像

    使用編寫的 Dockerfile 創建后臺項目的鏡像:

    [root@zy-host ruoyi]# docker build -t ruoyi-admin .
    Sending build context to Docker daemon  81.83MB
    Step 1/5 : FROM java:8
     ---> d23bdf5b1b1b
    Step 2/5 : ADD *.jar /app.jar
     ---> 1acfeec0802e
    Step 3/5 : CMD ["--server.port=8080"]
     ---> Running in 46fa3ac5952d
    Removing intermediate container 46fa3ac5952d
     ---> 3fe6fec239b7
    Step 4/5 : EXPOSE 8080
     ---> Running in 16b39dba98ec
    Removing intermediate container 16b39dba98ec
     ---> 6ecd7fa673e1
    Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"]
     ---> Running in 546854a2884b
    Removing intermediate container 546854a2884b
     ---> 80e3109a3cab
    Successfully built 80e3109a3cab
    Successfully tagged ruoyi-admin:latest

    查看構建好的鏡像

    [root@zy-host ruoyi]# docker images
    REPOSITORY    TAG                IMAGE ID       CREATED          SIZE
    ruoyi-admin   latest             80e3109a3cab   31 seconds ago   725MB

    (7)使用構建好的鏡像啟動容器

    [root@zy-host ruoyi]# docker run -d -p 8080:8080 --name ruoyi-admin ruoyi-admin
    3ab5d9246b3b15cfe6b0461ad0d99d0c7f71dff21ba0ba66bfb7b09b1b908438

    (8)網頁訪問測試

    訪問8080端口,可以看到后端工程啟動成功。

    使用Docker部署前后端分離項目的完整步驟

    4. Nignx部署

    (1)拉取nginx鏡像

    [root@zy-host home]# docker pull nginx

    (2)啟動一個nginx測試容器

    啟動容器直接掛載目錄不行,需要使用一個nginx測試容器先把nginx相關配置文件拷貝出來,再掛載。

    [root@zy-host home]# docker run -d -p 80:80 --name zy_nginx_test nginx
    

    (3)拷貝測試容器內容

    在宿主機 /usr/local/nginx目錄下新建三個目錄:conf 、html、log

    [root@zy-host nginx]# pwd
    /usr/local/nginx
    [root@zy-host nginx]# mkdir {conf,html,log}
    [root@zy-host nginx]# ls
    conf  html  log

     將測試容器對應內容拷貝到宿主機中:

    [root@zy-host nginx]# docker cp zy_nginx_test:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
    

    (4)刪除測試容器

    將剛才nginx的測試容器刪除

    [root@zy-host nginx]# docker rm -f zy_nginx_test
    

    (5)啟動新的 nginx 容器

    [root@zy-host nginx]# docker run -d --restart=always --privileged=true --name zy_nginx -p 80:80 \
    -v /usr/local/nginx/cert:/etc/nginx/cert \
    -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
    -v /usr/local/nginx/html:/usr/share/nginx/html \
    -v /usr/local/nginx/log:/var/log/nginx \
    nginx

    -d:后臺運行

    –restart=always:自啟動

    –privileged=true:表示擁有更多的權限

    –name 容器命名

    -p 宿主機端口和容器端口的映射

    -v 宿主機目錄和容器目錄的映射

    (6)訪問測試

    訪問云服務器公網地址,可以看到nginx部署成功。

    使用Docker部署前后端分離項目的完整步驟

    (7)查看掛載情況

    [root@zy-host nginx]# docker inspect zy_nginx
     
    "Mounts": [
                {
                    "Type": "bind",
                    "Source": "/usr/local/nginx/html",
                    "Destination": "/usr/share/nginx/html",
                    "Mode": "",
                    "RW": true,
                    "Propagation": "rprivate"
                },
                {
                    "Type": "bind",
                    "Source": "/usr/local/nginx/log",
                    "Destination": "/var/log/nginx",
                    "Mode": "",
                    "RW": true,
                    "Propagation": "rprivate"
                },
                {
                    "Type": "bind",
                    "Source": "/usr/local/nginx/cert",
                    "Destination": "/etc/nginx/cert",
                    "Mode": "",
                    "RW": true,
                    "Propagation": "rprivate"
                },
                {
                    "Type": "bind",
                    "Source": "/usr/local/nginx/conf/nginx.conf",
                    "Destination": "/etc/nginx/nginx.conf",
                    "Mode": "",
                    "RW": true,
                    "Propagation": "rprivate"
                }
            ],

    5. 前端部署

    (1)修改配置文件

    修改前端工程 vue.config.js 文件,target修改為 云服務器 地址

    使用Docker部署前后端分離項目的完整步驟

    (2)前臺工程打包 

    # 構建生產環境
    npm run build:prod

    打好包之后前端工程目錄下會出現一個dist文件夾:

    使用Docker部署前后端分離項目的完整步驟

    (3)上傳dist包

    將dist包上傳至云服務器宿主機 /usr/local/nginx/html 目錄下:

    使用Docker部署前后端分離項目的完整步驟

    (4)編輯nginx配置文件

    修改 宿主機 /usr/local/nginx/conf 目錄下的 nginx.conf文件:

    [root@zy-host conf]# pwd
    /usr/local/nginx/conf
    [root@zy-host conf]# vim nginx.conf 

    修改后的文件內容如下:

    [root@zy-host conf]# vim nginx.conf 
    [root@zy-host conf]# cat 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  on;
     
        include /etc/nginx/conf.d/*.conf;
        
        server {
    	listen 80;
    	server_name 39.107.232.89
    	charset utf-8;
    	
    	location / {
    	    root /usr/share/nginx/html/dist; #前端工程存放路徑,注意這里的路徑是容器內的,不是宿主機的
    	    try_files $uri $uri/ /index.html;
    	    index index.html index.htm;
    	}
    	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://39.107.232.89:8080/; # 后端項目的發布地址加端口
    	}
        }
    }

    (4)重啟nginx容器

    需要重啟nginx容器之后,修改的配置文件內容才會同步過去。

    [root@zy-host html]# docker restart zy_nginx

    (5)訪問測試

    使用Docker部署前后端分離項目的完整步驟

    總結

    分享到:
    標簽:分離 后端 完整 步驟 部署
    用戶無頭像

    網友整理

    注冊時間:

    網站:5 個   小程序:0 個  文章:12 篇

    • 51998

      網站

    • 12

      小程序

    • 1030137

      文章

    • 747

      會員

    趕快注冊賬號,推廣您的網站吧!
    最新入駐小程序

    數獨大挑戰2018-06-03

    數獨一種數學游戲,玩家需要根據9

    答題星2018-06-03

    您可以通過答題星輕松地創建試卷

    全階人生考試2018-06-03

    各種考試題,題庫,初中,高中,大學四六

    運動步數有氧達人2018-06-03

    記錄運動步數,積累氧氣值。還可偷

    每日養生app2018-06-03

    每日養生,天天健康

    體育訓練成績評定2018-06-03

    通用課目體育訓練成績評定