django下进行项目的部署

Posted turboliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django下进行项目的部署相关的知识,希望对你有一定的参考价值。

1、服务器购买
需要购买一个阿里云服务器,操作系统为Linux(ubuntu)

2、服务器环境配置
1、pip freeze > plist.txt :将当前虚拟环境中所安装的环境,移植到plist.txt文件夹中

2、sudo apt-get install python-virtualenv :Linux下下载对应的虚拟环境安装包

3、sudo easy_install virtualenvwrapper:Linux下下载对应的虚拟环境安装包

4、mkvirtualenv [虚拟环境名称]:创建虚拟环境

5、pip install -r plist.txt:安装pilist.txt虚拟环境中的配置

6、修改setting.py文件
1、DEBUG = False

2、ALLOW_HOSTS=[‘*‘,]表示可以访问服务器的ip


7、启动服务器查看访问信息是否正常

3、WSGI
1、在生产环境中,任何服务器进行部署,都需要遵循WSGI协议

4、uWSGI
1、pip install uwsgi:安装uwsgi

2、配置uWSGI,在项目中新建文件uwsgi.ini
[uwsgi]
socket=外网ip:端口(使用nginx连接时,使用socket)
http=外网ip:端口(直接做web服务器,使用http)
chdir=项目根目录
wsgi-file=项目中wsgi.py文件的目录,相对于项目根目录
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log

3、启动:uwsgi --ini uwsgi.ini

4、停止:uwsgi --stop uwsgi.pid

5、重启:uwsgi --reload uwsgi.pid

5、nginx
1、sudo apt-get nginx:下载安装nginx

2、tar zxvf nginx-1.6.3.tar.gz:对nginx进行安装包的解压操作

3、进入nginx-1.6.3目录依次执行如下命令进行安装:
1、./configure
2、make
3、sudo make install

4、默认安装到/usr/local/nginx目录,进入此目录执行命令
1、查看版本:sudo sbin/nginx -v

2、启动:sudo sbin/nginx

3、停止:sudo sbin/nginx -s stop

4、重启:sudo sbin/nginx -s reload

5、通过浏览器查看nginx运行结果

6、指向uwsgi项目:编辑conf/nginx.conf文件
1、sudo conf/nginx.conf
2、在server下添加新的location项,指向uwsgi的ip与端口
location / {
include uwsgi_params;将所有的参数转到uwsgi下
uwsgi_pass uwsgi的ip与端口;
}


6、静态文件
1、配置nginx的静态项
1、所有的静态文件都会由nginx处理,不会将请求转到uwsgi
2、配置nginx的静态项,打开conf/nginx.conf文件,找到server,添加新location
location /static {
alias /var/www/test5/static/;
}

2、在服务器上创建目录结构“/var/www/test5/”

3、sudo chmod 777 /var/www/test5:修改对应的目录权限

4、mkdir static:创建static目录,注意顺序是先分配权限,再创建目录

5、配置settings.py文件
1、STATIC_ROOT=‘/var/www/test5/static/‘

2、STATIC_URL=‘/static/‘

6、收集所有静态文件到static_root指定目录:python manage.py collectstatic

7、重启nginx、uwsgi




























































以上是关于django下进行项目的部署的主要内容,如果未能解决你的问题,请参考以下文章

如何用Nginx部署Django

Windows10使用IIS部署Django项目

django 项目生产环境部署

Linux 下部署Django项目

django+vue前后端分离项目部署

CentOS 7 下Django项目部署教程(基于uwsgi和Nginx)