Python應用部署指南

Python隨著機器學習的東風越來越火了,名副其實的萬能語言奇唤,web開發(fā)是Python其中一項應用,這個系列來自《Full stack?python?guide to deployments》南誊,為大家?guī)鞵ython應用部署的最佳實踐了罪。

下面這幅圖顯示了我們Python應用的整體抽象架構(gòu),

整體抽象架構(gòu)圖

而這幅圖顯示了每個組件的具體實現(xiàn)利花,比如web server服務(wù)器我們用的就是Nginx科侈,最流行的現(xiàn)代Http服務(wù)器。

具體實現(xiàn)

這個系列的特點是先帶大家熟悉手動的操作炒事,再通過fabric和Ansible自動化所有的任務(wù)臀栈。Github地址:

https://github.com/mattmakai/fsp-deployment-guide。將要部署的App的代碼地址:https://github.com/mattmakai/choose-your-own-adventure-presentations挠乳。

第一章 服務(wù)器

我們開發(fā)的應用必須部署在生產(chǎn)環(huán)境的服務(wù)器上权薯,而不是你的開發(fā)筆記本,本章我們將使用VPS部署應用睡扬,你可以使用Linode或者阿里云盟蚣。你需要申請購買安裝了Ubuntu 14.04 LTS系統(tǒng)的虛擬服務(wù)器。

創(chuàng)建公鑰和私鑰:

mkdir -p fsp-deployment-guide/ssh_keys

cd fsp-deployment-guide/ssh_keys

ssh-keygen -t rsa -b 2048

當提示在哪存儲公鑰對時卖怜,輸入./prod_key

之后你有了2個新文件屎开,公鑰prod_key.pub,私鑰prod_key

cp prod_key.pub authorized_keys

接下來啟動服務(wù)器马靠,通過ssh root@{ip.address.here}連接到你的服務(wù)器奄抽,登錄服務(wù)器第一件事蔼两,對系統(tǒng)包管理進行更新:

apt-get update

apt-get upgrade

打開/etc/ssh/sshd_config文件,

將#PasswordAuthentication yes改為PasswordAuthentication no如孝,UsePAM yes改為UsePAM no宪哩,這樣服務(wù)器不能通過密碼登錄。

#PermitRootLogin yes改為PermitRootLogin no第晰,root用戶不能登錄锁孟。

現(xiàn)在我們用創(chuàng)建非root用戶組合用戶,把用戶加入用戶組并且設(shè)置密碼:

/usr/sbin/groupadd deployers

mv /etc/sudoers /etc/sudoers-backup

(cat /etc/sudoers-backup ; echo "%deployers ALL=(ALL) ALL") > /etc/sudoers

chmod 0440 /etc/sudoers

/usr/sbin/useradd -c "Matt Makai" -m -g deployers deployer

/usr/bin/passwd deployer

/usr/sbin/usermod -a -G deployers deployer

mkdir /home/deployer/.ssh

chown -R deployer /home/deployer/.ssh

chgrp -R deployers /home/deployer/.ssh茁瘦。

這一切都是在第一個root登錄的shell中完成的品抽,現(xiàn)在先別斷開這個root連接,還需要上傳key:

scp prod_key.pub authorized_keys deployer@{your.server.ip.address}:~/.ssh

接著重啟ssh服務(wù):

service ssh reload

現(xiàn)在我們不用輸入密碼甜熔,可以直接用公鑰登錄服務(wù)器啦

ssh -i ./prod_key deployer@{your.server.ip.address}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末圆恤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子腔稀,更是在濱河造成了極大的恐慌盆昙,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焊虏,死亡現(xiàn)場離奇詭異淡喜,居然都是意外死亡,警方通過查閱死者的電腦和手機诵闭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門炼团,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人疏尿,你說我怎么就攤上這事瘟芝。” “怎么了褥琐?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵锌俱,是天一觀的道長。 經(jīng)常有香客問我敌呈,道長嚼鹉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任驱富,我火速辦了婚禮锚赤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘褐鸥。我一直安慰自己线脚,他們只是感情好,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著浑侥,像睡著了一般姊舵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寓落,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天括丁,我揣著相機與錄音,去河邊找鬼伶选。 笑死史飞,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的仰税。 我是一名探鬼主播构资,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼陨簇!你這毒婦竟也來了吐绵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤河绽,失蹤者是張志新(化名)和其女友劉穎己单,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體耙饰,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡纹笼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了榔幸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡矮嫉,死狀恐怖削咆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蠢笋,我是刑警寧澤拨齐,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站昨寞,受9級特大地震影響瞻惋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜援岩,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一歼狼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧享怀,春花似錦羽峰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽值纱。三九已至,卻和暖如春坯汤,著一層夾襖步出監(jiān)牢的瞬間虐唠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工惰聂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疆偿,地道東北人。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓庶近,卻偏偏與公主長得像翁脆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鼻种,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理反番,服務(wù)發(fā)現(xiàn),斷路器叉钥,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 1.Linux安裝前的配置 1.1.關(guān)閉防火墻 本站文檔是假定「服務(wù)器在防火墻以內(nèi)」的前提下編纂的罢缸,在這個前提下...
    lao男孩閱讀 3,313評論 0 4
  • 近期在linux上搭建了用于分布式存儲的----GlusterFS和Ceph這兩個開源的分布式文件系統(tǒng)。 前言--...
    ZNB_天玄閱讀 2,775評論 0 0
  • SSH 為 Secure Shell 的縮寫投队,由 IETF 的網(wǎng)絡(luò)小組(Network Working Group...
    shuff1e閱讀 1,765評論 1 11
  • CA和證書安全協(xié)議(SSL/TLS)OpenSSH 一枫疆、CA和證書 (一) PKI(Public Key Infr...
    哈嘍別樣閱讀 1,385評論 0 0