-
- ubuntu上配置nginx+uwsgi来跑web.py
- 2014-12-22
同样,还是做为一个备忘吧,最基本的配置。web.py的安装就不说了
1.
如果安装了apache先要把apache的服务停止掉
service apache2 stop
2.安装nginx
sudo apt-get install nginx
3.安装uwsgi
sudo apt-get install uwsgi-core
4.配置uwsgi,/var/www/uwsgi_site1.ini
[uwsgi]
plugins = cgi
socket = 127.0.0.1:3333
chdir = /var/www/site1/
cgi = /=/var/www/site1/code.py
cgi-helper =.py=python5.配置nginx
root = /var/www/site1;
location / {
include uwsgi_params;
uwsgi_modifier1 9;
uwsgi_pass 127.0.0.1:3333;
}#静态文件处理
location /static/ {
try_files $uri $uri/ /;
}#disable execution of PHP in upload directory.
location /UserFiles {
location ~ \.php$ { return 403; }
expires max;
}location ~* \.(jpg|jpeg|gif|png|ico|ttf)$ {
access_log off;
expires max;
}6.重启nginx, service nginx restart
7.启动uwsgi
uwsgi /var/www/uwsgi_site1.ini
好了,可以正常访问了,web.py的程序不需要任何改变。
如果你原来用的是apache+fastcgid的话只要把code.py的启动改成下面这样
最后,再说下nginx下用fastcgi跑php吧,别在百度搜那些破烂了,误人不倦,直接上官网,很简单的配置。
直接用php5-fpm来跑,具体配置看官网吧 http://wiki.nginx.org/PHPFcgiExample
---------------
再备忘一下web.py里使用jinja2模板时的模板全局变量以及在模板里调用cookie
template_globals = {
"cookies": web.cookies,
"logopath" : "/static/logo.png",
}
render = render_jinja(
'templates/',
globals=template_globals,
encoding = 'utf-8',
)这样就可以直接在模板中使用了,全局变量 {{ logopath }},cookie的话,就可以 {{ cookies().get('itemname') }}了,很方便了
-
Views(11556) | Comments(0) |
In:
web develop
Python相关
Linux Server
|
