首先,如果对这些名词不熟悉,就不用读下去了: nginx,python,uwsgi。
然后,如果还要疑问uwsgi+nginx怎么搭建,请先Google。
对于现在热门的易部署的WEB SERVER搭建方式,其实选择没多少:不外PHP与PYTHON。相信很多人都像我一样纠结在PHP与Python之间吧?
其实相对来说,PYTHON还是比纯目录结构的PHP要难部署了许多,给调试带来了很多不方便。
但咱是谁?咱是程序员!无论是什么样的麻烦!都能用程序或策略变得简单!
顺便吐个槽,或许,对程序员来说时间能解决的都不是问题,问题是没有时间……所以咱才搞出时空转换之类的概念来。
只要需求明确就好!
那么,我的初衷就是:使用nginx与uwsgi这两个算比较常用的python应用部署软件来搞出一个能方便我直接以文件的方式部署服务器的地方。
其实方法也很简单,就是,在域名中使用正则表达式,然后将把script设为匹配的内容。
代码如下:
server {
listen 80 ;
server_name ~(.*)\.py\.mydomain\.com$;
location /{
uwsgi_pass unix:///tmp/uwsgi.sock;
uwsgi_param UWSGI_PYHOME /path/to/py/home/;
uwsgi_param UWSGI_CHDIR /path/to/uwsgi/apps/dir/;
uwsgi_param UWSGI_SCRIPT $1;
include uwsgi_params;
}
}
此外,uwsgi默认是不会自动重启的,所以就算添加了目录或是修改了文件,也不会立马体现在服务器上。
因此,需要在uwsgi中添加一个参数:
touch-reload = /path/to/app/path/
这样,每当APP目录下的文件有变动时,它就都会自动reload gracefully啦
似乎安全性容易出问题……假设别人知道你这里有啥脚本的话。但是,域名里本来对字符串的限制就多得数不清,又能怎样呢?
这也只是个思路,其实在正则表达式里做些对字符串的限制,基本就万无一失了。
November 24, 2011 | 11:15 pm
虽然拿到了SAE的python内测码,但是发现python和PHP相差好远,PHP可以嵌在HTML里面,和感觉和写HTML没什么区别,但是python就像是要写一堆的逻辑性的东西来生成想要的Html~
不懂不懂,纯粹围观~