Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器
|
之前一直使用Nginx+Fastcgi来搭建python web服务器,本文介绍Nginx+UWSGI组合来实现。uWSGI 是一个快速的、纯C语言开发的、自维护的、对开发者友好的WSGI服务器,旨在提供专业的 Python web应用发布和开发。它更符合python web的标准协议,速度要比Fastcgi要快、性能更加稳定。 一、安装平台 复制代码 代码如下: 2、安装Nginx 复制代码 代码如下: 3、安装python&Mysql-python 复制代码 代码如下: 4、安装MySql-python 复制代码 代码如下: 5、安装Django 复制代码 代码如下: 6、安装uWSGI 复制代码 代码如下: 二、平台配置 1、平台环境说明 复制代码 代码如下: 1.2、查看项目(出现以下文件结构说明项目已创建成功) 复制代码 代码如下: 2、Nginx相关配置 #cd /usr/local/nginx/conf
# Django project
server {
listen 80;
server_name purgesys.domain.com;
location / {
uwsgi_pass 127.0.0.1:9000;
include uwsgi_params;
access_log off;
}
location ^~ /static {
root /opt/www/Purgesys;
}
location ^~ /admin/ {
uwsgi_pass 127.0.0.1:9000;
include uwsgi_params;
access_log off;
}
location ~* ^.+.(mpg|avi|mp3|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|txt|tar|mid|midi|wav|rtf|mpeg)$ {
root /opt/www/Purgesys/static;
access_log off;
}
}
*Nginx-0.8.50默认已添加uwsgi输出头支持 #vi nginx.conf
http{
........
include django_uwsgi.conf;
}
3、UWSGI配置 <uwsgi> <socket>127.0.0.1:9000</socket> <listen>200</listen> <master>true</master> <pidfile>/usr/local/nginx/uwsgi.pid</pidfile> <processes>8</processes> <pythonpath>/opt/www/Purgesys</pythonpath> <pythonpath>/opt/www/</pythonpath> <module>django_wsgi</module> <profiler>true</profiler> <memory-report>true</memory-report> <enable-threads>true</enable-threads> <logdate>true</logdate> <limit-as>6048</limit-as> <daemonize>/opt/www/logs/django.log</daemonize> </uwsgi> 4、创建应用模块 import os os.environ['DJANGO_SETTINGS_MODULE'] = 'Purgesys.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() 5、启动服务 6、查看进程 复制代码 代码如下: 7、监听端口 tcp 0 127.0.0.1:9000 0.0.0.0:* LISTEN 8、访问测试 大功告成! *附uwsgi启动脚本 #!/bin/bash if [ $1 = start ];then psid=`ps aux|grep "uwsgi"|grep -v "grep"|wc -l` if [ $psid -gt 2 ];then echo "uwsgi is running!" exit 0 else /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml fi echo "Start uwsgi service [OK]" elif [ $1 = stop ];then killall -9 uwsgi echo "Stop uwsgi service [OK]" elif [ $1 = restart ];then killall -9 uwsgi /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml echo "Restart uwsgi service [OK]" else echo "Usages: sh uwsgiserver.sh [start|stop|restart]" fi #sh uwsgiserver.sh start 如大家有什么疑问或感兴趣的话题可以通过weibo与我交流:http://t.qq.com/yorkoliu 以下是补充: 1、MySQL-python 安装错误如下 先安装 在安装 贴一下,方便其他兄弟了 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
