一个简单的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 则部署成功

posted @ 2018-08-27 18:38  木叶苍蓝  阅读(2772)  评论(0编辑  收藏  举报