Webpy + Nginx, FastCGI 로 Web. 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 공식 문 서 를 참고 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.