部署django+nginx+uwsgi
为了实现nginx防盗链而开始
测试uwsgi
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return “HelloWorld”
命令:uwsgi –http :8001 –wsgi-file test.py
修改django项目的配置文件
DEBUG = False
ALLOWED_HOSTS = ["*"]
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
STATIC_ROOT必须设置,而且和STATICFILES_DIRS不能共存
收集admin后台的静态文件
python manage.py collectstatic
[uwsgi]
# Django-related settings
socket = :8088
# 项目绝对路径
chdir = /home/ucasonline
# Django的wsgi文件相对路径
wsgi-file = ucasonline/wsgi.py
# process-related settings
# master
master = True
# 最大进程数
processes = 4
# 线程数
threads = 2
#设置此参数,有一个主进程
master=True
#守护进程的方式运行,log日志存在此log文件里
deamonize=/var/log/uwsgi/djangoProject.log
#主进程id写入文件里
pidfile= /var/log/nginx/uwsgi.pid
# ... with appropriate permissions - may be needed
# chmod-socket = 664
#退出时,清理环境
vacuum = True
reload-mercy = 10
max-requests = 5000
limit-as = 512
buffer-size = 30000
nginx
server {
listen 9001;
server_name xxx.com ;
access_log /var/log/nginx/logindemo_access.log;
error_log /var/log/nginx/logindemo_error.log;
charset utf-8;
client_max_body_size 75M;
root /home/ucasonline;
location ~* \.(txt|ico|gif|png|bmp|jpg|jpeg|zip|rar|gz|7z|exe|mp3|flv|swf|mp4)$ {
valid_referers *.my.com:9001 www.mys.com:9001 ;
if ($invalid_referer) {
rewrite ^/ http://www.myas.com;
}
}
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; *uwsgi sorket*
uwsgi_read_timeout 2100s;
}
location /static/ {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/ucasonline/static/;
}
}
关于错误那点大事
502 bad gateway nginx:之前在uwsgi试运行时不能运行,将socket 改为http后没有改回来;
仅作记录展示