virtualenv + django + gunicorn + supervisor + nginx ,nginx配置问题

鸟类学 2019-07-01 05:28:15
搭了个博客,用的virtualenv + django + gunicorn + supervisor + nginx
没加nginx之前 一切都正常
加了之后点首页后 url显示 /mydjangoblogserver/ 找不到网页,但其他功能都正常
感觉是guincorn 和 nginx配置有问题,
尝试proxy_pass 改成127.0.0.1:8000 或0.0.0.0:8000 其他所有功能都用不了。
proxy_pass 直接改成域名会报502或404的错误,没继续查,但感觉 proxy_pass 应该和upstream对应
有朋友遇到过类似的问题么 求教。
下面是配置文件

ngnix.conf:

user root;
worker_processes 1;

events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

upstream mydjangoblogserver {
server unix:/home/blog/dev/DjangoBlog/run/gunicorn.sock fail_timeout=0;
}

server{
server_name www.xxx.club;
root /home/blog/dev/DjangoBlog;
listen 80;
keepalive_timeout 70;
location /collectedstatic/ {
expires max;
alias /home/blog/dev/DjangoBlog/;
}

location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
if (!-f $request_filename) {
#proxy_pass http://xxx.club;
proxy_pass http://mydjangoblogserver;
break;
}
}
}

django_start file:

#!/bin/bash
NAME="djangoblog" # Name of the application
DJANGODIR=/home/blog/dev/DjangoBlog # Django project directory
SOCKFILE=/home/blog/dev/DjangoBlog/run/gunicorn.sock # we will communicte using this unix socket
USER=root # the user to run as
GROUP=root # the group to run as
NUM_WORKERS=3 # how many worker processes should Gunicorn spawn
DJANGO_SETTINGS_MODULE=DjangoBlog.settings # which settings file should Django use
DJANGO_WSGI_MODULE=DjangoBlog.wsgi # WSGI module name

echo "Starting $NAME as `whoami`"

# Activate the virtual environment
cd $DJANGODIR
source /home/blog/dev/python3/bin/activate
export django_settings_module=$DJANGO_SETTINGS_MODULE
#export pythonpath=$djangodir:$pythonpath
export PYTHONPATH=$DJANGODIR:$PYTHONPATH

# create the run directory if it doesn't exist
#rundir=$(dirname $sockfile)
RUNDIR=$(dirname $SOCKFILE)
echo $RUNDIR
test -d $RUNDIR || mkdir -p $RUNDIR

# start your django unicorn
# programs meant to be run under supervisor should not daemonize themselves (do not use --daemon)
# exec /var/www/dev/python3/bin/gunicorn ${django_wsgi_module}:application \
echo ${django_wsgi_module}
exec /home/blog/dev/python3/bin/gunicorn -b 0.0.0.0:8000 ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--user=$USER --group=$GROUP \
--bind=unix:$SOCKFILE \
--log-level=debug \
--log-file=/home/blog/dev/DjangoBlog/gunicorn.log



supervisor.conf:

[program:djangoblog]
command = /home/blog/dev/DjangoBlog/bin/django_start
user = root
autostart=true
autorestart=true

redirect_stderr = true
stdout_logfile = /root/logs/blog/robot.log
stderr_logfile=/root/logs/blog/err.log
...全文
45 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,657

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧