Flask專案部署到阿里雲伺服器注意事項總結

2021-09-29 18:03:07 字數 2290 閱讀 4466

個人嘮叨:

學習flask挺長時間了,最近終於狠下心來把個人部落格部署上線了。作為小白,之前對部署一無所知,連伺服器的概念都不懂,這是真的。部署期間真的是一言難盡,各種坑踩到底,一開始免費領了乙個月的伺服器,由於不會操作,按照教程的配置各種出錯,出錯不明白**錯,該怎麼解決,去搜尋,輸入一堆不理解的命令,有些有效,有些無效。結果python3.7還沒安裝好,之後不知道怎麼把伺服器弄得各種錯誤,於是好吧,重新買了乙個阿里雲伺服器,學生價9.5元乙個月。這次更慘,把python3.7安裝後竟然把預裝的python解除安裝了,恩額額,一輸入指令就是無許可權,換成root也沒辦法。最後又回歸第乙個伺服器。這次好了,把之前犯過的錯誤都搞熟了,對各種命令有比較熟悉了。一步一步最終總算是部署上線了。但是由於沒備案服務號,所以我買的9塊錢一年的網域名稱沒用上,雖然解析並繫結了**,但是登不上。因為阿里雲伺服器備案要續費3個月及以上,而我的學生優惠買的伺服器搞壞了,免費的伺服器續費3個月要一百七十多,作為乙個死窮鬼,並且備案還要等十幾天的審核,所以我放棄了,就這樣吧,ip登陸也行,反正是個人部落格,等什麼時候自己手又癢了不怕折騰了就再弄吧。

部署前更新程式配置,例如把要用到的環境變數加入到.env檔案中,程式新增隨機金鑰等

建立生產環境專用的程式例項,例如wsgi.py。手動匯入環境變數,python-dotenv。

設定遷移工具,資料遷移準備

程式日記必不可少,出錯時檢視錯誤原因

https**(可選)

開始部署

購買乙個遠端主機,例如阿里雲伺服器,24歲以下有學生優惠,便宜很多,新註冊使用者實名認證後可以免費使用乙個月。購買後記得配置安全規則,開放相關埠例如22,8000,9001等。特別是在後面訪問時頁面打不開,注意檢視有沒有開放埠。例如在最後使用supervisor管理程序時,如果打不開頁面注意有沒有開放9001埠。

購買網域名稱(可選但建議),可以直接在阿里雲購買,有貴的有便宜的,便宜的幾塊錢一年都有。

解析網域名稱。(可選但建議),購買網域名稱後需要解析網域名稱並繫結伺服器才能使用。在阿里雲購買的網域名稱直接按阿里雲教程解析就好了,很快的。繫結網域名稱的話在使用nginx處理反向**時,在nginx的配置檔案中新增解析後的網域名稱即可。

注意:購買阿里雲伺服器續費3個月及以上才能備案服務號,沒備案服務號的網域名稱即使解析並且繫結了伺服器也不能通過網域名稱訪問,只能ip訪問。備案服務號審核過程大概十幾二十天,挺麻煩的。

登陸遠端主機。如果你用windows系統,推薦用git bash連線遠端主機。

安裝基本庫和工具。阿里雲伺服器ubuntu16.04預裝了python2.7和python3.5。如果你要用python3.7,需要額外安裝。注意,不要解除安裝預裝的python,解除安裝後果很嚴重。安裝python3.7後,在伺服器中指定python3.7和python3.7版本的pip。在這裡需要用linux軟鏈結命令等。記住這裡要找乙個好的教程,很多教程誤導人。

新增安全防護措施。例如使用ssh金鑰登陸,這裡要注意金鑰儲存的資料夾,是在本地電腦生成金鑰對,然後儲存到遠端主機。如果想要關閉密碼登陸遠端主機,那就修改遠端主機的ssh配置檔案(目錄:/etc/ssh/sshd_config)

建議先學習以下linux常用命令。切換目錄,編輯檔案,新建檔案,查詢檔案,授權命令等。

推送**並初始化程式環境:先把**上傳到**託管平台,例如github。再從github複製懂遠端主機,在遠端主機 git clone github專案位址。

gunicorn執行程式。pipenv install gunicorn 。如果沒報錯挺簡單。好像我安裝的時候報錯,具體怎麼解決忘記了,挺麻煩的。

使用nginx提供反向**。安裝nginx很簡單,在配置nginx檔案時注意不要加錯靜態檔案路徑。配置nginx檔案時記住錯誤日記(error.log)的路徑,出錯了可以檢視錯誤原因。更新配置檔案後,先測試語法正確性:sudo nginx -t 。沒錯的話記得重啟nginx讓配置生效:sudo service nginx restart 。

使用supervisor管理程序。 安裝supervisor很簡單,安裝完記得檢驗是否安裝成功:supervisord --version ,如果出現版本號則安裝成功。supervisor的預設配置檔案路徑為: /etc/supervisord.conf 。如果自定義程式專案檔案,記得在/etc/supervisord.conf 檔案中的最下面把include配置的注釋去掉,並把自定義專案檔案路徑新增進去,網上很多教程將這個,注意點就不會錯了。更新配置後記得重啟服務使配置生效。如果想要開啟supervisor的web客戶端,記得在supervisor的預設配置檔案中新增inet_http_server配置,新增port,username,password,之後開放9001埠。這個簡單,網上教程講的很清楚。

專案部署到阿里雲Linux

1.ftp file transfer prptocol 我用的是xftp 是在linux伺服器上安裝這個ftp的 2.xshell直接操作linux客戶端,安裝刪除jdk tomcat,xshell等一系列操作 具體的操作步驟 1.先買伺服器 linux一些操作命令,在xshell上面用的 建立目...

Django專案部署到阿里雲伺服器(總結)

關閉防火牆 service firewalld stop乙個基於python的開源web框架,請確保自己熟悉它的框架目錄結構。python manage.py runserver 0.0.0.0 80 最後面的 這符號表示在後台執行該程序。這裡的ip位址如果用公網ip 會執行不了,而用0.0.0.0...

macOSX 部署flask專案到阿里雲詳細步驟

1.首先在pycharm 裡開啟命令列 輸入 pip freeze 把所有包名字拿到,然後複製到乙個txt檔案中即可。2.os x以及類linux 系統往往需要一些預設 一般是輸入 sudo su,linux 下可直接 su 然後輸入開機密碼 就可看到 sh 3.2 之類的狀態了,然後用vi etc...