nginx + uwsgi 部署
参考:http://www.cnblogs.com/txwsqk/archive/2011/03/15/1984792.html 安装nginx(版本1.0.2):1、安装依赖包:
sudo apt-cache search pcre (apt的模糊匹配软件包的命令)
sudo apt-get install libssl-dev gcc libpcre3-dev zlib1g-dev libperl-dev g++
2、将下载nginx的源码包:wget http://nginx.org/download/nginx-1.0.2.tar.gz
解压 然后进入目录下: ./configure --prefix=/usr/local/nginx/
默认nginx安装的目录在/usr/local/nginx下,包括:
/usr/local/nginx/sbin #控制nginx启动文件
/usr/local/nginx/conf #配置文件
/usr/local/nginx/html #默认网页文件
/usr/local/nginx/logs #日志文件
3、安装完成后,可以试用一下:
/usr/local/sbin/nginx (启动)
/usr/local/sbin/nginx -s stop (停止)
(也可以杀死nginx的进程id : kill `cat /usr/local/nginx/logs/nginx.pid`)
/usr/local/sbin/nginx -s> 4、我在/etc/init.d/ 目录下,新建了一个nginx脚本,可以利用 /etc/init.d/nginx (start|stop|restart) 来启动和关闭。
5、接下来就可以设置nginx的开机自启动了:
update-rc.d nginx defaults
chkconfig --level 2345 nginx on
6、关于nginx的配置文件暂时先默认不改,待安装完uwsgi后需要作变动。
安装django和flup:
wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
view sourceprint?
wget http://media.djangoproject.com/releases/1.2/Django-1.2.5.tar.gz
flup和django 都是用 python setup.py install
关于flup:WSGI 还只是一种规范,一种标准,它要完成的作用是用来定义 Python 应用程序要如何于 apache/lighttpd/nginx 等之类的 WEB 服务器之间如何进行通信和交换信息,它不是实际 可以直接拿来用的东西。而 flup 就是使用 Python 语言对 WSGI 的一种实现,是可以用 于 Python 的应用开发中的一种工具或者说是一种库。
更多详细介绍: http://www.morningprincess.com/Python-WSGI-fastcgi/
安装 uwsgi (版本 0.9.6.2):
1、add-apt-repository ppa:stevecrozz/ppa
apt-get update
apt-get install uwsgi
2、安装完以后可以直接使用uwsgi命令。
配置nginx和uwsgi:
1、首先确认在/usr/local/nginx/conf/ 目录下是否存在 uwsgi_params文件,如果没有,建议安装更高版本的nginx
2、备份/usr/local/nginx/conf/nginx.conf文件。并修改该文件:
userroot root;
worker_processes1;
events {
worker_connections1024;}
http {
include mime.types;
default_typeapplication/octet-stream;
sendfile on;
keepalive_timeout65;
server {
listen 80;
server_namelocalhost;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
error_page 500 502 503 504/50x.html;
location = /50x.html {
root html;
}
}
}
3、建立项目:
cd /root
django-admin.py startproject mypro
4、在/root/my_django/目录下 :vim uwsgi.xml
0.0.0.0:9090
20
true
/usr/local/nginx/uwsgi.pid
8
/var/log/uwsgi.log wsgi.py#这个文件当前目录下建立
/root/mypro #刚才建立项目的路径
true
true
true
true
6048
5、在/root/my_django/目录下 :vim wsgi.py
import django.core.handlers.wsgi
import os
import sys
sys.path.append(os.path.dirname(__file__))
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
adminmedia= os.path.join(os.path.dirname(__file__),'admin_media')
application = django.core.handlers.wsgi.WSGIHandler()
6、启动nginx : /etc/init.d/nginx start
后台启动 uwsgi -x /root/my_django/uwsgi.xml&
7、测试:直接在浏览器中输入服务器的ip地址。
完毕!
符:xml文件加日志的文档:
0.0.0.0:9090
20
true
/usr/local/nginx/uwsgi.pid
8
wsgi.py
/var/log/uwsgi.log//如果不加这条,程序将在前台运行,而且只要关闭前台终端,程序就终止。
/root/mypro/
true
true
true
true
6048
页:
[1]