ngnix+uwsgi+python+django环境搭建
来源:互联网 发布:手机app界面设计软件 编辑:程序博客网 时间:2024/05/25 20:00
常见的django
webapp 部署方式采用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.
tar
.gz
因为我最后采用xml配置django app 的部署,所以编译 uWSGI 时候需要把libxml编译进去
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
至此 uWSGI 就算是安装完成了,下一步安装 Nginx > 0.8 的版本,因为只有Nginx > 0.8 的版本才支持wsgi
Nginx 安装
Ubuntu 默认源里面的Nginx版本比较旧,这里需要先添加一个Nginx的源,来通过apt-get安装新版本的Nginx
1
sudo
add-apt-repository ppa:nginx/stable
2
apt-get update
3
apt-get
install
nginx
接下来配置Nginx 和 uWSGI部署Django App 了. 首先我们在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
}
这样Nginx算是配置完了,现在看我们的Django app如何配置。
配置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
>
最后一步,运行 uWSGI 就行了,如下:
1
uwsgi -x /home/hysia/website/blog/django.xml
就这样你的Django app 就用 uWSGI hold住了。当然django.xml的配置远不止这些,比如log文件,内存限制等等,具体的大家可以参看 http://projects.unbit.it/uwsgi/wiki/Example uWSGI handle 多个 Django app 的时候性能更出众,更多的探索自己去动手实践吧。
- ngnix+uwsgi+python+django环境搭建
- ngnix+uwsgi+django+python
- python+openresty+uwsgi+django环境搭建
- 搭建nginx+uwsgi+django环境
- Centos7.2下nginx+uwsgi+python/Django搭建生产环境
- Fedora20 + Nginx + uWSGI + Django环境的搭建
- Fedora20 + Nginx + uWSGI + Django环境的搭建
- nginx+uwsgi+django+python环境部署文档
- python\django环境搭建
- python+Django环境搭建
- python django 环境搭建
- ngnix+uWSGI实现python CGI编程
- Django + nginx + uwsgi配置和环境搭建(ubuntu)
- Centos + Python3.5 + pip + uwsgi + django环境搭建
- 搭建ngnix环境
- 搭建ngnix环境
- linux搭建ngnix环境
- contos7.2 搭建 python pip uwsgi 以及安装 django 框架
- test Week 5
- 黑马程序员_泛型
- IOS Foundation框架基本类库的使用
- HighCharts之2D对数饼图
- 第五周项目三
- ngnix+uwsgi+python+django环境搭建
- 13 修改树莓派Raspberry Pi的IP地址为固定IP
- java中利用泛型实现类
- 【json】JsonObject / JsonArray
- HDU 3635 Dragon Balls(并查集)
- 采用网闸隔离的内外网如何进行数据的即时交互?
- SicilyOJ 11珠海赛重现 E.Divisibility(数学)
- poka-ya与SQA
- HEVC 当前帧与参考帧的同一位置的PU划分相同概率