install:
1. sudo apt-get install python-dev
2. sudo apt-get install mysql-server python-mysql
3. sudo apt-get install redis-server python-redis
4. sudo apt-get install subversion
5. sudo apt-get install python-webpy
6. sudo apt-get install nginx uwsgi-extra
7. install uwsgi
$ sudo apt-get install libxml2
$ hg clone http://projects.unbit.it/hg/uwsgi-1.2
$ cd /uwsgi-1.2
$ python uwsgiconfig.py --build
$ python setup.py install
***:$ ubuntu 仓库的uwsgi貌似版本有问题,会提示-w参数无效 or --module 参数无效
8. install PIL Image about (if you want)
9.configure uwsig&nginx
File: /etc/nginx/sites-enabled/myapp
server { listen 80; ## listen for ipv4; this line is default and implied server_name localhost; root /data/www/myapp; index index.html index.htm; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9001; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; } # redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } # deny access to .htaccess files, if Apache's document root location ~ /\.ht { deny all; }
File: /etc/uwsgi/apps-enabled/myapp.xml
<uwsgi id="myapp"> <socket>127.0.0.1:9001</socket> <module>myapp</module> <master /> <pythonpath>/data/www/myapp</pythonpath> <chdir>/data/www/myapp</chdir> <processes>2</processes> <workers>4</workers> <memory-report/> <pidfile>/tmp/uwsgi_myapp.pid</pidfile> <max-requests>10000</max-requests> <daemonize>/var/log/uwsgi_myapp.log</daemonize> </uwsgi>
start uwsgi: $ uwsgi -x /etc/uwsgi/apps-enabled/myapp.xml
stop uwsgi: $ uwsgi --stop or $ kill -SIGINT `cat /tmp/uwsgi_myapp.pid`
reload uwsgi: $ uwsgi --reload or $ kill -SIGHUP `cat /tmp/uwsgi_myapp.pid`
pause uwsgi: $ uwsgi --pause or $ kill -SIGTSTP `cat /tmp/uwsgi_myapp.pid`
suspend uwsgi: $ uwsig --suspend or $ kill -SIGTSTP `cat /tmp/uwsgi_myapp.pid`
resume uwsgi: $ uwsgi --resume or $ kill -SIGTSTP `cat /tmp/uwsgi_myapp.pid`