python编程(webpy + gunicorn + nginx部署)
之前虽然也用nginx + uwsgi + webpy的方法部署过网站,但是用了gunicorn之后,发现用这种方法部署网站更为简单。下面我详细描述一下如何用这种方法进行网站部署。
1、准备server.py
和uwsgi部署的时候一样,这里仅仅需要设置一个application就可以了。
#!/usr/bin/python
import web
urls = ('/', 'Hello')
class Hello(object):
def GET(self):
return 'Hello world'
app = web.application(urls, globals())
application = app.wsgifunc()
2、安装gunicorn
安装gunicorn的方法非常简单,在ubuntu下面一条命令就可以解决,
sudo apt-get install gunicorn
3、用gunicorn启动server.py文件
启动的时候注意,最后一个选项是由文件名+wsgifunc组成的。同时,我们在选项中添加了gevent的属性,gunicorn本身支持gevent机制,可以有效提高server的性能。
gnicorn -b 127.0.0.1:8080 --worker-class gevent server:application
4、用浏览器做测试
这个时候不出意外,你已经可以用127.0.0.1:8080访问我们的网站了。
5、准备nginx.conf文件
通常为了利用nginx做static文件加速,或者利用nginx做均衡负载,我们常常需要另外安装一下nginx软件。因此,此时nginx.conf必须准备好。当然,为了简单起见,我们这里只做一个代理就可以了,整个conf文件内容如下,
worker_processes 1;
events{
worker_connections 1024;
}
http{
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
}
6、重启启动nginx
nginx.conf准备好后,这个时候先将它copy到/etc/nginx目录下。接下来,我们需要重新启动nginx软件,一个命令就可以了,
service nginx restart
7、用浏览器测试80端口
有了nginx做代理,这个时候就可以用浏览器访问127.0.0.1了,因为一般网站默认用80做端口,所以没有意外的话,这个时候你就可以看到webpy给出的打印消息了。
版权声明:python编程(webpy + gunicorn + nginx部署)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。