[英]nginx + uwsgi for multiple sites using multiple ports
我想在一個IP地址1.2.3.4中托管2個站點。 我想使用其他端口訪問它們。 例如,我想為siteA使用1.2.3.4:8000,而將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。
我對一個站點的配置沒有任何問題,但是我不知道要使其與兩個站點一起工作。 請注意,我沒有用服務器名稱綁定站點。 有關系嗎? 提前致謝。
PS以下是我啟動NGINX和UWSGI的方式。 我首先將nginx conf文件(對於siteA,我稱其為siteA_for_ngxing.conf)放在/ etc / nginx / sites-available /目錄中。
然后,我使用uwsgi --ini uwsgi.ini啟動uwsgi 。 (uwsgi.ini文件包含上面的[uwsgi])...有什么幫助嗎?
以下示例對您可能沒有用,因為似乎您是手動安裝了uWSGI,而不是使用系統存儲庫。 但是我認為,您可以輕松找到uWSGI在Ubuntu上的配置方式,並在系統上進行相同的配置。
這是我在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.ini
和app_b.ini
。 這些文件中沒有選項socket
(以及pid
和daemonize
)。 uWSGI將使用ini文件名來檢測套接字,日志和pid文件名。 然后,我在/etc/uwsgi/apps-enabled
創建了指向這些文件的符號鏈接,以啟用應用程序。
對於nginx,我使用了/etc/nginx/sites-available/default
配置文件(它已經符號鏈接到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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.