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
TOP lựa chọn thay thế Google Flow tốt nhất
TOP công cụ AI thiết kế đồ họa trên trình duyệt web
Hướng dẫn tạo và chia sẻ slide AI trên Gamma
TOP ứng dụng AI chỉnh eo thon gọn đẹp nhất
Cách thay đổi ngôn ngữ trong ChatGPT
TOP công cụ AI pháp luật giúp tra cứu luật và giải đáp pháp lý
Cursor là gì?
Cách đồng bộ ngữ cảnh giữa ChatGPT, Claude, Gemini với ThreadPort
Hướng dẫn dùng Gemini Live chat bằng giọng nói
Hướng dẫn tạo ảnh thời khóa biểu chỉ bằng 1 câu lệnh
TOP công cụ AI cải thiện chất lượng video
Hướng dẫn chỉnh sửa video trong Google Flow
5 lợi ích của Google AI Pro mà nhiều người chưa tận dụng
7 ý tưởng prompt viết bài bằng AI giúp thúc đẩy quy trình sáng tạo nội dung
5 cách sáng tạo để sử dụng LLM
Tạo video AI đầu tiên của bạn trong 10 phút
TOP công cụ hữu ích nên thử trên Quantrimang
Prompt tạo poster nội quy lớp học các cấp
Hướng dẫn lấy Gemini API Key và kết nối với n8n chi tiết
NoteGPT AI Detector: Công cụ phát hiện nội dung do AI tạo