ngnix+uwsgi+python+django环境搭建
2014-03-30 22:25
417 查看
常见的
uWSGI 的官方网站 http://projects.unbit.it/uwsgi/ wiki介绍的很详细。 Nginx关于HttpUwsgiModule的介绍http://wiki.nginx.org/HttpUwsgiModule.有这些资料参考,安装部署是很容易的事情。
uWSGI的安装
下载uWSGI的最新版
因为我最后采用xml配置django app 的部署,所以编译 uWSGI 时候需要把libxml编译进去
剩下的就简单了
至此 uWSGI 就算是安装完成了,下一步安装 Nginx > 0.8 的版本,因为只有Nginx > 0.8 的版本才支持wsgi
Nginx 安装
Ubuntu 默认源里面的Nginx版本比较旧,这里需要先添加一个Nginx的源,来通过apt-get安装新版本的Nginx
接下来配置Nginx 和 uWSGI部署Django App 了. 首先我们在Nginx中新建一个站点配置文件:
内容如下:
这样Nginx算是配置完了,现在看我们的Django app如何配置。
配置Django app
配置很简单,几乎不用改动你app的任何文件。
首先在你的app目录创建个wsgi.py 文件,内容如下:
然后在app目录创建个django.xml文件,作为uWSGI运行的配置文件,内容如下:
最后一步,运行 uWSGI 就行了,如下:
就这样你的Django app 就用 uWSGI hold住了。当然django.xml的配置远不止这些,比如log文件,内存限制等等,具体的大家可以参看 http://projects.unbit.it/uwsgi/wiki/Example uWSGI handle 多个 Django app
的时候性能更出众,更多的探索自己去动手实践吧。
文章出处: http://simple-is-better.com/news/756
djangowebapp 部署方式采用
FCGI或
WSGI的方式部署,今天我这备忘下采用
uWSGI的部署方式。 目前我这博客就是采用 Nginx + uWSGI + Python + Django 构建的,部署虽没有php那样扔到目录那么方便,但是并发和性能消耗还是非常不错的。这里不想赘述关于
FCGI,
WSGI,
uWSGI之间的比较,网上关于这样的对比测试也有很多。这里说下部署过程。
uWSGI 的官方网站 http://projects.unbit.it/uwsgi/ wiki介绍的很详细。 Nginx关于HttpUwsgiModule的介绍http://wiki.nginx.org/HttpUwsgiModule.有这些资料参考,安装部署是很容易的事情。
uWSGI的安装
下载uWSGI的最新版
1 | wget http://projects.unbit.it/downloads/uwsgi-0.9.9.2.[/code]tar.gz |
1 | sudo apt-get install libxml2-dev |
1 | tar zxvf uwsgi-0.9.9.2. tar .gz |
2 | cd uwsgi-0.9.9.2 |
3 | make -f Makefile.Py26 #指定你python的版本,如果你的python是2.7 就应该是 make -f Makefile.Py27 |
4 | cp uwsgi /usr/sbin/uwsgi |
Nginx 安装
Ubuntu 默认源里面的Nginx版本比较旧,这里需要先添加一个Nginx的源,来通过apt-get安装新版本的Nginx
1 | sudo add-apt-repository ppa:nginx/stable |
2 | apt-getupdate |
3 | apt-get install nginx |
1 | sudo vi /etc/nginx/sites-enabled/blog.hysia.com |
01 | server { |
02 | listen 80; ## listen for ipv4; this line is default and implied |
03 | #listen [::]:80 default ipv6only=on; ## listen for ipv6 |
04 |
05 | server_name blog.hysia.com; |
06 |
07 | access_log /var/log/nginx/blog.hysia.com-access.log ; |
08 | error_log /var/log/nginx/blog.hysia.com-error.log ; |
09 |
10 | location / { |
11 | uwsgi_pass 127.0.0.1:8630; |
12 | include uwsgi_params; |
13 | } |
14 |
15 | } |
配置Django app
配置很简单,几乎不用改动你app的任何文件。
首先在你的app目录创建个wsgi.py 文件,内容如下:
1 | import os,sys |
2 |
3 | if not os.path.dirname(__file__) in sys.path[: 1 ]: |
4 | sys.path.insert( 0 , os.path.dirname(__file__)) |
5 | os.environ[ 'DJANGO_SETTINGS_MODULE' ] = 'settings' |
6 |
7 | from django.core.handlers.wsgi import WSGIHandler |
8 | application = WSGIHandler() |
1 | < uwsgi > |
2 | < socket >127.0.0.1:8630</ socket > |
3 | < chdir >/home/hysia/website/blog</ chdir > |
4 | < pythonpath >..</ pythonpath > |
5 | < module >wsgi</ module > |
6 | </ uwsgi > |
1 | uwsgi -x /home/hysia/website/blog/django.xml |
的时候性能更出众,更多的探索自己去动手实践吧。
文章出处: http://simple-is-better.com/news/756
相关文章推荐
- 搭建python的web环境 Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器环境
- CentOS + Python3.3 + Django1.7 + uwsgi + nginx + mysql web发布环境搭建
- python + django + bootstrap + uWSGI + nginx 环境搭建
- python3环境搭建(uWSGI+django+nginx+python+MySQL)
- Nginx+Python+uwsgi+Django环境搭建
- CentOS + Python3.6+ Django2.0 + uwsgi + nginx + mysql web发布环境搭建
- ngnix+uwsgi+django+python+mysql环境部署
- Centos+django+uwsgi+python 环境搭建
- Centos + Python3.5 + pip + uwsgi + django环境搭建
- python+openresty+uwsgi+django环境搭建
- Centos7.2下nginx+uwsgi+python/Django搭建生产环境
- CentOS+nginx+uwsgi+Python+django 环境搭建
- CentOS+nginx+uwsgi+Python+django 环境搭建
- 基于centos搭建nginx+uwsgi运行django环境
- Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器
- python3.x +django + nginx + uwsgi 搭建web服务
- 分布式(2):CentOS+nginx+uwsgi+Python 多站点环境搭建
- centos7.2下搭建python web框架Django环境资料
- django 阿里云上 ubuntu-x64 python+django+mysql 开发环境搭建
- (转)在ubuntu下搭建python开发环境(pycharm,postgresql,virtualenv, Django)