日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

怎么抓python程序的包_如何在AWS上部署python应用程序

發布時間:2024/8/23 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么抓python程序的包_如何在AWS上部署python应用程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何在AWS上部署python應用程序,學姐嘔心瀝血親自總結,親測有效,比網上看網上大把大把的文檔要快得多!

作者:蕾學姐

亞馬遜云計算服務(Amazon Web Services,縮寫為AWS),由亞馬遜公司所創建的云計算平臺,提供許多遠程Web服務。Amazon EC2與Amazon S3都架構在這個平臺上。

相比于IBM的ibmcloud和微軟的azure cloud,學姐我認為aws的部署會稍微復雜一些,但是沒有關系,只要前期環境配的好,后期應用程序部署到云上完全不是問題。下面就講講怎么將你本地的應用程序部署到云上。

一、創建您的第一個 IAM 管理員用戶和組

此過程將介紹如何使用 AWS 管理控制臺 自行創建 IAM 用戶,并將該用戶添加到具有已附加托管策略中的管理權限的組。

自行創建管理員用戶并將該用戶添加到管理員組(控制臺)

  • 使用 AWS 賬戶電子郵件地址和密碼,以 AWS 賬戶根用戶 身份登錄到 IAM 控制臺 (https://console.aws.amazon.com/iam/)。
  • 注意:強烈建議您遵守以下使用 Administrator IAM 用戶的最佳實踐,妥善保存根用戶憑證。只在執行少數賬戶和服務管理任務時才作為根用戶登錄。

  • 在導航窗格中,選擇 Users (用戶),然后選擇Add user (添加用戶)。
  • 對于 User name,鍵入 Administrator。
  • 選中 AWS 管理控制臺 access (AWS 管理控制臺訪問) 旁邊的復選框,選擇 Custom password (自定義密碼),然后在文本框中鍵入新密碼。默認情況下,AWS 將強制新用戶在首次登錄時創建新密碼。您可以選擇清除 User must create a new password at next sign-in (用戶必須在下次登錄時創建新密碼) 旁邊的復選框,以允許新用戶在登錄后重置其密碼。
  • 選擇 Next: Permissions (下一步: 權限)。
  • 在設置權限頁面上,選擇將用戶添加到組。
  • 選擇 Create group。
  • 在 Create group (創建組) 對話框中,對于 Group name (組名稱),鍵入 Administrators。
  • 選擇 Policy Type (策略類型),然后選擇 Job function (作業功能) 以篩選表內容。
  • 在策略列表中,選中 AdministratorAccess 的復選框。然后選擇 Create group。
  • 注意:您必須先激活 IAM 用戶和角色對賬單的訪問權限,然后才能使用 AdministratorAccess 權限訪問 AWS Billing and Cost Management 控制臺。為此,請按照“向賬單控制臺委派訪問權限”教程:第 1 步中的說明進行操作。

  • 返回到組列表中,選中您的新組所對應的復選框。如有必要,選擇 Refresh 以在列表中查看該組。
  • 選擇 Next: Tagging (下一步: 標記)。
  • (可選)通過以鍵值對的形式附加標簽來向用戶添加元數據。有關在 IAM 中使用標簽的更多信息,請參閱 標記 IAM 實體。
  • 選擇 Next: Review 以查看要添加到新用戶的組成員資格的列表。如果您已準備好繼續,請選擇 Create user。
  • 選擇新建的用戶,點擊下載 .CSV文件,里面有你的用戶id和秘鑰,后面會用到。
  • 您可使用此相同的流程創建更多的組和用戶,并允許您的用戶訪問 AWS 賬戶資源。

    二、在Python中安裝一個叫awsebcli的庫:

    1、按路徑尋找“Pycharm-preferences-project interpreter”然后點擊左下角 ‘+’ 添加你要的庫:

    2、搜索“awsebcli”,右下角點擊安裝,顯示“安裝成功”后,返回,點擊“OK”退出

    三、通過 Flask 設置 Python 虛擬環境

    為應用程序創建項目目錄和虛擬環境并安裝 Flask(如果你已經有代碼,可以跳過這一步)

    1、設置項目環境

  • 創建項目目錄。
  • ~$ mkdir eb-flask ~$ cd eb-flask
  • 創建和激活名為 virt 的虛擬環境:
  • ~/eb-flask$ virtualenv virt ~$ source virt/bin/activate (virt) ~/eb-flask$

    您將看到您的命令提示符前面帶有 (virt),表明您在虛擬環境中。在本教程的其余部分中使用虛擬環境。

  • 使用 pip install 安裝 Flask:
  • (virt)~/eb-flask$ pip install flask==1.0.2
  • 使用 pip freeze 查看已安裝的庫:
  • (virt)~/eb-flask$ pip freeze click==6.7 Flask==1.0.2 itsdangerous==0.24 Jinja2==2.10 MarkupSafe==1.0 Werkzeug==0.14.1

    此命令列出虛擬環境中已安裝的所有程序包。由于您在虛擬環境中,因此不會顯示全局安裝的程序包,例如 EB CLI。

  • 將來自 pip freeze 的輸出保存到名為 requirements.txt 的文件中。
  • (virt)~/eb-flask$ pip freeze > requirements.txt

    在部署期間,此文件將指示 Elastic Beanstalk 安裝庫。有關更多信息,請參閱 要求文件。

    創建 Flask 應用程序

    接下來,創建您將使用 Elastic Beanstalk 部署的應用程序。我們會創建一個“Hello World”RESTful Web 服務。

    在此目錄中創建名為 application.py 的新文本文件,包含以下內容:

    例 ~/eb-flask/application.py,里面的代碼如下:

    from flask import Flask # print a nice greeting. def say_hello(username = "World"):return '<p>Hello %s!</p>n' % username # some bits of text for the page. header_text = '''<html>n<head> <title>EB Flask Test</title> </head>n<body>''' instructions = '''<p><em>Hint</em>: This is a RESTful web service! Append a usernameto the URL (for example: <code>/Thelonious</code>) to say hello tosomeone specific.</p>n''' home_link = '<p><a href="/">Back</a></p>n' footer_text = '</body>n</html>'# EB looks for an 'application' callable by default. application = Flask(__name__)# add a rule for the index page. application.add_url_rule('/', 'index', (lambda: header_text +say_hello() + instructions + footer_text))# add a rule when the page is accessed with a name appended to the site # URL. application.add_url_rule('/<username>', 'hello', (lambda username:header_text + say_hello(username) + home_link + footer_text))# run the app. if __name__ == "__main__":# Setting debug to True enables debug output. This line should be# removed before deploying a production app.application.debug = Trueapplication.run()

    本示例輸出根據訪問服務所使用的路徑而變化的自定義問候語。

    四、創建環境和部署 Flask 應用程序(重點!!)

  • 使用 eb init 命令,初始化 EB CLI 存儲庫:
  • ~/eb-flask$ eb init -p python-3.6 flask-tutorial --region us-east-2

    Application flask-tutorial has been created.

    此命令創建名為 flask-tutorial 的新應用程序,并配置本地存儲庫,以最新的 Python 3.6 平臺版本創建環境。

    2、此時會出現讓你輸入用戶名id和密碼,把之前那個csv文件里面的id密碼輸入就可以。

    3、使用 eb create 創建環境并將應用程序部署到此環境中:

    ~/eb-flask$ eb create flask-env

    環境創建大約需要 5 分鐘,將創建以下資源:

    • EC2 實例 – 配置來在您選擇的平臺上運行 Web 應用程序的 Amazon Elastic Compute Cloud (Amazon EC2) 虛擬機。

    各平臺運行一組特定軟件、配置文件和腳本以支持特定的語言版本、框架、Web 容器或其組合。大多數平臺使用 Apache 或 nginx 作為 Web 應用程序前的反向代理,向其轉發請求、提供靜態資產以及生成訪問和錯誤日志。

    • 實例安全組 – 配置來允許通過端口 80 訪問的 Amazon EC2 安全組。通過此資源,HTTP 流量可以從負載均衡器到達運行您的 Web 應用程序的 EC2 實例。默認情況下,其他端口不允許流量進入。
    • 負載均衡器 – 配置來向運行您的應用程序的實例分配請求的 Elastic Load Balancing 負載均衡器。負載均衡器還使您無需將實例直接公開在 Internet 上。
    • 安全組 – 配置來允許通過端口 80 訪問的 Amazon EC2 安全組。利用此資源,HTTP 流量可從 Internet 到達負載均衡器。默認情況下,其他端口不允許流量進入。
    • Auto Scaling 組 – 配置來在實例終止或不可用時替換實例的 Auto Scaling 組。
    • Amazon S3 存儲桶 – 使用 Elastic Beanstalk 時創建的源代碼、日志和其他項目的存儲位置。
    • Amazon CloudWatch 警報 – 用于監控環境實例負載的兩個 CloudWatch 警報,在負載過高或過低時觸發。警報觸發后,您的 Auto Scaling 組會擴展或收縮進行響應。
    • AWS CloudFormation 堆棧 – Elastic Beanstalk 使用 AWS CloudFormation 啟動您的環境中的資源并傳播配置更改。這些資源在您可通過 AWS CloudFormation 控制臺查看的模板中定義。
    • 域名 – 一個域名,它以下面的形式路由到您的 Web 應用程序:subdomain.region.http://elasticbeanstalk.com。

    所有這些資源均由 Elastic Beanstalk 管理。當您終止環境時,Elastic Beanstalk 會終止其包含的所有資源。

    注意:Elastic Beanstalk 創建的 Amazon S3 存儲桶將在多個環境之間共享并且在環境終止期間不會被刪除。有關更多信息,請參閱 將 Elastic Beanstalk 用于 Amazon S3。

    當環境創建過程完成時,請使用 eb open 打開網站:

    ~/eb-flask$ eb open

    這將使用為應用程序創建的域名打開一個瀏覽器窗口。您應該看到在本地創建和測試的相同 Flask 網站。

    如果您沒有看到應用程序運行,或者出現錯誤消息,請查看排查部署問題以獲取有關如何確定錯誤原因的幫助。

    如果您確實 看到應用程序在運行,那么恭喜,您已使用 Elastic Beanstalk 部署了第一個 Flask 應用程序!

    清除

    Elastic Beanstalk 使用完畢時,您可以終止您的環境。Elastic Beanstalk 會終止與環境關聯的所有 AWS 資源,例如 Amazon EC2 實例、數據庫實例、負載均衡器、安全組和警報。

    終止 Elastic Beanstalk 環境

  • 打開 Elastic Beanstalk 控制臺。
  • 導航到您的環境的管理頁。
  • 選擇操作,然后選擇終止環境。
  • 在 Confirm Termination (確認終止) 對話框中,鍵入環境名稱,然后選擇 Terminate (終止)。
  • 利用 Elastic Beanstalk,可以隨時為您的應用程序輕松創建新環境。

    或者,使用 EB CLI:

    ~/eb-flask$ eb terminate flask-env

    總結

    以上是生活随笔為你收集整理的怎么抓python程序的包_如何在AWS上部署python应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。