全部博文(2759)
分类: Web开发
2015-06-11 03:24:43
原文地址:django之uwsgi、nginx服务器的搭建 作者:gray1982
如果系统是最小化安装的,就需要安装必要的开发包,如下
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
CentOS6.X 自带的是Python2.6.6,但我们可以再安装Python2.7版本:
可以直接下载,然后安装即可,如下
wget
tar xvf Python-2.7.5.tar.bz2
cd Python-2.7.5
./configure --prefix=/usr/local
make && make altinstall
安装完毕后,可是使用输入python2.7即可进入python2.7的环境,很简单吧。
easy_install以及pip管理包可以查找我以前的文章http://blog.chinaunix.net/uid-10915175-id-5032605.html
这里要说一下,如果想省事,在安装easy_install后,也可以使用它来安装pip,如easy_install pip
接下来说下uwsgi的安装,
pip install uwsgi
uwsgi —version
即可
测试uwsgi是否正常:
新建liu.py文件,内容如下:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return "Hello World"
然后在终端运行:
uwsgi --http :8080 --wsgi-file liu.py
在浏览器内输入:,看是否有“Hello World”输出,如下。因为我是远程连接的,所以用的是lynx localhost:8080的方式来查看结果的。若没有正常输出,那就需要回头再看看配置是否正确了。
接下来就是安装nginx,可以直接下载安装了
wget
tar xf nginx-1.5.6.tar.gz
cd nginx-1.5.6
./configure --prefix=/usr/local/nginx-1.5.6 \
--with-http_stub_status_module \
--with-http_gzip_static_module
make && make install
接下来配置一下uwsgi
uwsgi支持ini、xml等多种配置方式,但个人感觉ini配置起来比较方便:
在/ect/目录下新建文件uwsgi9000.ini,添加如下配置:
[uwsgi]
socket = 127.0.0.1:9000
master = true //主进程
vhost = true //多站模式
no-stie = true //多站模式时不设置入口模块和文件
workers = 2 //子进程数
reload-mercy = 10
vacuum = true //退出、重启时清理文件
max-requests = 1000
limit-as = 512
buffer-sizi = 30000
pidfile = /var/run/uwsgi9000.pid //pid文件,用于下面的脚本启动、停止该进程
daemonize = /var/log/uwsgi9000.log
在/ect/init.d/目录下的启动文件在最底下,请下载。
添加服务到系统以及设置开机启动
chkconfig --add uwsgi9090
chkconfig uwsgi9090 on
找到nginx的安装目录,打开conf/nginx.conf文件,修改或者增加server配置
server {
listen 80;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9000;
uwsgi_param UWSGI_SCRIPT liuxin.wsgi;
uwsgi_param UWSGI_CHDIR /liuxin;
index index.html index.htm;
client_max_body_size 35m;
}
location /static/admin/ {
alias /usr/local/lib/python2.7/site-packages/Django-1.7.8-py2.7.egg/djan
go/contrib/admin/static/admin/;
}
location /static/{
alias /liuxin/static/;
}
}
在/ect/init.d/目录下的启动文件在最底下,请下载。
添加服务到系统,设置开机启动
chkconfig --add nginx
chkconfig nginx on
OK,这样配置就完事了,在终端运行
service uwsgi9000 start
service nginx start
在浏览器输入:,就可以看到django的“It work !”了。如果没有正确显示,可以分别运行uwsgi和nginx以来确定是uwsgi问题还是nginx问题。
以下附件下载后去掉rar后缀名即可
nginx.raruwsgi9000.rar