zoukankan      html  css  js  c++  java
  • 一个简单的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 则部署成功

  • 相关阅读:
    Codeforces Round #717 (Div. 2)
    Codeforces Round #716 (Div. 2)
    atCoder Regular Contest 117
    Codeforces Round #715 (Div. 2)
    牛客挑战赛49
    从零开始搭建webpack应用
    扫盲:npm
    MYSQL安装
    Int和integer区别
    关于JDK配置以及DOS窗口执行指令
  • 原文地址:https://www.cnblogs.com/xushuhai/p/9544042.html
Copyright © 2011-2022 走看看