成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Docker構(gòu)建python Flask+ nginx+uwsgi容器

Docker構(gòu)建python Flask+ nginx+uwsgi容器

熱門標(biāo)簽:ai電話機器人營銷 信貸電銷機器人系統(tǒng) 400 電話 申請費用 云南云電銷機器人招商 比較穩(wěn)定的外呼系統(tǒng) 山東電信外呼系統(tǒng)靠譜嗎 鸚鵡螺號航海地圖標(biāo)注時間 江蘇自動外呼系統(tǒng)一般多少錢 長沙回撥外呼系統(tǒng)

安裝Nginx

首先拉下centos鏡像docker pull centos

我們安裝最新的nginx1.19版本:下載地址

將centos鏡像運行起來并進入:

docker run --name ver -d -p 8051:80 -it nginx_start

將nginx-1.19.0.tar.gz這個包放入容器里面:

docker cp nginx-1.19.0.tar.gz 10e87af84c05:/root(10e87af84c05為centos容器id)

安裝nginx前先裝一些依賴:

yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

解壓:

tar -zxvf nginx-1.19.0.tar.gz
#進入到nginx-1.10.1 ,并配置nginx
 cd nginx-1.19.0
 #配置nginx
 #--prefix 指定安裝的目錄
 #/usr/local/nginx 是安裝目錄,不能和自己下載的文件目錄重了
 #./configure --prefix=/usr/local/nginx
 
 #帶ssl stub_status模塊 添加strem模塊 –with-stream,這樣就能傳輸tcp協(xié)議了
 #http_stub_status_module 狀態(tài)監(jiān)控
 #http_ssl_module  配置https
 #stream 配置tcp得轉(zhuǎn)發(fā)
 #http_gzip_static_module 壓縮
 #http_sub_module 替換請求
 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream

注:

在這里我出現(xiàn)了pcre和zlib缺失的錯,可以使用yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel命令,安裝所有依賴。

make & make install進行編譯安裝

安裝成功后,在./configure --prefix=/usr/local/nginx指定目錄會生成四個文件,我們也只需要輸入/usr/local/nginx/sbin/nginx來啟動nginx服務(wù)即可。

要驗證是否成功,可以輸入curl localhost來查看是否啟動成功。

生成鏡像

10. 將裝有nginx的centos容器打包為鏡像docker commit ba5ba0d81912 nginx_centos(ba5ba0d81912 為容器ID,重命名為nginx_centos)
11. 重新運行新的鏡像:docker run --name ver -d -p 8051:80 -it nginx_centos
12. 而此時的鏡像,則是有我們安裝好的nginx,我們就可以拿他開始為所欲為,做一些其他的騷操作了。

安裝python2.7環(huán)境

yum install gcc openssl-devel bzip2-devel

用 wget 下載 python 2.7 并解壓

yum -y install wget 

進入目錄 /usr/src 再用 wget 下載 python 2.7

cd /usr/src
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz

再解壓 python2.7

tar -zxvf Python-2.7.15.tgz

安裝 python 2.7

進入上面解壓的 Python-2.7.15 解壓文件中使用下面命令行安裝

cd Python-2.7.15
./configure --enable-optimizations
make altinstall

安裝 PIP

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python2.7 get-pip.py

因為版本為2.7,且requirements.txt里面有一個 MYSQL-python的庫,會報一個找不到libmysqlclient-dev的錯,執(zhí)行yum install mysql-devel即可解決。

安裝UWSGI

pip install uwsgi的時候會報一個錯:

plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory
#include <Python.h>


運行yum install python-devel.x86_64即可解決,并重新pip install即可下載。

配置uWSGI服務(wù)器

相關(guān)uwsgi.ini文件內(nèi)容如下:

[uwsgi]
socket = /tmp/uwsgi.sock
chown-socket = nginx:nginx
chmod-socket = 664
# Graceful shutdown on SIGTERM, see https://github.com/unbit/uwsgi/issues/849#issuecomment-118869386
hook-master-start = unix_signal:15 gracefully_kill_them_all

在項目目錄下/app/創(chuàng)建uwsgi.ini文件:

[uwsgi]

uwsgi-socket = /tmp/uwsgi.sock
chmod-socket = 777
callable = app
wsgi-file = main.py
buffer-size = 65535
processes = %(%k * 2)
threads = %(%k * 20

其中每個參數(shù)的意思:

uwsgi-socket:將uwsgi-socket這個配置項指定了一個文件,這個文件是Unix套接字,即通過文件系統(tǒng)
(而非網(wǎng)絡(luò)地址)進行尋址和訪問的套接字。配置uwsgi-socket之后,還需要配置chmod-socket,
Unix socket是個文件,所以會受到Unix系統(tǒng)的權(quán)限限制,可以配置成660或者777,
使得uwsgi客戶端能夠訪問這個Unix socket文件,這里配置為777。

callable:設(shè)置在收到請求時,uwsgi加載的模塊中哪個變量將被調(diào)用,默認是名字為“application”的變量。

wsgi-file:加載指定的wsgi文件。

buffer-size:設(shè)置用于uwsgi包解析的內(nèi)部緩存區(qū)大小。默認是4k。

processes和threads,分別是開啟的進程數(shù)和線程數(shù),而%k是魔數(shù)變量,代表CPU核數(shù),如果我們是雙核CPU,
那這里的processes和threads分別為4和40,即有4個進程,每個進程有40個線程。

安裝Supervisor(可選)

直接yum安裝會報一個No package supervisor available.的錯誤,那是因為CentOS是RedHat企業(yè)版編譯過來的,去掉了所有關(guān)于版權(quán)問題的東西。只需要執(zhí)行yum install epel-release即可解決。安裝好后會生成如下目錄:


現(xiàn)在我們將配置supervisor,使得supervisor監(jiān)聽nginx和uwsgi服務(wù)。

首先在/etc目錄下創(chuàng)建supervisor文件,然后創(chuàng)建supervisord.conf文件和conf.d目錄:


supervisord.conf目錄配置如下:

; supervisor config file

[unix_http_server]
file=/var/run/supervisor/supervisor.sock  ; (the path to the socket file)
chmod=0700            ; sockef file mode (default 0700)

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor      ; ('AUTO' child log dir, default $TEMP)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket

; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves.

[include]
files = /etc/supervisor/conf.d/*.conf

再在conf.d目錄下創(chuàng)建supervisord.conf文件并編輯:

[supervisord]
nodaemon=true

[program:uwsgi]
command=/usr/bin/uwsgi --ini /etc/uwsgi/uwsgi.ini --die-on-term --need-app
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:nginx]
command=/usr/local/nginx/sbin/nginx
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
# Graceful stop, see http://nginx.org/en/docs/control.html
stopsignal=QUIT

以上路徑均為實際目錄配置,如果有不一樣則需要更改。

然后將supervisor啟動:


以上配置弄好后,我們將容器重新打包生成一個新的鏡像,記為base_v3,我們寫一個打包docker應(yīng)用的Dockerfile:

FROM base_v3
 
# 創(chuàng)建工作路徑
RUN mkdir /app
 
# 指定容器啟動時執(zhí)行的命令都在app目錄下執(zhí)行
WORKDIR /app
 
# 替換nginx的配置
COPY nginx.conf /etc/nginx/nginx.conf
 
# 將本地app目錄下的內(nèi)容拷貝到容器的app目錄下
COPY ./app/ /app/

這里,在Dockerfile和app同級目錄下,再建立一個nginx.conf文件,并將nginx.conf內(nèi)容修改如下:

user nginx;
worker_processes 1;
error_log /usr/local/nginx/logs/error.log warn;
pid    /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 20480;


events {
 use epoll;
 worker_connections 20480;
 multi_accept on;
}


http {
  include    /usr/local/nginx/conf/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"';
  #請求量級大建議關(guān)閉acccess_log
  #access_log /var/log/nginx/access.log main;

  sendfile    on;
  #tcp_nopush   on;

  keepalive_timeout 300s;
  client_header_timeout 300s;
  client_body_timeout 300s;

  gzip on;
  gzip_min_length 1k;
  gzip_buffers 4 16k;
  gzip_types text/html application/javascript application/json;

  include /usr/local/nginx/conf.d/*.conf;

  server {
   listen 6666;
   charset utf-8;
   client_max_body_size 75M;
   location / {
    include uwsgi_params;
    uwsgi_pass unix:///tmp/uwsgi.sock;
    uwsgi_send_timeout 300;
    uwsgi_connect_timeout 300;
    uwsgi_read_timeout 300;
   }
  }
}

接下來只需要docker build -t new_project .docker run --name test -d -p 8055:6666 -v /root/web/mim_backend/data:/app/static -v /root/logs/mim_backend:/app/log -it new_project即可。
當(dāng)然,這個時候進去nginx和uwsgi沒有自動啟動,需要手動拉起來,如想自動拉起服務(wù),可選用supervisor或者在dockerfile里面加一個ENTRYPOINT nginx -g "daemon on;" && uwsgi --ini /app/uwsgi.ini

然后隨便跑一個接口測試:

到此這篇關(guān)于Docker構(gòu)建python Flask+ nginx+uwsgi容器的文章就介紹到這了,更多相關(guān)Docker構(gòu)建Flask+ nginx+uwsgi內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:齊齊哈爾 嘉興 運城 亳州 衡陽 烏海 拉薩 澳門

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker構(gòu)建python Flask+ nginx+uwsgi容器》,本文關(guān)鍵詞  Docker,構(gòu)建,python,Flask+,nginx+uwsgi,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker構(gòu)建python Flask+ nginx+uwsgi容器》相關(guān)的同類信息!
  • 本頁收集關(guān)于Docker構(gòu)建python Flask+ nginx+uwsgi容器的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲毛片亚洲毛片亚洲毛片| 日本高清网站| 国产成人午夜视频网址| 国产乱码精品一区二区三区不卡| 欧美精品在线第一页| 东方aⅴ免费观看久久av| 91超碰在线免费观看| 在线观看视频色潮| 女同一区二区免费aⅴ| 天堂中文在线视频| 超碰人人人人人人人| 免费成人深夜夜行视频| 国产成人亚洲精品无码h在线| 亚洲不卡系列| 飘雪影视在线观看免费观看| 青青草原av在线播放| 一道本无吗dⅴd在线播放一区| 欧美成人午夜精品免费| 中文av一区特黄| 99久久99久久精品| 99热这里只有精品1| 欧美精品在欧美一区二区少妇| 丰满湿润大白屁股bbw按摩| 国产欧美精品在线| 日韩高清影视在线观看| 欧美色图片你懂的| 久热国产在线| 国产精品福利在线| 亚洲av综合色区无码一区爱av| 999视频在线观看| 欧美成人中文| 国产精品99久久免费观看| 国产无遮挡免费视频| 欧美乱妇高清无乱码免费| 五月天婷婷色综合| 无码粉嫩虎白一线天在线观看| 欧美成人在线网站| 毛片毛片毛片毛| 免费日韩视频在线观看| 国产aⅴ精品一区二区三区黄| 欧美人交a欧美精品| 久久国产精品无码一级毛片| 国产精品久久久久久久久久东京| 亚洲一区二区三区无吗| 国产三级欧美三级| 久久久福利影院| 性视频一区二区三区| 国产精品日韩无码| 好吊日精品视频| 欧美精品激情blacked18| 一区二区三区四区五区精品| 亚洲精品国产美女| 国产精品三p一区二区| 日韩精品成人一区二区三区| 亚洲毛片一区二区| 欧美h在线观看| 国产经品一区二区| 精品国产31久久久久久| 日韩成人免费在线视频| 日本大胆欧美人术艺术动态| 国产精品人人爽人人做我的可爱| av免费看大片| 色先锋aa成人| 日本精品久久久久中文| 欧美色图片区| 神马伦理电影| 精品黑人一区二区三区国语馆| 夜夜揉揉日日人人青青一国产精品| 亚洲最大色网站| 欧美年轻男男videosbes| 欧美日韩综合高清一区二区| 天堂中文在线资源| 久久精品国产亚洲高清剧情介绍| 精品国产午夜肉伦伦影院| 丁香五六月婷婷久久激情| 国产综合在线视频| 日本一级一片免费视频| 国产拍揄自揄精品视频麻豆| 亚洲人成色777777老人头| 国产又大又长又粗| 国产精品女人久久久久久| 波多野结衣中文字幕一区二区三区| www成人免费观看| 欧美乱妇一区二区三区不卡视频| 偷拍自拍在线看| 无码人妻aⅴ一区二区三区69岛| jizz欧美激情18| 亚洲精品黄色| 我家有个日本女人| 欧美高清视频在线播放| 欧美美乳视频网站在线观看| 26uuu久久综合| 国产精品成人免费精品自在线观看| 亚洲av综合色区无码另类小说| 亚洲wwww| 国产日韩一区二区在线| 一道本视频在线观看| 日日夜夜精品视频免费| 久久免费精品国产| 妖精视频一区二区三区免费观看| 9999热视频在线观看| 真实国产乱子伦精品一区二区三区| 一区二区三区在线影院| 国产日韩精品在线| av网站免费在线看| 日本老太婆做爰视频| 69精品国产久热在线观看| 中文字幕人妻无码系列第三区| 亚洲女同另类| 日本在线免费| 欧美孕妇毛茸茸xxxx| 久久欧美肥婆一二区| 97caocao| 91 视频免费观看| 久草网站在线| 在线观看黄色av| av免费在线播放| 午夜福利一区二区三区| 欧美国产精品一二三| 美日韩在线视频| www.综合| 成人av网页| 国产精品1区二区.| 国产精品影片在线观看| 影音先锋在线亚洲| 国产精品成人a在线观看| 色综合久久久久综合一本到桃花网| 欧美另类videosbest视频| 欧美一级xxx| 久久福利一区二区| 欧美主播一区二区三区| 精品小视频在线| 夜夜嗨av色一区二区不卡| 国产精品免费看一区二区三区| 久久99久久98精品免观看软件| 精品一区二区三区中文字幕老牛| 国产91美女视频| 99久久99久久精品免费看蜜桃| 亚洲综合精品伊人久久| 精品国产乱码一区二区三区| 五月天视频一区| 一级成人免费视频| 一区二区三区日韩视频| 亚洲一区二区三区无码久久| 亚洲精品免费av| 生活片a∨在线观看| 成人在线观看黄色| 26uuu亚洲综合色欧美| 天天免费亚洲黑人免费| 四虎最新网站| 777a∨成人精品桃花网| 大胆亚洲人体视频| 首页国产精品| 国产一区二区三区视频免费观看| 久操网在线观看| 中文字幕大看焦在线看| 国产在线免费视频| 久久久久青草大香线综合精品| 三上悠亚免费在线观看| 黄色大片免费观看| www.日本久久久久com.| 亚洲欧美偷拍视频| 国产精品一香蕉国产线看观看| 99久热这里只有精品视频免费观看| 欧美成人激情视频| 成年人视频网站在线| 日本中文字幕中出在线| 日韩理论片av| 亚洲最新在线视频| 成人动漫在线一区| 黄色免费观看视频网站| 欧美精品性视频| 欧美激情欧美激情在线五月| 亚洲日韩欧美视频| 91破解版在线观看| 欧美极品xxxx| 99久re热视频精品98| 亚洲AV无码国产精品午夜字幕| 一色屋成人免费精品网| 国产成人一区二区三区免费看| 日韩欧美高清在线视频| 亚洲精品在线91| 国产精品高清在线| 911美女片黄在线观看游戏| 日精品一区二区| 不卡免费追剧大全电视剧网站| 欧美激情亚洲视频| 特黄特色免费视频| 日韩精品视频一区二区| 精品人妻一区二区三区日产| 国产一区二区毛片| 岛国精品一区二区三区| 刘亦菲国产毛片bd| 四虎884aa成人精品| 欧美成人高清在线| 成人欧美一区二区三区视频| 九九大香尹人视频免费| 国产一区二区三区四区五区在线| 成人精品国产| 一区二区三区四区国产精品| 91网在线播放| 2020国产精品| 国产精品嫩草视频| 成人免费网站入口| 一本一本大道香蕉久在线精品| 欧美日韩国产综合一区二区三区| 日韩一区视频在线| 亚洲男同性视频| 日韩美一区二区| 天堂аⅴ在线最新版在线| 中文字幕一区二区日韩精品绯色| 国产成人一区二区精品非洲| 十八禁视频网站在线观看| 少妇性bbb搡bbb爽爽爽欧美| 亚洲欧洲美洲一区二区三区| 一色桃子久久精品亚洲| 国产尤物在线播放| 欧美人与禽zozzo禽性配| 三上悠亚国产精品一区二区三区| www.99热这里只有精品| 蜜桃欧美视频| 免费看三级黄色片| 波多野结衣视频一区二区| 成人在线看片网站| 日韩欧美精品一区| 日本一区二区视频在线观看| 头脑特工队2免费完整版在线观看| 麻豆av资源| 91在线视频免费看| 久久久人成影片一区二区三区在哪下载| 免费看黄色片的网站| 欧美一区二区三区男人的天堂| 欧美区日韩区| 国产精品久久久视频| 欧美亚洲视频| 成年在线电影| 久久偷窥视频| 91高清视频在线| 亚洲aⅴ日韩av电影在线观看| 黄页网站在线观看视频| 亚洲欧美自拍另类日韩| 成片免费观看视频| 这里只有精品视频在线观看| 国产精品香蕉国产| 欧美色综合网站| 殴美一级黄色片| 精品国产乱码久久久久久鸭王1| 97精品国产福利一区二区三区| 中文字幕在线永久| www色aa色aawww| 1024成人网| 日韩一区二区三区电影在线观看| 亚洲大尺度视频| 亚洲影院色在线观看免费| 99久久精品一区二区三区| 激情小说亚洲一区| 日本aⅴ写真网站免费| 欧美日韩免费做爰大片| 91精品国产高清一区二区三密臀| 国产伦精品一区二区三区| 国产精品欧美精品| 四虎影视成人永久免费观看视频| 18成人免费观看网站下载| 欧美va久久久噜噜噜久久| 美女高潮在线观看| 欧美理论在线| 欧美韩日一区二区三区四区| 日本高清视频一区二区三区| 国产专区视频| 国产免费黄色| 亚洲成人激情自拍| 国产热re99久久6国产精品| 99久久精品免费看国产小宝寻花| 手机看片福利在线观看| 蜜桃视频在线观看播放| 亚洲国产精品二区| 国产精品一区久久久| 激情黄色小视频| 欧美午夜影院在线视频| 中文字幕一区在线播放| 日本黄色免费录像| 成人网视频在线观看| 国产精品sm调教免费专区| аⅴ资源天堂资源库在线| 欧美 日本 国产| 欧美一区二区三区小说| 91精品啪在线观看麻豆免费| 性感美女视频一二三| 欧美日韩成人免费视频| 久久精品一二三区| 日本一区二区三区免费看| 亚洲国产岛国毛片在线| 日韩精品分区| 中国人xxxxx69免费视频| 正在播放日韩欧美一页| 国产不卡精品一区二区三区| 视频一区二区三区在线看免费看| 国产一区视频在线| 毛片视频网站在线观看| 国产农村av| 国产精品网址在线| 日韩高清一二三区| 91国内精品久久| 青青草国产成人av片免费| 亚洲欧美日韩免费| 亚洲欧美在线免费观看| 国产91露脸合集magnet| 中文字幕国产视频| 午夜精品999| 日本午夜一本久久久综合| 日本在线观看视频| 中文字幕乱码av| 制服丝袜在线91| 2019精品视频| 桥本有菜av在线| 亚洲成人免费电影| 少妇搡bbbb搡bbb搡打电话| 国产在线第一页| 97国产真实伦对白精彩视频8| 亚洲美女炮图| 久久久久久久久久久久久夜| 亚洲欧洲日产国码无码久久99| 免费不卡亚洲欧美| 日韩欧亚中文在线| 精品久久免费看| 精品一区二区三区在线观看| 亚洲精品免费在线| 国产精品国模在线|