首页 > 技术文章 > Debian7下lnmp+gunicorn部署Django运行环境

xuxianren 2016-11-17 18:21 原文

首先安装lnmp,安装方法见lnmp.org

wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp

  

1. 首先安装必须的软件

apt-get update
apt-get upgrade
apt-get install build-essential psmisc
apt-get install python-dev libxml2 libxml2-dev
 
apt-get install python-pip
pip install gunicorn

安装django 和 mysql库

pip install MySQL-python
pip install Django==1.8.16

如果安装失败,出现EnvironmentError: mysql_config not found,需要先执行这个命令再安装mysqldb组件:

apt-get install libmysqlclient-dev
pip install MySQL-python
 

 

到这里基本上安装部分就介绍完了,下面讲解配置部分,首先建立web项目的文件夹,比如说我放在/var/www下,然后通过下面的命令创建名为mysite的Django项目:

cd /home/user/www
django-admin.py startproject mysite

  此时的目录结构为:

mysite/
├── mysite/
│    ├── __init__.py
│    ├── settings.py
│    ├── urls.py
│    ├── wsgi.py
└── manage.py

 

2. 配置Nginx

lnmp安装包默认的Nginx的路径为/usr/local/nginx, 或者直接在/usr/local/nginx/conf 新建一个conf配置文件,内容如下:

server {
     listen 80;

     server_name domainname.com;
     access_log /home/wwwroot/mysite/access.log;
     error_log /home/wwwroot/mysite/error.log;

     location / {
         proxy_pass http://127.0.0.1:8000;
     }

     location /static/ {
        root /home/wwwroot/mysite;
    }
}

  然后重启nginx

service nginx reload  #重启nginx

  此时可以在项目目录运行测试

python manage.py runserver 8000

  如果Django 显示It works! 就表示nginx配置成功了

3. 配置Gunicorn

在manage.py文件夹中运行

gunicorn mysite.wsgi:application -b 127.0.0.1:8000 --reload

mysite是工程名字 也就是settings所在的目录的名字 ip和端口要和上面的那个一样

这个时候应该就可以了

如果是ssh 连接 使用命令

nohup gunicorn mysite.wsgi:application -b 127.0.0.1:8000 --reload&

  端口需要重启或者修改的话,可以先查看端口的ID,netstat -lpnt,找到对应的数字用kill -9 端口号来结束

 

推荐阅读