Django应用程序部署Digitalocean停留在Nginx主页上

时间:2018-06-22 12:13:23

标签: django nginx deployment digital-ocean

我已经按照DigitalOcean教程在DigitalOcean上部署了django应用程序,该指南是:

https://www.digitalocean.com/community/tutorials/how-to-deploy-a-local-django-app-to-a-vps

问题: 问题是,当我使用浏览器访问IP时,看到的是欢迎使用nginx 页面,而不是我的django应用。

教程重点

请仔细阅读本教程,如教程所述,我没有看到以下错误:server_names_hash, you should increase server_names_hash_bucket_size: 32

我所做的与本教程之间的另一个重要区别是gunicorn_django --bind yourdomainorip.com:8001对我不起作用。

我使用此语句来启动枪械:

web: gunicorn --chdir code/computationalMarketing computationalMarketing.wsgi --log-file -

我的配置

/etc/nginx/sites-enabled,我有一个名为computationalMarketing的符号链接,它指向/etc/nginx/sites-available/computationalMarketing

此文件包含以下几行:

server {
    listen 127.0.0.1;
    server_name 159.65.18.211;

    error_log /var/log/nginx/localhost.error_log info;

    root /var/www/localhost/htdocs;

    location /static/ {
        alias /opt/computationalMarketing/static/;
    }

    location / {
        proxy_pass http://127.0.0.1:8001;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
    }
}

我在/opt/computationalMarketing有一个virtualenv,在其中有另一个computationalMarketing回购文件的Git文件夹。 此仓库具有以下结构: enter image description here

我的装置是:

sudo pip3 install numpy==1.13.3
sudo pip3 install pandas==0.22.0
sudo pip3 install scikit-learn==0.19.1
sudo pip3 install pymysql==0.8.1
sudo pip3 install psycopg2==2.7.3.2
sudo pip3 install django==2.0.5
sudo pip3 install django-connection-url==0.1.2
sudo pip3 install whitenoise==3.3.1
sudo pip3 install gunicorn==19.7.1

数据库是一个Postgresql,我可以毫无问题地连接它。

有人能猜出为什么我看到nginx页面而不是我的django应用程序吗?

1 个答案:

答案 0 :(得分:0)

您已经告诉Nginx仅在localhost上侦听此特定配置。不要那样做完全删除listen行。

您的问题中还有其他一些奇怪的事情。您声称用来启动gunicorn的命令是Procfile指令,您实际上不能在命令行上运行它。您实际上使用什么命令来启动Gunicorn?无论您使用什么,都需要告诉它在nginx代理的同一端口上服务-对于您的情况是8001。