Django+uwsgi+Nginx安装部署

时间:2021-12-15 20:43:03

安装

安装Nginx

Nginx是最流行的高性能HTTP服务器。

安装pcre:

wget https://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.gz
tar –zxvf pcre-8.37.tar.gz cd pcre-8.37 ./configure --prefix=/usr/local/pcre make make install

安装zlib:

wget http://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2. ./configure --prefix=/usr/local/zlib make make install

安装nginx:

wget http://nginx.org/download/nginx-1.10.1.tar.gz
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-pcre=/root/soft/pcre-8.37/ --with-zlib=/root/soft/zlib-1.2.8/
make && make install

####注意####
--with-pcre=/root/soft/pcre-8.37/    指向的是pcre的源码目录,不是安装目录
--with-zlib=/root/soft/zlib-1.2.8/     指向的是zlib的源码目录,不是安装目录
############

 

安装MySQL-python

MySQL-python是Python访问MySQL数据库的第三方模块库(yum安装或源码安装)。

yum install MySQL-python

安装uwsgi

uwsgi是一个快速的、纯C语言开发的、自维护、对开发者友好的WSGI服务器,旨在提供专业的Python Web应用和发布功能(源码安装或pip安装)。

pip install uwsgi

安装Django

本次使用的是Django1.8.6版本。

pip install Django==1.8.6

 

配置

web目录:/data/www/

Django配置

创建一个Django项目

cd /data/www
django-admin.py startproject OMServer

 

配置Nginx

【/usr/local/nginx/conf/nginx.conf】

server {
  listen 80;
  server_name localhost;

  location / {
    uwsgi_pass 192.168.1.22:9000;    #uwsgi地址及端口(要跟uwsgi配置一致
    include uwsgi_params;
    access_log off;
  }

  location ~ /static/ {
    root /data/www/OMServer/;
    access_log off;
  }
}

 

 

配置uwsgi

【/usr/local/nginx/conf/uwsgi.ini】

[uwsgi]
socket = 192.168.1.22:9000 #uwsgi监听的地址及端口(在nginx配置中会用到)
master = true #启动主进程
pidfile = /usr/local/nginx/logs/uwsgi.pid
processes = 4 #uwsgi开启的进程数
chdir = /data/www/OMServer #项目主目录
wsgi-file = OMServer/wsgi.py #uwsgi文件路径
pythonpath = /data/www
profiler = true
memory-report = true
enable-threads = true
logdata = true
limit-as = 6048
daemonize = /data/logs/django.log

 

启动uwsgi和nginx服务

uwsgi --ini /usr/local/nginx/conf/uwsgi.ini 
/usr/local/nginx/sbin/nginx

访问http://192.168.1.22。出现It worked!页面表示配置成功。