基于centos搭建nginx+uwsgi运行django环境

前端之家收集整理的这篇文章主要介绍了基于centos搭建nginx+uwsgi运行django环境前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转自:http://www.cnblogs.com/liu-yao/p/5378960.html


环境:

CentOS 7

Nginx/1.9.12

Python 2.7.5

一:安装依赖包5

yuminstallzlib-develbzip2-develpcre-developenssl-develncurses-devel
sqlite-develreadline-develtk-develpython-pip-y

二:安装uwsgi

uwsgi:https://pypi.python.org/pypi/uWSGIuwsgi参数详解:http://uwsgi-docs.readthedocs.org/en/latest/Options.htmlpipinstalluwsgi
uwsgi--version

三:测试uwsgi是否正常:

新建test.py文件内容如下:defapplication(env,start_response):
start_response('200OK',[('Content-Type','text/html')])return"liuyao"然后在终端运行:

uwsgi--http:8080--wsgi-filetest.py

在浏览器内输入:http://127.0.0.1:8080,
看是否有“liuyao”输出,若没有输出,请检查你的安装过程。

四:安装django

pipinstalldjango

测试django是否正常,运行:

django-admin.pystartprojectnewsite
cdnewsite
pythonmanage.pyrunserver0.0.0.0:8000在浏览器内输入:http://127.0.0.1:8000,检查django是否运行正常。

五:安装Nginx

1.下载
wgethttp://Nginx.org/download/Nginx-1.9.12.tar.gz2.解压
tarxfNginx-1.9.12.tar.gz
cdNginx-1.9.12.tar.gz3.编译
./configure--prefix=/usr/local/Nginx-1.9.12\
--with-http_stub_status_module\
--with-http_gzip_static_module4.安装
make&&makeinstall
注:您可自行改变参数设置,具体请上官网学习,如果已经存在Nginx服务,那么此步可省略

六:配置uwsgi

uwsgi支持ini、xml等多种配置方式,但个人感觉ini更方便:

在/ect/目录下新建uwsgi.ini,添加如下配置:
[uwsgi]
socket=127.0.0.1:9090//运行端口号master=true//主进程vhost=true//多站模式no-stie=true//多站模式时不设置入口模块和文件workers=2//子进程数reload-mercy=10vacuum=true//退出、重启时清理文件max-requests=1000limit-as=512buffer-sizi=30000pidfile=/var/run/uwsgi.pid//pid文件,用于下面的脚本启动、停止该进程
daemonize=/日志目录/uwsgi.log
启动方式:
uwsgi/etc/uwsgi.ini

七:设置Nginx

找到Nginx的安装目录,打开conf/Nginx.conf文件修改server配置

server{
listen80;//设置网站运行端口
server_namelocalhost;

location/{
includeuwsgi_params;
uwsgi_pass127.0.0.1:9090;//必须和uwsgi中的设置一致
uwsgi_paramUWSGI_SCRIPTnewsite.wsgi;//入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录
uwsgi_paramUWSGI_CHDIR/newsite;//项目根目录,
indexindex.htmlindex.htm;
client_max_body_size35m;
}
}

注:
1.uwsgi脚本

请放在/etc/init.d/uwsgi 设置可执行

DESC="uwsgidaemon"NAME=uwsgi
DAEMON=/usr/bin/uwsgi
CONFIGFILE=/etc/$NAME.ini
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAMEset-e[-x"$DAEMON"]||exit0
do_start(){$DAEMON$CONFIGFILE||echo-n"uwsgirunning"}do_stop(){$DAEMON--stop$PIDFILE||echo-n"uwsginotrunning"
rm-f$PIDFILE
echo"$DAEMONSTOPED."}do_reload(){$DAEMON--reload$PIDFILE||echo-n"uwsgican'treload"}do_status(){
psaux|grep$DAEMON}case"$1"instatus)echo-en"Status$NAME:\n"
do_status
;;
start)echo-en"Starting$NAME:\n"
do_start
;;
stop)echo-en"Stopping$NAME:\n"
do_stop
;;
reload|graceful)echo-en"Reloading$NAME:\n"
do_reload
;;
*)echo"Usage:$SCRIPTNAME{start|stop|reload}">&2exit3
;;esacexit0

八:测试

OK,一切配置完毕,在终端运行

/etc/init.d/uwsgistart/usr/local/Nginx/sbin/Nginx-sreload或者直接启动

在浏览器输入:http://127.0.0.1,恭喜你可以看到django的“Itwork”了~

九:多站配置

使用多个uwsgi服务的方法来实现多个站点

重复第六步,创建uwsgi9091.ini,并相应修改文件中的

socket=127.0.0.1:9091pidfile=/var/run/uwsgi9091.piddaemonize=/日志目录/uwsgi9091.log

并且设置脚本 启动服务

然后新建Nginx配置文件为:

server{
listen8000;
server_name127.0.0.1;
location/{
includeuwsgi_params;
uwsgi_pass127.0.0.1:9091;
uwsgi_paramUWSGI_SCRIPToldsite.wsgi;
uwsgi_paramUWSGI_CHDIR/web/oldsite;indexindex.htmlindex.htm;
}
}

然后我们就可以通过http://127.0.0.1:8000来访问新的网站了。

完毕!

猜你在找的CentOS相关文章