部署篇:
1馁痴、選型
用Nginx+uwsgi+django部署;
2肺孤、安裝環(huán)境
安裝nginx
sudo apt-get install nginx
fnngj@ubuntu:~$ /etc/init.d/nginx start? #啟動(dòng)
fnngj@ubuntu:~$ /etc/init.d/nginx stop? #關(guān)閉
fnngj@ubuntu:~$ /etc/init.d/nginx restart? #重啟
安裝uwsgi
pip install uwsgi
3罗晕、部署django
Django的最終目錄
myweb/
├──?manage.py
├──?myweb/
│???├──?__init__.py
│???├──?settings.py
│???├──?urls.py
│???└──wsgi.py
└──myweb_uwsgi.ini
其中济欢,usgi.py是用django-admin startproject時(shí)自己創(chuàng)建的;myweb_uwsgi.ini是需要手工小渊;
配置myweb_uwsgi.ini
可以參見(jiàn)如下文檔:
# myweb_uwsgi.ini file[uwsgi]# Django-related settingssocket =:8000# the base directory (full path)chdir? ? ? ? ? = /home/fnngj/pydj/myweb# Django s wsgi filemodule? ? ? ? ? = myweb.wsgi# process-related settings
# mastermaster? ? ? ? ? = true# maximum number of worker processesprocesses? ? ? = 4# ... with appropriate permissions - may be needed
# chmod-socket? ? = 664
# clear environment on exitvacuum? ? ? ? ? = true
后臺(tái)啟動(dòng)uwsgi
uwsgi /Users/harry/Documents/work/django/own/own_uwsgi.ini -d /Users/harry/Documents/work/django/own/own_uwsgi.log
配置nginx法褥,默認(rèn)位置:/usr/local/etc/nginx/nginx.conf
server {
listen8099;server_name127.0.0.1charset UTF-8;
access_log? ? ? /var/log/nginx/myweb_access.log;
error_log? ? ? /var/log/nginx/myweb_error.log;
client_max_body_size 75M;
location / {include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;uwsgi_read_timeout 2;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/fnngj/pydj/myweb/static/;
}
}
補(bǔ)充:
Nginx啟停
nginx -s reload? :修改配置后重新加載生效
nginx -s reopen? :重新打開(kāi)日志文件
nginx -t -c /path/to/nginx.conf 測(cè)試nginx配置文件是否正確
關(guān)閉nginx:
nginx -s stop? :快速停止nginx
quit? :完整有序的停止nginx
靜態(tài)文件:
修改setting文件
添加:STATIC_ROOT='/var/www/mysite/static'
注意,該目錄不能跟現(xiàn)在statci目錄重
執(zhí)行
Python?manage.py collectstatic
它相當(dāng)于把所有的靜態(tài)文件都拷貝到這目錄一份
Nginx修改
添加location /static/ {
alias /var/www/mysite/static/;
}
參考:http://www.cnblogs.com/fnng/p/5268633.html