CentOS下nginx+uwsgi+django

本文详细指导如何在CentOS环境下安装并配置Nginx、uWSGI及Django,实现高效部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOS 下搭建nginx+uwsgi运行环境(阿里云)


一、安装所需工具
yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool make setuptool

二、修改默认python版本为2.7(本步针对默认版本为2.7以下的系统)
具体操作见我另外一篇文章:更新Linux系统下Python默认版本

三、安装uWSGI
下载uwsgi最新版本
wget http://projects.unbit.it/downloads/最新版本
注意:由于后续将使用xml配置django的部署,因此需要编译(./configure)uwsgi的时候将库libxml编译进去,因此需要安装libxml库
yum -y install libxml2-devel
接着解压uWSGI并安装
tar zxvf uwsgi-2.0.8.tar.gz
cd uwsgi-2.0.8
make
cp uwsgi /usr/sbin/uwsgi
uwsgi安装完成,下面安装nginx
四、安装Nginx
一般系统都会缺少nginx的必须包pcre,所以先安装pcre,pcre安装较简单,下载解压安装即可
tar zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure
make
makeinstall
接下来下载Nginx包,并解压
在这里找到nginx稳定版的下载地址:点击进入
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --with-http_stub_status_module --prefix=/usr/local/nginx --with-cc-opt='-O3' --with-cpu-opt=opteron
注意:编译时要加上--with-cc-opt='-O3' --with-cpu-opt=opteron参数
至此,nginx就被安装到了/usr/local/nginx,输入/usr/local/nginx/sbin/nginx可以启动nginx服务,在浏览器上输入服务器ip就可以看到nginx的欢迎界面了。
五、安装Django
使用命令
pip install django
进行安装,如果系统没有pip,可以参见我的另外一篇文章Linux下安装pip
六、配置nginx
cd /usr/local/nginx/conf
vim nginx.conf
进入nginx的主配置文件进行相关配置,将文件中参数修改如下所示
server {
    listen 80;
    server_name your_ip;
    access_log /var/log/nginx/my-access.log;
    error_log /var/log/nginx/my-error.log
}

    location / {
        uwsgi_pass 127.0.0.1:8630;
        include uwsgi_params;
    }
}
注意,your_ip是指服务器的ip或者是你的域名,uwsgi_pass中的8630可以是任意一个没有被占用的端口
另外access_log和error_log是需要文件存在的,所以需要自己创建一个空文件在相应的目录下
七、创建django项目

在mysite(假设你的项目叫mysite)目录下创建wsgi.py文件,并输入以下内容引导uwsgi运行app
import os
os.environ['DJANGO_SETTING_MODULE'] = 'mysite.settings'

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
注意,网上很多以前的教程在wsgi.py文件中,使用的是旧版django的WSGIHandlers,在django1.6 1.7版本并不适用
在mysite目录下创建django.xml文件,作为uWSGI运行的配置文件,内容如下:
<uwsgi>
    <socket>127.0.0.1:8630</socket>
    <chdir>/home/django-app/mysite</chdir>
    <pythonpath>..</pythonpath>
    <module>wsgi</module>
</uwsgi>
其中,socket要和之前nginx.conf配置文件中填写的uwsgi_pass一致,而chdir则是你的mysite路径。
更多uwsgi配置可以在网上搜到。
八、启动项目
uwsgi -x /home/django-app/mysite/django.xml





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值