gpt4 book ai didi

python - nginx + uwsgi 用于使用多个端口的多个站点

转载 作者:行者123 更新时间:2023-12-01 05:10:52 26 4
gpt4 key购买 nike

例如,我想在一个 IP 地址 1.2.3.4 中托管 2 个站点。 我想使用不同的端口来访问它们。例如,我希望将 1.2.3.4:8000 指向 siteA,将 1.2.3.4:9000 指向 siteB。我正在使用 nginx + uwsgi。

以下是配置站点之一的示例。对于 NGINX,我有:

server {
listen 8000; ## listen for ipv4; this line is default and implied
location / {
uwsgi_pass unix:///tmp/uwsgi.sock;
include uwsgi_params;
uwsgi_read_timeout 1800;
}
}

对于 UWSGI,我有:

[uwsgi]
socket = /tmp/uwsgi.sock
master = true
harakiri = 60
listen = 5000
limit-as = 512
reload-on-as = 500
reload-on-rss = 500
pidfile = /tmp/uwsgi.pid
daemonize = /tmp/uwsgi.log
**chdir = /home/siteA**
module = wsgi_app
plugins = python

要访问 siteA,我只需转到 1.2.3.4:8000。

我对一个站点的配置没有问题,但我不知道如何使其与两个站点一起使用。请注意,我没有将站点与服务器名称绑定(bind)。有关系吗?提前致谢。

附注以下是我启动NGINX和UWSGI的方式。我首先将 nginx conf 文件(对于 siteA,我将其命名为 siteA_for_ngxing.conf)放在 /etc/nginx/sites-available/ 目录中。

然后我使用uwsgi --ini uwsgi.ini启动uwsgi。 (uwsgi.ini文件包含上面的[uwsgi])...有什么帮助吗?

最佳答案

下面的例子对你来说可能没用,因为你似乎手动安装了uWSGI,而不是使用系统存储库。但我认为,您可以轻松找到如何在 Ubuntu 上配置 uWSGI,并在您的系统上进行相同的配置。

这是我在 Ubuntu 上的做法。我从 Ubuntu 存储库安装了 uWSGI 和 nginx,所以我得到了以下目录:

/etc/nginx/sites-available
/etc/nginx/sites-enabled
/etc/uwsgi/apps-available
/etc/uwsgi/apps-enabled

/etc/uwsgi/apps-available 上,我放置了两个文件:app_a.iniapp_b.ini。这些文件中没有选项 socket(以及 piddaemonize)。 uWSGI将使用ini文件名检测套接字、日志和pid文件名。然后我在 /etc/uwsgi/apps-enabled 中创建了指向这些文件的符号链接(symbolic link)以启用应用程序。

对于 nginx,我使用了 /etc/nginx/sites-available/default 配置文件(它已经符号链接(symbolic link)到 enabled 目录)。

upstream app_a {
server unix:///run/uwsgi/app/app_a/socket;
}
upstream app_b {
server unix:///run/uwsgi/app/app_b/socket;
}

server {
listen 8000;

location / {
uwsgi_pass app_a;
include uwsgi_params;
}
}
server {
listen 9000;

location / {
uwsgi_pass app_b;
include uwsgi_params;
}
}

关于python - nginx + uwsgi 用于使用多个端口的多个站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24254138/

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