Điểm:0

Đặt đường dẫn ngữ cảnh trong nginx

lá cờ cn

Tôi đang cố gắng phân phát các tệp và ứng dụng đi kèm gói webpack của mình từ một đường dẫn ngữ cảnh. Tệp cấu hình Nginx như sau:

nginx.conf

người phục vụ {

  nghe 80;
  gốc /usr/share/nginx/html;
  chỉ mục index.html index.htm;

  địa điểm / {
    try_files $uri $uri/ /mfeexample/index.html;
  }

  vị trí /mfeexample/ {   
    try_files $uri $uri/ /mfeexample/index.html;
  }
}

Dockerfile

#Xây dựng môi trường
TỪ nút:14.2.0-alpine như bản dựng

# Thư mục làm việc
WORKDIR /ứng dụng

#Sao chép tệp gói nút vào thư mục làm việc
SAO CHÉP gói.* .

#Cài đặt phụ thuộc ứng dụng
CHẠY cài đặt npm --silent

#Sao chép tất cả mã
SAO CHÉP . .

#RUN Bản dựng sản xuất
CHẠY npm chạy bản dựng

#môi trường sản xuất
TỪ nginx:ổn định-alpine

# Triển khai ứng dụng đã xây dựng lên máy chủ Nginx
# /usr/share/nginx/html là thư mục tĩnh Nginx dùng để phục vụ ứng dụng
SAO CHÉP --from=build /app/build /usr/share/nginx/html/mfeexample

# Xóa cấu hình Nginx mặc định trong Nginx Container
CHẠY rm /etc/nginx/conf.d/default.conf

# Áp dụng tệp cấu hình mới
SAO CHÉP nginx/nginx.conf /etc/nginx/conf.d/default.conf

# Hiển thị ứng dụng trên PORT 80
TIẾP XÚC 80

# Khởi động máy chủ Nginx
CMD ["nginx", "-g", "tắt daemon;"]

Bây giờ, khi nhìn vào tab mạng trong trình duyệt, tôi thấy tất cả các tệp đang được cung cấp tại http://localhost:3000/mfeexample/, đó chính xác là điều tôi muốn. Tuy nhiên, khi tôi thử tuyến đường lồng nhau, nó bị hỏng, ý tôi là tuyến đường lồng nhau http://localhost:3000/mfeexample/customer/, nhìn lại tab mạng, nginx đang tìm kiếm các tệp trong http://localhost:3000/mfeexample/ khách hàng/index.html, nhưng tôi muốn nginx luôn tìm thấy các tệp từ http://localhost:3000/mfeexample.

Tái bút: Xin lưu ý rằng tôi là người mới sử dụng nginx và tôi đã thực hiện phương pháp thử và sai để đạt được điểm này.

Cảm ơn trước.

lá cờ us
Bạn có thể cố gắng làm rõ câu hỏi của mình bằng các ví dụ rõ ràng không: "Khi tôi yêu cầu URL A, tôi muốn lấy tệp B từ hệ thống tệp". "Khi tôi yêu cầu URL C, tôi muốn lấy tệp D từ hệ thống tệp". Có một chút khó khăn để xem những gì bạn cần từ câu hỏi của bạn. Vui lòng làm rõ ý của bạn theo đường dẫn ngữ cảnh.
Sampreeth Amith Kumar avatar
lá cờ cn
Đường dẫn ngữ cảnh Ý tôi là đường dẫn URL mà tại đó ứng dụng cần được phục vụ. Trong trường hợp của tôi, tôi muốn ứng dụng được phân phối tại/mfeexample chứ không phải ở cấp cơ sở. Tất cả các tệp cũng phải được phân phát từ /mfeexample.
lá cờ us
Vui lòng thêm các ví dụ chính xác như tôi đã yêu cầu ở trên.Không có ví dụ rõ ràng, câu hỏi này không thể được trả lời.
Sampreeth Amith Kumar avatar
lá cờ cn
Để đưa ra một ví dụ, khi tôi nhấn vào URL http://localhost:3000/, ứng dụng phản ứng sẽ không được hiển thị nhưng khi tôi nhấn vào URL http://localhost:3000/mfeexample/, ứng dụng sẽ hiển thị nội dung của nó và cũng phục vụ tất cả các tệp tĩnh từ http://localhost/mfeexample. Bây giờ nếu tôi thử tuyến đường lồng nhau, tức là http://localhost:3000/mfeexample/customer/, ứng dụng phản ứng tương tự sẽ phân phối tất cả các tệp tĩnh từ http://localhost:3000/mfeexample/ nhưng sẽ hiển thị nội dung trong http:// localhost:3000/mfeexample/khách hàng/ Tôi hi vọng cái này giúp được.
Sampreeth Amith Kumar avatar
lá cờ cn
Ứng dụng sẽ trả về main.js từ ứng dụng React sẽ có tại http://localhost:3000/mfeexample. Người dùng có thể truy cập http://localhost:3000/mfeexample hoặc http://localhost:3000/mfeexample/customer, tuy nhiên vấn đề hiện tại là khi truy cập http://localhost:3000/mfeexample/customer máy chủ cố gắng phân phát main.js từ http://localhost:3000/mfeexample/customer thay vì đường dẫn cơ sở tại http://localhost:3000/mfeexample
lá cờ us
Xin lỗi, nhưng ví dụ của bạn vẫn không hiển thị mỗi URL sẽ phân phát đường dẫn hệ thống tệp nào. Vui lòng chỉnh sửa câu hỏi và thêm URL - ánh xạ đường dẫn ở đó.

Đă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.