Tôi đã cài đặt thành công ứng dụng Perl trên ngăn xếp LEMP Ubuntu 20.4 của mình và tôi có thể truy cập ứng dụng đó trên: http://example.com:5762/login.pl
và http://example.com:5762/setup.pl
Tôi muốn cài đặt và truy cập phần mềm thông qua một thư mục con trong foo
thư mục: ví dụ.com/foo
Tôi đã sửa đổi tệp cấu hình nhưng khi tôi nhấp vào đó, tôi gặp lỗi không tìm thấy trang như trang này và tôi không thể truy cập phần mềm trên URL thư mục con. Tệp cấu hình Nginx của tôi ở bên dưới. Tôi bỏ lỡ điều gì để có thể truy cập ứng dụng thông qua URL thư mục con: ví dụ.com/foo
?
## Tệp cấu hình Nginx
# Bạn nên xem URL sau để hiểu rõ
# tệp cấu hình Nginx để giải phóng hoàn toàn sức mạnh của Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# Trong hầu hết các trường hợp, quản trị viên sẽ xóa tệp này khỏi các trang web đã bật/ và
# để nó làm tài liệu tham khảo bên trong các trang web có sẵn, nơi nó sẽ tiếp tục tồn tại
# được cập nhật bởi nhóm đóng gói nginx.
#
# Tệp này sẽ tự động tải các tệp cấu hình do người khác cung cấp
# ứng dụng, chẳng hạn như Drupal hoặc Wordpress. Các ứng dụng này sẽ được thực hiện
# có sẵn bên dưới đường dẫn có tên gói đó, chẳng hạn như /drupal8.
#
# Vui lòng xem /usr/share/doc/nginx-doc/examples/ để biết thêm các ví dụ chi tiết.
##
# Cấu hình máy chủ mặc định
#
người phục vụ
{
nghe 80 ;
nghe [::]:80 ;
# cấu hình SSL
#
# nghe 443 ssl default_server;
# lắng nghe [::]:443 ssl default_server;
#
# Lưu ý: Bạn nên tắt gzip cho lưu lượng SSL.
# Xem: https://bugs.debian.org/773332
#
# Đọc ssl_ciphers để đảm bảo cấu hình an toàn.
# Xem: https://bugs.debian.org/765782
#
# Chứng chỉ tự ký được tạo bởi gói ssl-cert
# Đừng sử dụng chúng trong máy chủ sản xuất!
#
# bao gồm đoạn trích/snakeoil.conf;
gốc /var/www/example.com/html/root;
# Thêm index.php vào danh sách nếu bạn đang sử dụng PHP
chỉ mục index.php index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
địa điểm /
{
# Lần đầu tiên cố gắng phục vụ yêu cầu dưới dạng tệp, sau đó
# làm thư mục, sau đó quay lại hiển thị lỗi 404.
try_files $uri $uri/ /index.php?$args;
}
# truyền tập lệnh PHP tới máy chủ FastCGI
#
vị trí ~ \.php$
{
bao gồm đoạn trích/fastcgi-php.conf;
#
# # Với php-fpm (hoặc các ổ cắm unix khác):
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
# # Với php-cgi (hoặc các ổ cắm tcp khác):
# fastcgi_pass 127.0.0.1:9000;
}
# từ chối quyền truy cập vào tệp .htaccess, nếu tài liệu gốc của Apache
# đồng tình với Nginx
#
vị trí ~ /\.ht
{
Phủ nhận tất cả;
}
## Tôi đã thêm khối này để truy cập ứng dụng Perl trên thư mục con /foo
vị trí /foo/
{
gốc /var/www/example.com/html/root;
try_files $uri $uri/ @starman;
}
# Tệp cấu hình không tồn tại
địa điểm @starman
{
# Nếu bạn đã thay đổi cổng trong tệp dịch vụ Starman, hãy thay đổi nó tại đây
proxy_pass http://localhost:5762;
proxy_set_header Máy chủ lưu trữ $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_cookie_path ~^/$ /foo/;
}
}
# Cấu hình máy chủ ảo ví dụ.com
#
# Bạn có thể di chuyển tệp đó sang một tệp khác trong các trang web có sẵn/ và liên kết tượng trưng đó
# đến các trang web đã bật/ để kích hoạt nó.
#
#người phục vụ {
#nghe80;
# nghe [::]:80;
#
# tên_máy chủ ví dụ.com;
#
# gốc /var/www/example.com;
# chỉ số index.html;
#
# địa điểm / {
# try_files $uri $uri/ =404;
# }
#}