麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > Nginx > 正文

使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法

2024-08-30 12:29:23
字體:
供稿:網(wǎng)友

本文介紹了使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法,分享給大家,具體如下:

基本環(huán)境:

  1. Ubuntu 16.10
  2. docker 17.06.0-ce

壓縮自己的項(xiàng)目文件

1.這里需要注意的是,在壓縮的時(shí)候,也需要把自己的需要的Python包寫在requirement.txt,這樣搭建環(huán)境的時(shí)候才會(huì)知道你需要什么包,才能一起安裝,我的項(xiàng)目的requirement.txt 內(nèi)容如下。

Django==1.10.5rpy2==2.8.5PyMySQL==0.7.9numpy==1.13.0pandas==0.20.2scikit-learn==0.18.1scipy==0.19.0uwsgi

2.更改自己的settings.py,為Nginx服務(wù)器代理設(shè)置部署環(huán)境

更改的內(nèi)容如下

STATIC_ROOT = os.path.join(BASE_DIR, 'collect_static')ALLOWED_HOST = ['*']

注意:這里不能將部署的環(huán)境與開發(fā)環(huán)境的靜態(tài)文件相同,否則會(huì)引起錯(cuò)誤。

修改好后運(yùn)行如下命令:

python manage.py collectstatic

這個(gè)時(shí)候就可以安心壓縮文件了

tar czvf FileName.tar DirName

構(gòu)建web環(huán)境

1.將打包好的項(xiàng)目文件放入web文件夾中

cp /home/haoyu/AAPlatform.tar .

2.編寫Dockerfile

這里主要是搭建基礎(chǔ)環(huán)境

# 基礎(chǔ)鏡像FROM ubuntu:16.10FROM daocloud.io/python:3.5# 維護(hù)者信息MAINTAINER haoyu <[email protected]>ADD AAPlatform.tar /usr/src/ # app 所在目錄WORKDIR /usr/src/AAPlatformENV LD_LIBRARY_PATH=/usr/local/libRUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety main restricted" > /etc/apt/sources.listRUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety-updates main restricted" >> /etc/apt/sources.listRUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety universe" >> /etc/apt/sources.listRUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety-updates universe" >> /etc/apt/sources.listRUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety multiverse" >> /etc/apt/sources.listRUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety-updates multiverse" >> /etc/apt/sources.listRUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety-backports main restricted  universe multiverse" >> /etc/apt/sources.list RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety-security main restricted" >> /etc/apt/sources.listRUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety-security universe" >> /etc/apt/sources.listRUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ yakkety-security multiverse" >> /etc/apt/sources.listRUN apt-get update RUN apt-get install -y make RUN echo "deb http://cran.rstudio.com/bin/linux/ubuntu yakkety/" >> /etc/apt/sources.listRUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 51716619E084DAB9RUN apt-get update RUN apt-get install -y r-base # r-base-dev r-cran-mgcv r-base-core r-base-html r-recommended# 安裝 app 所需依賴RUN pip install --no-cache-dir -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

基本上Django和R搭建的環(huán)境都在這了。

2.編寫start.sh

這里是要把docker的Django運(yùn)行起來

內(nèi)容如下:

#!/bin/bash #docker build -t aaplatform/django-app .docker run --name django /-v /usr/src/AAPlatform /-v /usr/src/AAPlatform/collect_static /-p 12000:8000 /-d feiyu/django-app /usr/local/bin/uwsgi --http :8000 --chdir /usr/src/AAPlatform -w AAPlatform.wsgi#-d aaplatform/django-app /usr/local/bin/gunicorn myblog.wsgi:application -w 1 -b :8000

搭建Nginx環(huán)境

1.編寫Dockerfile文件

配置Nginx相關(guān)的環(huán)境

FROM daocloud.io/nginxMAINTAINER haoyu <www.haoyu.com>RUN rm /etc/nginx/conf.d/default.confADD nginx-conf/ /etc/nginx/conf.d/

2.編寫Server配置文件

需要將系統(tǒng)默認(rèn)的配置文件更改一下

在nginx-conf中:

server {  listen 80;  server_name localhost;  charset utf-8;  root  /usr/src/AAPlatform;  access_log /var/log/nginx/django.log;  location ^~ /static {    alias /usr/src/AAPlatform/collect_static;  }  location / {    proxy_pass http://web:8000;    proxy_set_header Host $host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  }}

保證Nginx環(huán)境能夠構(gòu)建起來。

3.編寫start.sh

讓docker運(yùn)行起來

#!/bin/bash #docker build -t nginx .docker run --name nginx-server /--link django:web /-v /www/collect_static /--volumes-from django /-p 8888:80 /-d nginx

整個(gè)環(huán)境結(jié)合

1.構(gòu)建docker-start.sh

啟動(dòng)web和Nginx

#!/bin/bash#cd ./webecho "start web --------------------------"./start.shcd ../nginxecho "start nginx-------------------------"./start.sh

2.編寫stop.sh

關(guān)閉docker

#/bin/bash#sudo docker kill $(docker ps -a -q)sudo docker rm $(docker ps -a -q)

運(yùn)行測試

1.運(yùn)行sh文件

$ ./docker-start.sh

2.訪問網(wǎng)站

http://127.0.0.1:8888/login

注意:要訪問的是Nginx服務(wù)器。

將部署好的鏡像文件導(dǎo)出

1.docker save

docker save 00273588addb -o aaplatform.tar aaplatform/django-app:latest

2.docker load

docker load < aaplatform.tar

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 草草影院地址 | 国产精品91久久久 | 国产一精品一av一免费爽爽 | 日本残忍极度灌浣肠视频 | 色呦呦一区二区三区 | 国产成人免费精品 | 欧洲精品久久久 | 91成人亚洲 | 成人不卡| 日韩精品久久久久久久九岛 | 国产手机在线视频 | 三人弄娇妻高潮3p视频 | 国产亚洲精品久久 | 国产成人aⅴ | 久久久久国产成人免费精品免费 | 4p嗯啊巨肉寝室调教男男视频 | 亚洲第一色片 | 精国产品一区二区三区四季综 | 制服丝袜成人动漫 | 一级毛片在线视频 | 国产日韩a| 久草在线综合 | 成年人观看免费视频 | 久久国产精品久久久久久久久久 | 久久精品一区二区三区不卡牛牛 | 日日碰日日操 | 视频一区二区不卡 | 最污网站 | 色吧综合网 | 国产精品久久久久久久午夜片 | 亚洲一区动漫 | 欧美视频一区二区三区 | 一级毛片在线免费观看视频 | 欧美黄色小视频 | 欧美成人综合视频 | 99国产精品欲a | 精品国产一区二区三区四区阿崩 | 日本在线播放一区二区 | 欧美日韩一 | 午夜精品成人一区二区 | 免费久久久久久 |