国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

docker+mysql+flask+redis+vue3+uwsgi+docker部署

這篇具有很好參考價(jià)值的文章主要介紹了docker+mysql+flask+redis+vue3+uwsgi+docker部署。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

首先拉取mysql的鏡像,這里用的mysql5.7.6

docker pull mysql:5.7.6

鏡像拉取完成后啟動:

docker run --name my-mysql -d -p 3306:3306 -v /usr/local/my-mysql/conf:/etc/mysql/conf.d -v /usr/local/my-mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456  mysql:5.7.6

利用dockerfile構(gòu)建python3.9.11+uwsgi+nginx

FROM python:3.9.11

# 為鏡像添加標(biāo)簽
LABEL version="v1" description="Docker deploy Flask" by="guochunbiao"
RUN mkdir /opt/flask_app
COPY ./bask_flask /opt/flask_app/bask_flask
COPY ./dist /opt/flask_app/dist
COPY ./site-pages /usr/local/lib/python3.9/site-packages
COPY ./nginx.conf /etc/nginx/nginx.conf
# 配置工作目錄
WORKDIR /opt/flask_app

# 在鏡像容器中執(zhí)行命令
RUN pip install Flask && pip install uwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple/
#RUN pip install Flask && pip install -r request.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

#安裝nginx
apt-get update
apt-get install nginx
apt-get install vim

構(gòu)建:

docker build -t mydemo .

flask配置:

#基本項(xiàng)目創(chuàng)建
pip freeze > requirements.txt

安裝:pip install -r?requirements.txt

#安裝flask-sqlalchey flask-migrate mysql數(shù)據(jù)庫
pip install flask-sqlalchemy flask-migrate
#安裝 flask-cors解決跨域訪問
pip install flask-cors

數(shù)據(jù)庫遷移
      創(chuàng)建遷移數(shù)據(jù)庫 flask db init
      生成遷移腳本 flask db migrate -m "add user tables"
      將遷移腳本應(yīng)用到數(shù)據(jù)庫中 flask db upgrade 這個(gè)執(zhí)行前確保,alembic_version的標(biāo)號是最新的,不是手動更新在migrations->versions目錄下
      將遷移腳本回滾 flask db downgrade

celery:

啟動redis celery -A auto.celery worker -l info -P eventlet

微信支付python的庫

pip3.9 install wechatpayv3==1.2.35 -i https://pypi.tuna.tsinghua.edu.cn/simple/

--link redis:redis-server flask容器就可以讀取redis容器redis服務(wù)了:

docker pull redis:5.0.3

docker run --name redis -d redis:5.0.3 redis-server --appendonly yes

說明:

  1. 使用Docker運(yùn)行一個(gè)名為"redis"的容器。
  2. 使用"redis:5.0.3"這個(gè)Docker鏡像來創(chuàng)建這個(gè)容器。這個(gè)鏡像是Redis數(shù)據(jù)庫的一個(gè)版本。
  3. "-d"參數(shù)表示容器將在"detached"模式下運(yùn)行,也就是說這個(gè)容器將在后臺運(yùn)行。
  4. "redis-server --appendonly yes"是傳遞給容器的命令,它將啟動一個(gè)Redis服務(wù)器并開啟append-only模式。這個(gè)模式會把所有的修改操作都記錄下來,以便在數(shù)據(jù)庫重啟后可以通過這些記錄恢復(fù)數(shù)據(jù)。
docker run --name flask -p 5000:5000 -p 3000:3000  --link redis:redis-server -itd auto_flask_nginx_v1.0:v1.0

說明:

  1. 使用 Docker 運(yùn)行一個(gè)名為 "flask" 的容器。
  2. 使用 "auto_flask_nginx_v1.0:v1.0" 這個(gè) Docker 鏡像來創(chuàng)建這個(gè)容器。
  3. "-p 5000:5000" 和 "-p 3000:3000" 參數(shù)將容器內(nèi)的端口 5000 和 3000 分別映射到主機(jī)的端口 5000 和 3000,這樣你就可以通過主機(jī)的這兩個(gè)端口來訪問容器內(nèi)的服務(wù)了。
  4. "--link redis:redis-server" 參數(shù)將鏈接名為 "redis" 的容器到 "flask" 容器,并在 "flask" 容器中用 "redis-server" 這個(gè)名字來引用 "redis" 容器。這樣,"flask" 容器就可以通過 "redis-server" 這個(gè)名字來訪問 "redis" 容器提供的服務(wù)了。
  5. "-itd" 參數(shù)表示容器將在 "detached" 模式下運(yùn)行,并以交互模式打開一個(gè)偽終端。
# 獲取access_token用來獲取微信用戶openid
def secret_token(code, user):
    redis_conn = redis.Redis(host='redis-server', port=6379)
    is_key = redis_conn.hget('{}_zc_token'.format(user), 'wx_token')
    if is_key:
        return is_key
    else:
        url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code".format(
            APP_ID,
            APP_SECRET, code)
        response_data = requests.get(url)
        eval_resp = eval(response_data.content)
        redis_conn.hset('{}_zc_token'.format(eval_resp.get('openid')), 'wx_token', response_data.content)
        redis_conn.expire('{}_zc_token'.format(eval_resp.get('openid')), 7100)
        return response_data.content

參考連接:

http://hk.javashuo.com/article/p-kgdqsqip-bv.html

uwsgi.ini配置:

[uwsgi]
#項(xiàng)目目錄
chdir=/opt/flask_app
#指定項(xiàng)目的應(yīng)用,固定寫法,承接上面的項(xiàng)目目錄
module=auto:app
wsgi-file=/opt/flask_app/auto.py
callable=app
#sock文件存放目錄,方便nginx進(jìn)行sock連接交互
socket=/opt/flask_app/uwsgi_log/uwsgi.sock
#并發(fā)進(jìn)程
workers=5
#進(jìn)程id存放文件
pidfile=/opt/flask_app/uwsgi_log/uwsgi.pid
#啟動的ip及端口
http=0.0.0.0:5000
# 對應(yīng)app.py文件中Flask對象對應(yīng)的變量名
callable=auto
#靜態(tài)文件映射,第一個(gè)等于代表Django里面的別名,第二個(gè)等于后面是Django里面的真實(shí)路徑
#static-map=/static=/opt/AutomationPlatform/frontend/static/
#啟動的用戶和組
uid=root
gid=root
#啟用主進(jìn)程
master=true
#自動移除unixSocket和pid文件當(dāng)服務(wù)停止的時(shí)候
vacuum=true
#序列化接受的內(nèi)容,如果可能的話
thunder-lock=true
#啟用線程
enable-threads=true
#設(shè)置自中斷時(shí)間
harakiri=36000
#設(shè)置緩存
post-buffering=1024
#日志存放目錄,方便拍錯(cuò)
daemonize=/opt/flask_app/uwsgi_log/uwsgi.log

啟動:

uwsgi --ini uwsgi.ini

停止:

uwsgi --stop uwsgi_log/uwsgi.pid

部署Vue3到Nginx和設(shè)置請求轉(zhuǎn)發(fā)需要以下步驟:

  1. 構(gòu)建Vue3項(xiàng)目:在項(xiàng)目目錄下運(yùn)行npm run build命令。這會生成一個(gè)dist目錄,里面包含構(gòu)建后的靜態(tài)文件。

  2. 部署到Nginx:將dist目錄下的所有文件復(fù)制到Nginx的web目錄下,例如/usr/share/nginx/html/。

  3. 配置Nginx轉(zhuǎn)發(fā)請求:在Nginx的配置文件中添加一個(gè)新的server塊。例如:

    server {
      listen 80;
      server_name yourdomain.com;
      location / {
        root /usr/share/nginx/html; # Vue3項(xiàng)目在Nginx的路徑
        index index.html;
        try_files $uri $uri/ /index.html; # 用于支持Vue的history模式
      }
      location /api {
        proxy_pass http://backend:3000; # 假設(shè)后端服務(wù)運(yùn)行在3000端口
      }
    }
    
  4. /api路徑下的所有請求都會被轉(zhuǎn)發(fā)到后端服務(wù)。

  5. 重啟Nginx:最后,你需要重啟Nginx以應(yīng)用新的配置。在Linux上,你可以使用sudo systemctl restart nginx命令。文章來源地址http://www.zghlxwxcb.cn/news/detail-730079.html

到了這里,關(guān)于docker+mysql+flask+redis+vue3+uwsgi+docker部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python Flask web項(xiàng)目uwsgi + nginx部署

    python Flask web項(xiàng)目uwsgi + nginx部署

    略 2.1安裝vertualenv 2.2創(chuàng)建虛擬環(huán)境 創(chuàng)建保存環(huán)境的目錄: 創(chuàng)建虛擬環(huán)境: 查看虛擬環(huán)境: 2.3激活虛擬環(huán)境 activiate是激活虛擬環(huán)境的命令腳本,在虛擬環(huán)境的bin目錄下 執(zhí)行activate激活環(huán)境 3.1安裝uwsgi 激活虛擬環(huán)境,安裝uwsgi 3.2基于uwsgi運(yùn)行flask項(xiàng)目 3.2.1命令的方式 3.2.2配置文

    2024年02月10日
    瀏覽(23)
  • 企業(yè)部署,springboot+vue+vue,Linux上部署mysql與redis,docker中部署nginx,jenkins。完整詳細(xì)。

    企業(yè)部署,springboot+vue+vue,Linux上部署mysql與redis,docker中部署nginx,jenkins。完整詳細(xì)。

    涉及:Linux服務(wù)器,docker,Jenkins,nginx,springoot,vue,mysql,redis,git, docker生成容器類型: MySql , Redis ,Jenkins,Nginx,項(xiàng)目存放的容器。 注: ?。。。。。。。。。。?shù)據(jù)庫不要存放在Docker中,而且存放會在使用時(shí)會有問題。?。。。。。。。。?! 存放 mysql 時(shí)、發(fā)現(xiàn)其賬

    2024年02月07日
    瀏覽(25)
  • 【Vue3-Flask-BS架構(gòu)Web應(yīng)用】實(shí)踐筆記1-使用一個(gè)bat腳本自動化完整部署環(huán)境

    【Vue3-Flask-BS架構(gòu)Web應(yīng)用】實(shí)踐筆記1-使用一個(gè)bat腳本自動化完整部署環(huán)境

    近年來,Web開發(fā)已經(jīng)成為計(jì)算機(jī)科學(xué)領(lǐng)域中最熱門和多產(chǎn)的領(lǐng)域之一。Python和Vue.js是兩個(gè)備受歡迎的工具,用于構(gòu)建現(xiàn)代Web應(yīng)用程序。在本教程中,我們將探索如何使用這兩個(gè)工具來創(chuàng)建一個(gè)完整的Web項(xiàng)目。我們將完成從安裝Python和Vue.js到項(xiàng)目部署的整個(gè)過程。 首先,確保你

    2024年02月07日
    瀏覽(92)
  • [Docker]四.Docker部署nodejs項(xiàng)目,部署Mysql,部署Redis,部署Mongodb

    [Docker]四.Docker部署nodejs項(xiàng)目,部署Mysql,部署Redis,部署Mongodb

    可以到 https://hub.docker.com/ 去搜索node鏡像 , 然后下載,也可以直接通過docker pull node下載鏡像,然后用這個(gè)node鏡像啟動容器node,這樣系統(tǒng)就集成了node服務(wù)了,在這里掛載www/node目錄到容器中,并指定端口映射,運(yùn)行nodejs程序,安裝npm,以及對應(yīng)的依賴,啟動node目錄下對應(yīng)的項(xiàng)目,然后通過瀏

    2024年02月06日
    瀏覽(22)
  • docker應(yīng)用部署(部署MySql,部署Tomcat,部署Nginx,部署Redis)

    docker應(yīng)用部署(部署MySql,部署Tomcat,部署Nginx,部署Redis)

    一、部署MySQL 搜索mysql鏡像 拉取mysql鏡像 創(chuàng)建容器,設(shè)置端口映射、目錄映射 參數(shù)說明: -p 3307:3306 :將容器的 3306 端口映射到宿主機(jī)的 3307 端口。 -v $PWD/conf:/etc/mysql/conf.d :將主機(jī)當(dāng)前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。配置目錄 -v $PWD/logs:/logs :將主機(jī)當(dāng)前目

    2024年02月03日
    瀏覽(49)
  • 安裝Docker&使用Docker安裝部署MySQL和Redis

    安裝Docker&使用Docker安裝部署MySQL和Redis

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum remove -y yum-utils sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 如果這一步報(bào)錯(cuò),說嘗試其他鏡像的話,執(zhí)行下面步驟

    2024年02月07日
    瀏覽(23)
  • docker快速部署Redis、MySQL、Nginx

    拉取鏡像 拷貝一份redis.conf文件復(fù)制到/home/ubuntu/redis文件夾下,修改redis.conf配置文件 創(chuàng)建redis容器 MySQL 8.0.30 拉取鏡像 創(chuàng)建容器 docker安裝完成mysql8,如果使用sqlyog或者navite連接,需要修改密碼加密規(guī)則,因?yàn)榈桶姹究蛻舳斯ぞ卟恢С謒ysql8最新的加密規(guī)則。如果使用客戶端連接

    2024年02月03日
    瀏覽(14)
  • Docker 部署 Spring Boot 項(xiàng)目(含 MySQL + Redis )

    Docker 部署 Spring Boot 項(xiàng)目(含 MySQL + Redis )

    注意事項(xiàng):如果需要將 Spring Boot 項(xiàng)目的日志文件掛載到本地,則在打包前需要先在 yml 進(jìn)行如下配置: 這里的 info 指的是日志等級,可以根據(jù)需要進(jìn)行修改,日志等級主要有以下幾種: trace :最低的日志級別,用于記錄非常詳細(xì)的信息,通常僅在診斷問題時(shí)使用。 debug :用

    2024年01月21日
    瀏覽(20)
  • 手把手教你用 Docker 部署 Vue3 項(xiàng)目

    手把手教你用 Docker 部署 Vue3 項(xiàng)目

    用 docker 可以幫我們快速部署前端項(xiàng)目,本文介紹了如何用 docker 快速部署 vue3 項(xiàng)目。請準(zhǔn)備好一臺云服務(wù)器并安裝好 docker,然后開始閱讀本教程。 執(zhí)行 npm run build 打包后項(xiàng)目目錄中會多出一個(gè) dist 文件夾 利用 docker 拉取 nginx 鏡像 在服務(wù)器中創(chuàng)建工作目錄,這里我放在 /ho

    2024年02月05日
    瀏覽(35)
  • 安裝Docker&使用Docker安裝部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio

    安裝Docker&使用Docker安裝部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum remove -y yum-utils sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 如果這一步報(bào)錯(cuò),說嘗試其他鏡像的話,執(zhí)行下面步驟

    2024年02月05日
    瀏覽(49)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包