django环境安装+站点部署(uwsgi+nginx)

环境CentOS6.2,Django1.6,uwsgi1.9.20,nginx1.4.4


1.yum install mysql mysql-devel mysql-server

2.python
CentOS6.2自带python2.6.6,系统自带的python没有安装setuptools组件
在安装python第三方模块的时候基本都是使用python setup.py install命令,所以需要安装setuptools
> wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
> python ez_setup.py --user
3.pip
pip是python的包管理工具。

  > wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate 
  >chmod +x pip-1.3.1.tar.gz
  >tar xzvf pip-1.3.1.tar.gz
  >cd pip-1.3.1
  >python setup.py install  

#安装完后,pip可执行文件位于/root/.local/bin中,ln建立连接到/bin中

4.yum install python-devel

5.pip install MySQL-python
6.pip install django

此时环境搭建完毕。

我的项目是/root/src/mysite
  --mysite
--settings等
  --test1
  --templates
--html文件
  --static
--css
--images

部署
安装uwsgi
WebServerGatewayInterface
$ export LDFLAGS="-Xlinker --no-as-needed"
$ pip install uwsgi
编写django_wsgi.py文件,将其放在与文件manage.py同一个目录下。
#!/usr/bin/env python
# coding: utf-8

import os
import sys

reload(sys)
sys.setdefaultencoding('utf8')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

执行
uwsgi --http :8000 --chdir /root/src/mysite --module django_wsgi
就可以通过ip:8000/xxx来访问了
#此时没有引入静态文件,能访问说明uwsgi没有问题

安装nginx
去nginx.org官网上下载
nginx-1.4.4.tar.gz
解压
yum install glib2-devel openssl-devel pcre-devel bzip2-devel gzip-devel
./configure
make install
然后
cp /usr/local/nginx/sbin/nginx /usr/bin
启动
nginx
#默认端口是80
#直接访问,显示的是nginx的欢迎界面
停止
nginx -s stop
重启
nginx -s reload



配置nginx和django
在mysite目录下建立wsgi.ini文件
内容
[uwsgi]
socket= 127.0.0.1:8001
chdir= /root/src/mysite
module= django_wsgi
buffer-size = 32768


修改nginx配置文件
server部分修改成下面的样子
 server {
        listen 8000;
        server_name 127.0.0.1;
 autoindex on;
        charset UTF-8;
        access_log /root/src/logs/access.log;
        error_log /root/src/logs/error.log;
        client_max_body_size 75M;
        location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8001;
            uwsgi_read_timeout 2;
        }
        location /static {
         expires 30d;
         autoindex on;
         add_header Cache-Control provate;
         alias /root/src/mysite/test1/static;
        }
        #error_page 404 /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
       
    }


*在nginx.conf文件第一行,加上
user root
#本来是默认用户,权限不够会造成静态文件无法引用


配置完毕。
先启动uwsgi
进入/root/src/mysite目录
执行uwsgi -wsgi.ini
然后用另一个控制台,执行nginx启动

此时访问ip:8000/url就能访问了













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统上部署Django + nginx + uWSGI的步骤如下: 1. 安装必要的软件 在Linux系统上安装必要的软件包,包括Python、pip、nginxuWSGI等。 2. 创建Django项目 使用Django创建一个新项目或使用现有的Django项目。 3. 配置uWSGIDjango项目的根目录下创建一个uwsgi.ini文件,用于配置uWSGI。示例配置如下: ``` [uwsgi] # 指定运行模式为WSGI http = :8000 # 指定Django应用的wsgi模块 wsgi-file = myproject.wsgi # 指定进程数 processes = 4 # 指定线程数 threads = 2 # 指定静态文件路径 static-map = /static=/path/to/static # 指定日志路径 logto = /path/to/logfile ``` 其中,http参数指定了监听的端口号,wsgi-file参数指定了Django应用的wsgi模块,processes参数指定了进程数,threads参数指定了线程数,static-map参数指定了静态文件的路径,logto参数指定了日志文件的路径。 4. 配置nginxnginx的配置文件中添加以下内容: ``` server { listen 80; server_name example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { uwsgi_pass 127.0.0.1:8000; include uwsgi_params; } location /static { alias /path/to/static; } } ``` 其中,server_name指定了域名,access_log和error_log指定了日志文件的路径,uwsgi_pass指定了uWSGI的地址和端口号,include指定了uWSGI的参数。 5. 启动uWSGI服务 使用以下命令启动uWSGI服务: ``` uwsgi --ini uwsgi.ini ``` 6. 启动nginx服务 使用以下命令启动nginx服务: ``` sudo service nginx start ``` 这样就完成了Django + nginx + uWSGI部署。可以通过访问该网站的域名来验证是否部署成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值