django下进行项目的部署
-------------------Django下进行对应的服务器配置
1、服务器购买
本人在阿里云购买了一个服务器,操作系统为windows server2008/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