美文网首页测试开发
Api_web.py/nginx/uwsgi 部署

Api_web.py/nginx/uwsgi 部署

作者: 古佛青灯度流年 | 来源:发表于2016-11-26 18:38 被阅读82次
    • 准备:

    1.web.py :强大且简单
    2.nginx:简易使用说明
    3.uwsgi:中文版说明

    • 安装:

      • web.py

    pip install web.py

      - nginx
     [安装](http://www.jianshu.com/p/b8c5e9bd57f9)
     [nginx配置教程](http://www.jianshu.com/p/b493dc895176)
      - uwsgi:
    

    pip install uwsgi

    - # 配置:
    `webapp.py`
    

    import web
    urls = (
    '/', 'index'
    )
    app = web.application(urls, globals())
    application = app.wsgifunc()
    class index:
    def GET(self):
    return "Hello, world!"
    if name == "main":
    app.run()

     ` nginx` 新建server:
     - nginx 默认路径:`/usr/local/etc/nginx`
    - 修改`nginx.conf`
    

    别的地方不用动,只要修改http模块就行

    http {
    include app/*; # 添加这一行
    include mime.types;
    default_type application/octet-stream;

    - 设置server 路径:`/usr/local/etc/nginx/app/`
    - 新建文件:`at.test.cc.conf`   配置如下
    

    server {
    listen 80;
    server_name at.test.cc;# 自定义的域名,别忘了配置hosts ;
    location /{
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:9090;
    # UWSGI_CHDIR 后面跟的是.py 文件在你本地的绝对路径
    uwsgi_param UWSGI_CHDIR /Users/xcma/code/god_wph/Src/Webapp;
    uwsgi_param UWSGI_SCRIPT webapp; # webapp为你要执行的.py 文件
    }
    location /static {
    alias /home/notice/web/static;
    autoindex on;
    }
    }

    `uwsgi`注意
    如果使用uwsgi做代理 ,那么在代码中必须添加下面的一行,另外这行代码一定不要放在
    `if __name__ == "__main__":    app.run()`后面:
    

    application = app.wsgifunc()

    uWSGI启动参数:
    uwsgi --socket 127.0.0.1:9090 \ # 监听在指定端口
    --wsgi-file hello.py \ # 部署的web应用
    --master --processes 2 \ # 创建两个worker进程处理请求
    --daemonize /var/log/uwsgi.log \ # 后台运行uWSGI,并把日志输出到指定文件
    --pidfile /var/log/uwsgi.pid # pid文件

    
    - # 启动
     - 启动uwsgi:
    

    uwsgi -s 127.0.0.1:9090 -w webapp # webapp为要执行的.py文件/或者绝对路径
    uwsgi -s 127.0.0.1:9090 -w webapp --daemonize /var/log/uwsgi.log # 这样就在后台执行了

    ! 注意点:这里指定的ip/port 要跟nginx中的一致
      - 启动nginx:
    

    sudo nginx -c /usr/local/etc/nginx/nginx.conf
    /usr/local/bin/nginx # 启动

    或者

    sudo nginx
    /usr/local/bin/nginx -s reload #平滑重启

    或者

    sudo nginx -s reload
    /usr/local/etc/nginx/nginx.conf #配置文件。

    - # 访问
    浏览器输入:` at.test.cc`即可访问到目标文件了,搭建成功!
    
    @ 雾霾-2016-11-26 18:34:18

    相关文章

      网友评论

        本文标题:Api_web.py/nginx/uwsgi 部署

        本文链接:https://www.haomeiwen.com/subject/iedgpttx.html