一個簡單的python web應用部署 nginx + uwsgi


一個簡單的python web應用部署 nginx + uwsgi

1.環境配置

(1) 所需環境

  操作系統:Mac os,linux

  python, web.py,uWSGI,uwsgitop,nginx

(2) 步驟

  安裝python,web.py

  安裝uWSGI:pip install uwsgi

  安裝uwsgitop:pip install uwsgitop (檢測uwsgi運行狀態)

  安裝nginx:pip install nginx

2.編寫python web 應用 app.py

(1) 代碼

# coding:utf-8
import web

urls = ('/', 'index')
app = web.application(urls, globals())

class index:
    def GET(self):
        greeting = "hello world"
        return greeting

application = app.wsgifunc()

if __name__ = "__main__":
    pass

2) 注意

  application = app.wsgifunc() 必不可少少, 它作為 wsgi 或 uwsgi 操作的handler , uwsgi 不會運行 __main__ 中的代碼

3. 配置uwsgi

1)編寫 app.ini 文件

[uwsgi]
socket = /Users/cityking/workspace/django/uwsgi.sock
wsgi-file = app.py
home = /Users/cityking/workspace/django/django_env/
master = true

注意

  確保是在 app.py 所在的文件目錄

  socket 確保與 nginx 配置中的 uwsgi_pass 一樣,/Users/cityking/workspace/django/uwsgi/ 為當前所在目錄

  Home 是運行環境所在的目錄

2) 啟動uwsgi

  uwsgi.ini

4. 配置nginx

1) 在復制系統配置文件 nginx.conf 文件

  cp /usr/local/etc/nginx.conf my_nginx.conf

  ln my_nginx.conf /usr/local/etc/nginx/my_nginx.conf

  修改 my_nginx.conf

server {
        listen        8080;
        server_name    localhost;
        location / {
                    include uwsgi_params;
                    uwsgi_pass
        unix:/Users/cityking/workspace/django/uwsgi/uwsgi.sock
         }
    }           

  Listen 為監聽端口,即瀏覽器所訪問的端口

  uwsig_pass 即 uwsgi 配置中的 socket 路徑

5. 在瀏覽器中訪問

  在瀏覽器中訪問 http://localhost:8080

  在網頁中顯示hello world 則部署成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM