无法在特定端口上使用nginx访问django网站,连接超时

时间:2019-08-22 16:19:10

标签: django nginx port gunicorn vps

我徒劳地尝试建立一个在django下运行的演示网站。 天蓝色,我们有2个可从公共地址访问的虚拟机。 该网站必须在Azure虚拟机上启动。 两个虚拟机都部署了一个nginx服务器,但是当我在另一个端口的第二个虚拟机上启动nginx服务器时,它超时了。在我看来,这是一个配置问题。

我使用的配置基于nginx,gunicorn,supervisor,django。

这是django /site_show/miss_site/miss_site/setting.py文件:

ALLOWED_HOSTS = ["*"]
STATIC_ROOT = '/site_show/miss_site/static/'
MEDIA_ROOT= os.path.join(BASE_DIR, 'media/')
MEDIA_URL= "/site_show/miss_site/media/"
TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'templates'),)
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',)
SITE_ID = 1

一些Django文件:

/site_show/miss_site/manage.py
/site_show/miss_site/media and /site_show/miss_site/static/
also /site_show/miss_site/templates/ where the index.html is

nginx的配置文件

upstream sample_project_server {
  server unix:/site_show/miss_site/gunicorn.sock fail_timeout=0;
}
server {
    listen   8008;
    server_name *public_address*;
    client_max_body_size 4G;
    access_log /site_show/miss_site/logs/nginx-access.log;
    error_log /site_show/miss_site/logs/nginx-error.log warn;
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect http;
        if (!-f $request_filename) {
            proxy_pass http://sample_project_server;
            break;
        }
    }
    location /static/ {
        autoindex on;
        alias   /site_show/miss_site/static/;
    }
    location /media/ {
        autoindex on;
        alias   /site_show/miss_site/media/;
    }

启动脚本:

NAME="showcase"                                                                                         
DJANGODIR=/site_show/miss_site                                                                                               
SOCKFILE=/site_show/miss_site/gunicorn.sock                                                                            
USER=www-data                                                                                 
GROUP=www-data                                                                               
NUM_WORKERS=3                                                              
DJANGO_SETTINGS_MODULE=miss_site.settings                                                                                
DJANGO_WSGI_MODULE=miss_site.wsgi                                                                                                                   
echo "Starting $NAME as `whoami`"

# Activate the virtual environment                                                                                                                                    

cd $DJANGODIR
source /site_show/site_env/bin/activate
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DJANGODIR:$PYTHONPATH

RUNDIR=$(dirname $SOCKFILE)
test -d $RUNDIR || mkdir -p $RUNDIR
themselves (do not use --daemon)                                                                     
exec gunicorn ${DJANGO_WSGI_MODULE}:application \
     --name $NAME \
     --workers $NUM_WORKERS \
     --user=$USER --group=$GROUP \
     --bind=unix:$SOCKFILE \
     --log-level=debug \
       --log-file=-

和supervisor.conf文件:

[program:site_show]
command = /site_show/miss_site/./lauch_script.sh
user = www-data
stdout_logfile = /var/log/site_show/gunicorn_supervisor.log
redirect_stderr = true
environment=LANG=fr_FR.UTF-8,LC_ALL=fr_FR.UTF-8

经过数小时的尝试,nginx无法提供正确的文件或不提供任何服务。感谢您将来的回答。

1 个答案:

答案 0 :(得分:0)

在Azure上打开端口8008,作业完成。