gpt4 book ai didi

python - 在 Ubuntu 14.04 可信服务器上使用 nginx 和 Gunicorn 的多个 Django 应用程序

转载 作者:行者123 更新时间:2023-12-01 03:11:50 25 4
gpt4 key购买 nike

我是服务器配置新手。我在 ubuntu 14.04 可信服务器上使用 Gunicorn 和 nginx 进行一些谷歌和配置 django 应用程序。对于第一个 django 应用程序,我使用端口号 80,我的配置文件是:

/etc/init/gunicorn.conf :-

description "Gunicorn application server handling myproject"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid
setgid www-data
chdir /home/myserver/my_virtualenv_path/myproject
exec /home/myserver/my_virtualenv_path/myproject/gunicorn --workers 2 --bind unix:/home/myserver/my_virtualenv_path/myproject/myproject.sock myproject.wsgi:application

我的第一个 django 应用程序的 nginx 配置文件:

/etc/nginx/site-available :-

server {
listen 80;
server_name myapp.com;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/myserver/my_virtualenv_path/myproject;
}

location / {
include proxy_params;
proxy_pass http://unix:/home/myserver/my_virtualenv_path/myproject/myproject.sock;
}
}

之后,我将站点链接到启用站点的 。接下来,我在第一个 django 应用程序 virtualenv 中创建一个新的 django 应用程序,如下所示:

FirstApp_Virtual_Env\first_djangoapp\应用程序文件

FirstApp_Virtual_Env\Second_djangoapp\应用程序文件

现在我为第二个应用程序配置gunicorn,例如:

/etc/init/gunicorn_t :-

description "Gunicorn application server handling myproject2"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid
setgid www-data
chdir /home/myserver/my_virtualenv_path/myproject2
exec /home/myserver/my_virtualenv_path/myproject/gunicorn --workers 2 --bind unix:/home/myserver/my_virtualenv_path/myproject2/myproject2.sock myproject2.wsgi:application

我的第二个 Django 应用程序的 nginx 配置文件:

/etc/nginx/site-available :-

server {
listen 8000;
server_name myapp2.com;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/myserver/my_virtualenv_path/myproject2;
}

location / {
include proxy_params;
proxy_pass http://unix:/home/myserver/my_virtualenv_path/myproject2/myproject2.sock;
}
}

之后,我将网站链接到启用网站的网站。

现在这是我的问题:当我输入 myapp.com 时,我的第一个 django 应用程序工作正常,但对于第二个应用程序,当我输入 myapp2.com 时,它显示 nginx 页面,当我输入 myapp2.com:8000 时,它工作正常。我为此做了一些谷歌,但无法找到解决方案。我是这方面的新手,所以请给我一个提示,告诉我如何纠正我的问题。谢谢你的时间。

最佳答案

您将 nginx 配置为在端口 8000 上为 myapp2.com 提供服务:

server {
listen 8000;
server_name myapp2.com;
# ...
}

那么你为什么期望 nginx 在端口 80 上提供服务呢?

[edit]我认为上面的内容足以说明问题,但显然还不够,所以让我们重新开始:

您将 nginx 配置为在端口 8000 上为 myapp2.com 提供服务(conf 中的 listen 8000; 行,因此 nginx 会按照您的要求执行操作:它在端口 8000 上为 myapp2.com 提供服务。

如果您希望 nginx 在端口 80 上为 myapp2.com 提供服务(这是 http 的隐含默认端口,因此您不必在 url 中明确指定它 - IOW ' http://myapp2.com/ ' 是 ' http://myapp2.com:80/ ' 的快捷方式) ,您所要做的就是配置 nginx 在端口 80 上提供服务,就像您对“myapp.com”所做的那样:将 listen 8000; 替换为 listen 80;

关于python - 在 Ubuntu 14.04 可信服务器上使用 nginx 和 Gunicorn 的多个 Django 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42833443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com