Webpy + Nginx, FastCGI 로 Web. py 구축

2671 단어
이 절 은 Nginx 와 FastCGI 를 사용 하여 웹. py 응용 프로그램 을 만 드 는 방법 을 설명 합 니 다.
환경 의존 패키지
인용 하 다.
Nginx 0.8. * or 0.7. * (fastcgi 와 rewrite 모듈 을 포함 해 야 합 니 다).
Webpy 0.32
Spawn-fcgi 1.6.2
Flup
메모: Flup 은 가장 흔히 볼 수 있 는 설치 잊 어 버 리 는 소프트웨어 입 니 다. 설치 해 야 합 니 다.
더 오래된 버 전도 일 할 수 있 을 것 같 지만 테스트 를 해 본 적 이 없어 요. 최신 은 일 할 수 있어 요.
일부 자원
Nginx wiki
Spawn-fcgi
Flup
Notes
index. py 이름 을 원 하 는 파일 이름 으로 바 꿀 수 있 습 니 다.
/ path / to / www 을 코드 경로 로 합 니 다.
/ path / to / www / index. py 는 python 코드 의 전체 경로 입 니 다.
Nginx 프로필
location / {
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;  # [1]
    fastcgi_param PATH_INFO $fastcgi_script_name;        # [2]
    fastcgi_pass 127.0.0.1:9002;
}

정적 파일 에 다음 설정 을 추가 할 수 있 습 니 다:
location /static/ {
    if (-f $request_filename) {
    rewrite ^/static/(.*)$  /static/$1 break;
    }
}

메모: 주소 와 포트 번호 가 다 를 수 있 습 니 다.
Spawn-fcgi
명령 을 통 해 Spawn - fcgi 프로 세 스 를 시작 할 수 있 습 니 다:
spawn-fcgi -d /path/to/www -f /path/to/www/index.py -a 127.0.0.1 -p 9002

시작 및 닫 기 명령
시작:
#!/bin/sh
spawn-fcgi -d /path/to/www -f /path/to/www/index.py -a 127.0.0.1 -p 9002

닫 기:
#!/bin/sh
kill `pgrep -f "python /path/to/www/index.py"`

참고: 주소 와 포트 정 보 를 마음대로 작성 할 수 있 지만, Nginx 프로필 과 일치 해 야 합 니 다.
Hello world!
다음 코드 를 index. py (또는 원 하 는 것) 로 저장 합 니 다. Nginx 설정 을 사용 하면 웹. wgi. runwsgi = lambda func, addr = None: 웹. wgi. runfcgi (func, addr) 라 는 줄 코드 가 필요 합 니 다.
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import web

urls = ("/.*", "hello")
app = web.application(urls, globals())

class hello:
    def GET(self):
        return 'Hello, world!'

if __name__ == "__main__":
    web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr)
    app.run()

메모: 코드 에 권한 을 설정 해 야 합 니 다. 코드 는 다음 과 같 습 니 다 chmod + x index. py.
운행 하 다.
spawn - fcgi 프로 세 스 를 엽 니 다.
Nginx 열기.
프로그램 이 실행 되 는 지 확인 하려 면 ps aux | grep index. py 를 사용 하면 쉽게 볼 수 있 습 니 다.
nginx 설정 다시 시작:
/path/to/nginx/sbin/nginx -s reload

정지 nginx:
/path/to/nginx/sbin/nginx -s stop

메모: 실행 후 접근 가능http://localhost웹 사 이 트 를 방문 하면 더 많은 정 보 는 nginx 공식 문 서 를 참고 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기