一个简单的python web应用部署 nginx+uwsgi

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的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)修改/usr/local/etc/nginx/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就行

5.在浏览器中访问

  在浏览器中访问http://localhost:8080

  在网页中显示hello world 则部署成功

以上是关于一个简单的python web应用部署 nginx+uwsgi的主要内容,如果未能解决你的问题,请参考以下文章

最简单的nginx教程 - 如何把一个web应用部署到nginx上

项目部署

python web 部署:nginx + gunicorn + supervisor + flask 部署笔记

python web 部署:nginx + gunicorn + supervisor + flask 部署笔记

部署一个基于python语言的web发布环境

Flask web应用