from myflask:1.0
run pip install gunicorn
cmd gunicorn -w 2 -b 0.0.0.0:5000 $start_param
上節課我們寫好的做好的容器,大部分的啟動引數是寫死的包括我們的啟動程序數 埠號這些,這次我們通過配置檔案的方式,來把這些引數做乙個引數化。先來看乙個簡單的配置檔案的檔案內容
(配置連線)[
workers = 2
bind='0.0.0.0:5001'
timeot=60
daemon = true
accesslog='./access.log'
errorlog='./error.log'
做乙個解釋
1行 程序數 2行 繫結的ip和埠 3行超時時間 4 是否以後臺還是前台執行 5 日誌
6 錯誤日誌
5-6兩個檔案一般也要對映到外部目錄
退出到根目錄
cd ..
建立乙個gunicorn.conf檔案
vi gunicorn.conf
寫入內容
workers = 2
bind='0.0.0.0:5001'
timeot=60
daemon = true
accesslog='./access.log'
errorlog='./error.log'
ps: 插入冷知識
ps -ef | grep gunicorn
1 root 0:00 /bin/sh -c gunicorn -w 2 -b 0.0.0.0:5000 $start_param
23 root 0:00 grep gunicorn
再次檢視程序
ps -ef | grep gunicorn
1 root 0:00 /bin/sh -c gunicorn -w 2 -b 0.0.0.0:5000 $start_param
34 root 0:00 grep gunicorn
可以看出來直接就執行了並且出了乙個主程序,並且派生了另外兩個子程序。
先kill掉這個主程序
kill 28
接下來想要容器啟動時候就能接受自定義的引數
寫乙個指令碼內容如下(這是拓展知識)
#!/bin/sh
echo $*
這是乙個簡單的指令碼,可以用了輸出執行指令碼時所有的引數
7.來到根目錄下,建立乙個test檔案
vi test
#!/bin/sh
echo $*
8.給這個test檔案加乙個可執行的許可權
chmod +x test
注意加完之後檔案的檔名會變成綠色
9. 現在來做個實驗,輸入
./test -a abc -b xiong -p root
如果我們現在這份指令碼是
#!/bin/sh
gunicorn $*
這樣我們就可以直接通過指令碼來啟動
ctrl+d
在~
目錄下
mkdir conf
進入conf
cd conf
建立乙個配置檔案
vi gunicorn.conf
workers = 1
bind='0.0.0.0:5001'
timeot=60
accesslog='./access.log'
errorlog='./error.log'
刪除掉daemon = true,讓他前台執行,否則容器到時候會關閉
4. 退出
cd ..
在~
目錄下
mkdir flask1.2
且進入
6. 建立兩個檔案 第乙個startup.sh
#!/bin/sh
gunicorn $*
建立dockerfile
from myflask:1.1
copy ./startup.sh /
run chmod +x /startup.sh
entrypoint ["/startup.sh"]
2行把當前目錄下的startup.sh
拷貝到/
目錄下 3行 設定可執行許可權 4行
這是時候我們執行docker run abc
後面接任何的命令都會在這些命令的前面補上/startup.sh
,還搞不懂的反覆看看上文的測試環境下的實驗
8. 構建映象
docker build -t myflask:1.2 .
開始啟動
特別注意 指令裡面同樣的命令是可以覆蓋配置檔案的
vue nodejs mongodb後台部署
準備工作 買好阿里雲伺服器。前端 使用npm run build生成dist 在伺服器中安裝好mongodb和nginx 使用yum還是wget,各位自己斟酌,有乙個工具叫寶塔面板可以視覺化安裝工具 使用xftp或者winscp將 複製到伺服器中,將後端 在伺服器跑起來。node版本過低可能會導致錯...
gunicorn 部署 flask 應用
一般比較習慣使用uwsgi進行部署django,flask應用。但,有時受許可權限制,無法安裝uwsgi,所以就使用gunicorn進行部署。之前使用python3的使用,發現 supervisor是不支援。所以就不打算用supervisor了。純粹介紹gunicorn 簡單部署方法,完整流程。環境...
使用gunicorn部署Flask
gunicorn是乙個python wsgi的web服務框架,只支援在unix系統上執行,於ruby的unicorn專案。gunicorn使用prefork master worker模型,能夠與各種wsgi web框架協作。gunicorn安裝非常簡單,使用命令pip install guncor...