-
nginxのインストール
apt-getで一発
sudo apt-get install nginx
-
FastCGIのインストール
spawn-fcgiを利用する。これもapt-getで。
sudo apt-get install spawn-fcgi
-
web.pyのインストール
easy_installからインストールを行う
ez_setup.pyをwgetして実行
easy_installでflupとweb.pyをインストールする
wget http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
sudo easy_install flup
sudo easy_install web.py
-
nginxの設定変更
nginxのfastcgi_paramを下記に書き換え
sudo nano /etc/nginx/fastcgi_params
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
site-availableのlocation /を下記のように書き換え
sudo nano /etc/nginx/sites-available/default
server {
location / {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9002;
}
}
上記の例ではポート番号を9002に設定
-
wwwディレクトリの作成
/var/wwwディレクトリを作成して、所有権を変更する
cd /var/
sudo mkdir www
sudo chown www-data:www-data www/
-
Hello world!を出力するPythonスクリプト作成
nano /var/www/index.py
#!/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()
所有権を変更しておく
sudo chown www-data:www-data index.py
-
サーバーの起動
spawn-fcgiの起動(ポート番号9002)
sudo spawn-fcgi -u www-data -f /var/www/index.py -a 127.0.0.1 -p 9002
nginxをリロード
sudo nginx -s reload
http://localhost/ にアクセスしてHello World!が表示されることを確認する