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


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

1.環境配置

1)所需環境

  操作系統 Mac os

  python3.6,web.py 0.40, uWSGI 2.0.15, uwsgitop 0.10, nginx 1.10.3

2)步驟

  安裝python3.6 —略

  安裝web.py

    easy_install web.py(推薦)

    pip install web.py

    如果報錯 可能還需安裝utils db

      pip install utils

      pip install db

  安裝uWSGI

    pip install uwsgi

  安裝uwsgitop

    uwsgitop作用:監測uwsgi運行狀態   

    pip install uwsgitop

  安裝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/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 app.ini

4.配置nginx

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

  cp /usr/local/etc/nginx/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為監聽端口,即瀏覽器所訪問的端口

  uwsgi_pass 即uwsgi配置中的socket路徑

2)啟動nginx

  nginx -c /usr/local/etc/nginx/my_nginx.conf

5.在瀏覽器中訪問

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

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


免責聲明!

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



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