- nginxのインストール
- FastCGIのインストール
- web.pyのインストール
- nginxの設定変更
- wwwディレクトリの作成
- Hello world!を出力するPythonスクリプト作成
- サーバーの起動
apt-getで一発
sudo apt-get install nginx
spawn-fcgiを利用する。これもapt-getで。
sudo apt-get install spawn-fcgi
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の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に設定
/var/wwwディレクトリを作成して、所有権を変更する
cd /var/
sudo mkdir www
sudo chown www-data:www-data www/
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!が表示されることを確認する
web.pyのインストール助かりました。
返信削除