Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Fcgiwrap là một server đơn giản dùng để chạy các ứng dụng CGI qua FastCGI. Chúng ta có thể sử dụng nó để cung cấp hỗ trợ CGI sạch cho webserver nginx. Nó là một máy chủ nhẹ với các tùy chọn cấu hình bằng không, cho phép sử dụng cùng một nhóm để chạy các trang web khác nhau. Dưới đây là cách cài đặt fcgiwrap trên Ubuntu 20.04.
CGI (Common Gateway Interface) là phương pháp ban đầu để tạo các trang web động. Hướng dẫn dưới đây giả định rằng bạn đã cài đặt và có cấu hình máy chủ Nginx trên Ubuntu Linux 20.04 LTS.
Mở terminal và nhập các lệnh sau để cập nhật các gói đã cài đặt bảo mật trên Ubuntu 20.04:
$ sudo apt update
$ sudo apt upgrade
Để cài đặt các gói fcgiwrap cho Nginx, hãy chạy lệnh sau với tư cách root user với sự trợ giúp của [nixmcd name=”apt”]:
$ sudo apt install fcgiwrap
Sử dụng lệnh systemctl như sau:
$ sudo systemctl enable fcgiwrap
$ sudo systemctl start fcgiwrap
$ sudo systemctl status fcgiwrap
Bây giờ, chúng ta đã cài đặt fcgiwrap, tiếp theo là tạo cấu hình mới cho tệp FastCGI:
sudo nano /etc/nginx/fcgiwrap.conf
Nối các cấu hình sau:
location /cgi-bin/ {
# Disable gzip (it makes scripts feel slower since they have to complete
# before getting gzipped)
gzip off;
# Set the root to /usr/lib (inside this location this means that we are
# giving access to the files under /usr/lib/cgi-bin)
root /usr/lib;
# Fastcgi socket
fastcgi_pass unix:/var/run/fcgiwrap.socket;
# Fastcgi parameters, include the standard ones
include /etc/nginx/fastcgi_params;
# Adjust non standard parameters (SCRIPT_FILENAME)
fastcgi_param SCRIPT_FILENAME /usr/lib$fastcgi_script_name;
}
Chỉnh sửa nginx.conf hoặc file domain ảo. Ví dụ:
sudo nano /etc/nginx/nginx.conf
## OR ##
sudo nano /etc/nginx/sites-enabled/default
Tiếp theo, xác định vị trí server và thêm chỉ thị sau:
## Trun on /cgi-bin/ support to run CGI apps ##
include /etc/nginx/fcgiwrap.conf;
Lưu và đóng file. Tải lại hoặc khởi động lại server Nginx:
$ sudo nginx -t
$ sudo nginx -s reload
Viết một script CGI cơ bản bằng FastCGI khá đơn giản. Trước tiên, chúng ta phải tạo một thư mục cgi-bin trong /usr/lib/ bằng cách sử dụng lệnh mkdir:
$ sudo mkdir -vp /usr/lib/cgi-bin/
mkdir: created directory '/usr/lib/cgi-bin/'

Mở trình soạn thảo văn bản và tạo tệp sau:
sudo vi /usr/lib/cgi-bin/hello.cgi
Nối mã bash sau:
#!/usr/bin/env bash
echo "Content-type: text/html"
echo ""
now="06/07/2020"
echo '<html><head><title>Hello World - CGI app</title></head>'
echo '<body>'
echo '<h2>Hello World!</h2>'
echo "Computer name : $HOSTNAME<br/>"
echo "The current date and time : ${now}<br/>"
echo '</body>'
echo '</html>'
Đặt quyền thực thi trên /usr/lib/cgi-bin/hello.cgi bằng lệnh chmod và lệnh chown:
$ sudo chmod +x -v /usr/lib/cgi-bin/hello.cgi
mode of '/usr/lib/cgi-bin/hello.cgi' changed from 0644 (rw-r--r--) to 0755 (rwxr-xr-x)
Kiểm tra bằng cách mở trình duyệt web và nhập url:
https://your-domain-here/cgi-bin/hello.cgi
## For instance ##
https://www.cyberciti.biz/cgi-bin/hello.cgi
Bạn có thể viết các ứng dụng hoặc script CGI bằng bất kỳ ngôn ngữ lập trình nào. CGI cho các app/script có thể xuất hiện đơn giản và dễ dàng, nhưng để viết được các ứng dụng đó lại không hề đơn giản.
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Đồng bộ tư duy với Claude Code để ai lập trình hiệu quả hơn
Prompt AI tạo poster Art Deco phong cách thập niên 1920
3 Chrome extension giúp NotebookLM hoạt động tốt với các công cụ khác
10 prompt hữu ích cho giáo viên Hóa học
Vì sao Claude Code vẫn là công cụ được sử dụng nhiều nhất, ngay cả với những người hoàn toàn không biết lập trình?
Những công cụ miễn phí làm NotebookLM trở nên hữu ích gấp đôi
Prompt tạo tranh màu nước nghệ thuật bằng AI cực đẹp
Tại sao nút Copilot biến mất khỏi ứng dụng Office của bạn?
Thử nghiệm mô hình mới Claude Fable 5 trong thực tế: Liệu nó có xứng đáng với kỳ vọng?
Thử nghiệm mô hình mới Claude Fable 5 trong thực tế: Liệu nó có xứng đáng với kỳ vọng?
Cách kiểm tra hoạt động AI trên Windows theo ứng dụng
Karaoke Nước mắt hạnh phúc - Beat Midi
Cách cài WARP 1.1.1.1 trên máy tính để tăng tốc vào web
Physical AI là gì? phân biệt Physical AI với các thuật ngữ AI hiện đại
Cấu trúc prompt tạo bài viết chuẩn SEO hoàn chỉnh bằng AI
Cách tái cấu trúc mã nguồn với Claude Code
Thử nghiệm Claude Code, Codex và Antigravity trên một dự án điện tử thực tế: Kết quả ra sao?
10 prompt giúp bạn viết nội dung hay và chuyên nghiệp
4 thay đổi cần thực hiện trước khi mở một Obsidian vault mới
Perplexity vs ChatGPT: So sánh chi tiết hai trợ lý AI hàng đầu