flask後台部署套路 三

2021-10-05 22:22:58 字數 2802 閱讀 5782

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...