项目上线最后工作——布署环境
生活随笔
收集整理的這篇文章主要介紹了
项目上线最后工作——布署环境
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 當項目開發完成后,需要將項目代碼放到服務器上,這個服務器擁有固定的IP,再通過域名綁定,就可以供其它人瀏覽,對于python web開發,可以使用wsgi、apache服務器,此處以wsgi為例進行布署
- 服務器首先是物理上的一臺性能高、線路全、運行穩定的機器,分為私有服務器、公有服務器
- 私有服務器:公司自己購買、自己維護,只布署自己的應用,可供公司內部或外網訪問,成本高,需要專業人員維護,適合大公司使用
- 公有服務器:集成好運營環境,銷售空間或主機,供其布署自己的應用,適合初創公司使用,成本低
- 常用的公有服務器,如阿里云、青云等,可按流量收費或按時間收費
- 服務器還需要安裝服務器軟件,此處需要uWSGI、Nginx
- 服務器架構如下圖
示例
- 布署前需要關閉調試、允許任何機器訪問,打開test6/settings.py文件
- 打開templates/booktest/index.html文件,修改如下
- 將圖片sg.png拷貝到static/img/目錄下
- 運行服務器,在瀏覽器中輸入如下網址
- 瀏覽效果如下圖,圖片是看不到的
搭建服務器虛擬環境
- 在本機進入虛擬環境,執行命令導出當前需要的所有包
- 通過ftp軟件將項目代碼和plist.txt文件上傳到服務器
- 創建虛擬環境,在虛擬環境上安裝包
WSGI
- 在生產環境中使用WSGI作為python web的服務器
- WSGI:全拼為Python Web Server Gateway Interface,Python Web服務器網關接口,是Python應用程序或框架和Web服務器之間的一種接口,被廣泛接受。WSGI沒有官方的實現, 因為WSGI更像一個協議,只要遵照這些協議,WSGI應用(Application)都可以在任何服務器(Server)上運行
- 項目默認會生成一個wsgi.py文件,確定了settings模塊、application對象
- application對象:在Python模塊中使用application對象與應用服務器交互
- settings模塊:用于進行項目配置
uWSGI
- uWSGI實現了WSGI的所有接口,是一個快速、自我修復、開發人員和系統管理員友好的服務器
- uWSGI代碼完全用C編寫,效率高、性能穩定
- 安裝uWSGI
- 配置uWSGI,在項目目錄下創建uwsgi.ini文件,配置如下
- 啟動
- 查看
- 效果如下圖
- 停止
- 在瀏覽器中輸入如下網址
- 瀏覽效果如下圖,圖片是看不到的
- 測試沒問題,將配置中啟用socket,禁用http
- 停止uwsgi服務,然后再啟動uwsgi
Nginx
- 使用nginx的作用主要包括負載均衡、反向代理
- 點擊查看官方網站
- 下載nginx后放到桌面上,解壓縮
- 進入nginx-1.6.3目錄,依次執行以下命令進行安裝
- 默認安裝到/usr/local/nginx/目錄,進入此目錄
- 啟動
- 查看進程
- 停止
- 打開瀏覽器,輸入如下網址
- 瀏覽效果如下圖
指向uwsgi項目
- 打開conf/nginx.conf文件
- 在server節點下添加新的location項,指向uwsgi的ip與端口
- 代碼效果如下圖
- 關閉nginx后再開啟
- 打開瀏覽器,刷新后如下圖
靜態文件
- 所有的靜態文件都會由nginx處理,不會將請求轉到uwsgi
- 打開conf/nginx.conf文件
- 在server節點下添加新的location項,用于處理靜態文件
- 在服務器上創建如下目錄
- 修改目錄權限
- 最終目錄結構如下圖:
- 修改test6/settings.py文件
- 收集所有靜態文件到static_root指定目錄
- 按提示輸入yes,收集文件
- 停止后再啟動nginx服務
- 在瀏覽器中刷新,瀏覽效果如下圖
- 布署完成
總結
以上是生活随笔為你收集整理的项目上线最后工作——布署环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC.NET字符指针与String的转换
- 下一篇: Requests: 让 HTTP 服务人