nginx unit 0.3에서 virtualenv를 사용해보십시오.

nginx unit 0.3 beta 릴리스



htps //w w. Ngin x. 이 m/bぉg/우니 t-0-3-베타-레아아세아
작년 말에 nginx unit의 0.3이 릴리스 되고 있었다.

virtualenv에 대응했다는 것이었기 때문에, 조금 시도해 보았다.
unit-python 3이 들어 가지 않았기 때문에 우선 python2.7.5에서. (내가 생각하면 빌드에서 해보자)

환경


  • vagrant(Centos7.4)
  • openresty/1.13.6.1()
  • unit 0.3
  • python2.7.5

  • 준비



    파이썬


    $ virtualenv test
    $ source bin/activate
    $ pip install routes
    
    $ cat app/index.py 
    from routes import Mapper
    import json
    
    def application(environ, response):
    
        map = Mapper()
        map.connect(None, '/error/{action}/{id}', controller='error')
        map.connect('home', '/', controller='main', action='index')
    
        result = map.match(environ['REQUEST_URI']);
    
        response('200 OK', [
            ('Content-type', 'text/plain')])
    
        return [json.dumps(result)]
    

    unit



    새로 추가 된 home에 virtualenv의 경로를 쓰면 좋은 것 같습니다.
    $ cat /etc/unit/unit.conf 
    {
        "listeners": {
            "*:8000": {
                "application": "test"
            }
        },
        "applications": {
            "test": {
                "type": "python",
                "workers": 4,
                "working_directory": "/var/www/test",
                "path": "app",
                "home": ".",
                "module": "index"
            }
        }
    }
    

    nginx



    거의 디폴트 그대로인 곳만.
        upstream unit-python {
            server 127.0.0.1:8000;
        }
    
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location = /favicon.ico {
                empty_gif;
            }
    
            location / {
                proxy_pass http://unit-python/;
                proxy_set_header Host $host;
            }
    
            #error_page  404              /404.html;
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    

    시작


    sudo systemctl start nginx
    sudo systemctl start unit
    sudo curl -X PUT -d @/etc/unit/unit.conf --unix-socket /var/run/control.unit.sock http://localhost/
    



    갔다.

    좋은 웹페이지 즐겨찾기