Điểm:0

tên nginx khác nhau cho cổng khác nhau

lá cờ pk

Tôi có hai ứng dụng web (webapp1 cổng 7000 & webapp2 cổng 8000) để sử dụng nội bộ được lưu trữ trên máy chủ VM của tôi với địa chỉ IP 192.168.15.10 (ubuntu 20.04)

Tôi muốn xem liệu có thể gán các tên khác nhau cho hai ứng dụng web hay không.

Cách tôi muốn mọi thứ hoạt động là:

Nếu người dùng nội bộ nhập webapp1.random-company.com trong trình duyệt, nó sẽ hướng người dùng đến webapp1 với cổng 7000 (192.168.15.10:7000)

Nếu người dùng nội bộ nhập webapp2.random-company.com trong trình duyệt, nó sẽ hướng người dùng đến webapp2 với cổng 8000 (192.168.15.10:8000)

Tôi đã thử sử dụng nginx trên 192.168.15.10 và có thể hướng người dùng đến webapp1.random-company.com (192.168.15.10:7000). Tuy nhiên, tôi không thể hướng người dùng đến webapp2.random-company.Trên thực tế, khi người dùng nhập webapp1.random-company.com:8000, nó sẽ hướng người dùng đến webapp2.

Đây có phải là một cái gì đó có thể?

Một ứng dụng được xây dựng trong django và ứng dụng còn lại được xây dựng trong bình

Điểm:0
lá cờ cn

Không giải quyết các cổng trong URL, sức mạnh của nginx là khả năng proxy ngược của nó.

Đầu tiên, tạo các tệp cấu hình khác nhau cho từng ứng dụng web, không chỉ phá vỡ mọi thứ trong một cấu hình máy chủ - hoặc thậm chí tệ hơn, trong nginx.conf tập tin. Đặt một Thượng nguồn trên chính của bạn khối máy chủ cho mỗi ứng dụng:

ứng dụng web ngược dòng1 {
    máy chủ 127.0.0.1:7000 trọng lượng=1 fail_timeout=0; # cài đặt thời gian chờ và trọng lượng là tùy chọn
    }

Bên trong các khối máy chủ, khi nginx truy cập vị trí "/", hãy gọi ngược dòng:

người phục vụ {
        nghe 443 ssl http2; #nếu bạn sử dụng HTTPS - bạn nên sử dụng HTTPS
        server_name webapp1.random-company.com;
[…]

địa điểm / {
        […]
        proxy_pass http://webapp1;
    }

Lặp lại cho ứng dụng web2 tương ứng:

thượng nguồn webapp2 {
    máy chủ 127.0.0.1:8000;
    }

người phục vụ {
        nghe 443 ssl http2; #nếu bạn sử dụng HTTPS - bạn nên sử dụng HTTPS
        server_name webapp2.random-company.com;
        […]

địa điểm / {
        […]
        proxy_pass http://webapp2;
    }

Liên quan đến các ứng dụng Django/Flask, bạn thực sự không cần gọi các ứng dụng qua TCP/IP, bạn có thể yêu cầu nginx trực tiếp nghe các ổ cắm UNIX của chúng. Bạn sử dụng gì để cung cấp ứng dụng? uWSGI, Gunicorn, (...)?

Đọc thêm cho Flask trên uWSGI

Nói chung, đây không nhất thiết phải là một chủ đề về Ubuntu, có lẽ bạn sẽ muốn kiểm tra StackOverflow hoặc Serverfault để thay thế.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.