摘要:基于部署項(xiàng)目源代碼最近云服務(wù)提供商在打價(jià)格戰(zhàn)我在滴滴云上花了很少的錢租了一個(gè)月的云服務(wù)器公網(wǎng)是以下我以這個(gè)為演示當(dāng)你自己在部署的時(shí)候請(qǐng)換乘自己的地址買完服務(wù)器之后你會(huì)得到一個(gè)公網(wǎng)你可以通過命令連接上你的服務(wù)器順便提一句滴滴云給你創(chuàng)建的
基于docker+gunicorn部署sanic項(xiàng)目
源代碼: https://github.com/ltoddy/Python-useful/tree/master/sanic-app
最近云服務(wù)提供商在打價(jià)格戰(zhàn),我在滴滴云上花了很少的錢租了一個(gè)月的云服務(wù)器:
公網(wǎng)ip是: 116.85.42.182, 以下我以116.85.42.182這個(gè)ip為演示,當(dāng)你自己在部署的時(shí)候請(qǐng)換乘自己的ip地址.
買完服務(wù)器之后,你會(huì)得到一個(gè)公網(wǎng)ip,你可以通過ssh命令連接上你的服務(wù)器.
ssh dc2-user@116.85.42.182
順便提一句,滴滴云給你創(chuàng)建的賬戶叫"dc2-user",你需要自己設(shè)置root的密碼.
然后安裝docker:
sudo apt-get install docker.io演示一個(gè)最小的sanic-app,來部署一下.
這是項(xiàng)目樹(目錄).
. ├── app.py ├── Dockerfile └── templates └── index.html 1 directory, 3 files
app.py
import os from sanic import Sanic from sanic.response import html from sanic.response import HTTPResponse from jinja2 import Environment, FileSystemLoader app = Sanic(__name__) base_dir = os.path.abspath(os.path.dirname(__name__)) templates_dir = os.path.join(base_dir, "templates") jinja_env = Environment(loader=FileSystemLoader(templates_dir), autoescape=True) def render_template(template_name: str, **context) -> str: template = jinja_env.get_template(template_name) return template.render(**context) @app.route("/") async def index(request) -> HTTPResponse: return html(render_template("index.html"))
這里的python代碼,用到了sanic框架和jinja2木板引擎,所以帶會(huì)需要安裝這兩個(gè)依賴.
Dockerfile
FROM taoliu/gunicorn3 WORKDIR /code ADD . /code RUN pip install sanic && pip install jinja2 EXPOSE 8080 CMD gunicorn app:app --bind 0.0.0.0:8080 --worker-class sanic.worker.GunicornWorker
第一行那里"FROM taoliu/gunicorn3",由于沒找到合適的Python3的gunicorn的基礎(chǔ)鏡像,所以我自己做了一個(gè),方便所有人使用.
RUN pip install sanic && pip install jinja2 這里,來安裝那兩個(gè)依賴.
CMD gunicorn app:app --bind 0.0.0.0:8080 --worker-class sanic.worker.GunicornWorker 這行,是鏡像運(yùn)行他所以執(zhí)行的命令.
templates/index.html
ltoddy"s home Welcome
然后把這些文件傳到服務(wù)器上:
scp -r * dc2-user@116.85.42.182:~
然后ssh連上我們的服務(wù)器,去構(gòu)建我們的docker鏡像(這個(gè)過程有些漫長(zhǎng),具體看網(wǎng)速.)
docker build -t sanic-demo .
docker images
來查看一下當(dāng)前擁有的鏡像
然后后臺(tái)運(yùn)行docker鏡像:
docker run -d --restart=always -p 5000:8080 sanic-demo:latest
這時(shí)候打開瀏覽器輸入: 116.85.42.182:5000 來看看效果吧.
最后說明一點(diǎn),去滴滴云那里的防火墻規(guī)則那里,添加5000端口的規(guī)則.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/41512.html
摘要:基于部署項(xiàng)目源代碼最近云服務(wù)提供商在打價(jià)格戰(zhàn)我在滴滴云上花了很少的錢租了一個(gè)月的云服務(wù)器公網(wǎng)是以下我以這個(gè)為演示當(dāng)你自己在部署的時(shí)候請(qǐng)換乘自己的地址買完服務(wù)器之后你會(huì)得到一個(gè)公網(wǎng)你可以通過命令連接上你的服務(wù)器順便提一句滴滴云給你創(chuàng)建的 基于docker+gunicorn部署sanic項(xiàng)目 源代碼: https://github.com/ltoddy/Python-useful/tree...
摘要:簡(jiǎn)介是一款用寫的,用法和類似,的特點(diǎn)是非常快官網(wǎng)速度比較框架實(shí)現(xiàn)基礎(chǔ)每秒請(qǐng)求數(shù)平均時(shí)間安裝環(huán)境創(chuàng)建文件,寫入下面的內(nèi)容運(yùn)行是不是看起來和一樣屬性上傳文件列表數(shù)據(jù)數(shù)據(jù)表單數(shù)據(jù)例子路由和差不多,一看就懂注冊(cè)中間件異常處 簡(jiǎn)介 sanic是一款用python3.5+寫的web framework,用法和flask類似,sanic的特點(diǎn)是非常快github官網(wǎng):https://github.c...
摘要:實(shí)例實(shí)例測(cè)試結(jié)果增加路由實(shí)例測(cè)試結(jié)果提供了一個(gè)方法,根據(jù)處理程序方法名生成。異常拋出異常要拋出異常,只需從異常模塊中提出相應(yīng)的異常。 typora-copy-images-to: ipic [TOC] 快速開始 在安裝Sanic之前,讓我們一起來看看Python在支持異步的過程中,都經(jīng)歷了哪些比較重大的更新。 首先是Python3.4版本引入了asyncio,這讓Python有了支...
摘要:詳細(xì)信息可以看下這個(gè)問題先在說下我的部署方式使用部署配置文件啟動(dòng)方式總結(jié)試用了下,把之前的一個(gè)聊天機(jī)器人從改成了。預(yù)告下一篇將介紹如何使用一步一步創(chuàng)建一個(gè)聊天機(jī)器人。 簡(jiǎn)介 Sanic 是一個(gè)和類Flask 的基于Python3.5+的web框架,它編寫的代碼速度特別快。除了像Flask 以外,Sanic 還支持以異步請(qǐng)求的方式處理請(qǐng)求。這意味著你可以使用新的 async/await ...
摘要:作者麥冬白鯨魚是什么入門教程容器是與系統(tǒng)其他部分隔離開的一系列進(jìn)程,運(yùn)行這些進(jìn)程所需的所有文件都由另一個(gè)鏡像提供,從開發(fā)到測(cè)試再到生產(chǎn)的整個(gè)過程中,容器都具有可移植性和一致性。快速容器的啟動(dòng)和創(chuàng)建無需啟動(dòng),可以實(shí)現(xiàn)秒級(jí)甚至毫秒級(jí)的啟動(dòng)。 作者: 麥冬 白鯨魚 docker 是什么 Docker 入門教程 Docker容器是與系統(tǒng)其他部分隔離開的一系列進(jìn)程,運(yùn)行這些進(jìn)程所需的所有文件都由...
閱讀 2130·2021-11-18 10:07
閱讀 3507·2021-09-04 16:48
閱讀 3214·2019-08-30 15:53
閱讀 1235·2019-08-30 12:55
閱讀 2453·2019-08-29 15:08
閱讀 3149·2019-08-29 15:04
閱讀 2879·2019-08-29 14:21
閱讀 2906·2019-08-29 11:21