Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • Linux基础

  • Linux进阶

  • 其他

    • 前后端分离项目的部署
      • 前端
      • 后端
      • mysql
      • docker
        • 外网服务器构建镜像并导出
        • 内网服务器导入镜像并启动
    • vsftpd
    • 制作pypi源
  • 运维
  • 其他
Brc
2021-05-28
目录

前后端分离项目的部署

提示

说明:Vue+flask。

# 前端

构建包

npm run build
1

上传文件到/data/wwwroot/workload目录

nginx配置

  1. workload_api.conf

    upstream workload {
        server 127.0.0.1:8080;
    }
    server{
        listen 80;
        server_name api.birenchong.cn;
        location / {
            proxy_pass   http://workload;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
  2. workload.conf

    server{
        listen 80;
        server_name admin.birenchong.cn;
        index index.html;
    
        root  /data/wwwroot/workload;
    
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }
    
        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }
    
        location ~ /.well-known {
            allow all;
        }
    
        location ~ /\.
        {
            deny all;
        }
    
    }
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28

# 后端

环境:python3

  1. 上传后端项目文件

  2. 在项目文件主目录下创建虚拟环境

    python3 -m venv workload_env
    
    1
  3. 激活环境

    source workload_env/bin/activate
    
    1
  4. 安装项目需要的包

    pip3 install -r requirement.txt
    
    1
  5. 数据库有变更的话,要进行升级(第一次部署要初始化数据库,具体操作见mysql操作)

    # 提交变更
    python3 manage.py db migrate -m "init message"
    # 升级变更
    python3 manage.py db upgrade
    
    1
    2
    3
    4
  6. 启动

    nohup gunicorn manage:app -c gunicorn.conf.py &
    
    1

# mysql

  1. 创建数据库

    create database workload_pro default character set utf8mb4 collate utf8mb4_general_ci;
    
    1
  2. 在虚拟环境中初始化数据库

    # 初始化
    python3 manage.py db init
    # 提交变更
    python3 manage.py db migrate -m "init message"
    # 升级变更
    python3 manage.py db upgrade
    
    1
    2
    3
    4
    5
    6
  3. mysql数据库导入数据

    # 从其他数据库导出
    mysqldump -uroot -p -t workload_dev > workload_dev.sql
    # 导入
    mysql -uroot -p workload_pro < workload_dev.sql
    
    1
    2
    3
    4

# docker

# 外网服务器构建镜像并导出

Dockerfile

FROM python:3.6
WORKDIR /data/workload_api

COPY requirements.txt ./
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

COPY . .

CMD ["gunicorn", "manage:app", "-c", "./gunicorn.conf.py"]

1
2
3
4
5
6
7
8
9
10

构建Docker镜像

docker build -t 'workload_api' .
1

查看镜像列表

docker images
1

导出镜像

docker save workload_api > /data/workload_api/workload_api.tar
1

# 内网服务器导入镜像并启动

导入镜像

docker load < /data/workload_api/workload_api.tar
1

临时运行docker镜像

docker run -it --rm -v /data/workload_api:/data/workload_api -p 8080:80 workload_api
1

以daemon方式运行

docker run -d -v /data/workload_api:/data/workload_api -p 8080:80 --name workload_api:v1 workload_api
1
#Vue#flask
Last Updated: 2021/07/01, 17:53:37
问题
vsftpd

← 问题 vsftpd→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式