Tôi có Dockerfile sau:
TỪ nginx
CHẠY bản cập nhật apt-get
CHẠY apt-get cài đặt python3 python3-pip fcgiwrap -y
docker-compose.yml:
phiên bản: '3.3'
dịch vụ:
nginx:
bản dựng: ./data-nginx/.
container_name: nginx
khởi động lại: luôn luôn
cổng:
- "80:80"
- "443:443"
mạng:
- máy chủ web
khối lượng:
- ./data-nginx/conf.d/:/etc/nginx/conf.d/
- ./data-nginx/fastcgi.conf:/etc/nginx/fastcgi.conf
- ./data-nginx/proxy.conf:/etc/nginx/proxy.conf
- ./data-nginx/mime.types:/etc/nginx/mime.types
- ./data-nginx/fcgiwrap.conf:/etc/nginx/fcgiwrap.conf
- ./www:/var/www
Dafault.conf của nginx:
người phục vụ {
nghe 80;
tên máy chủ _;
gốc /var/www;
chỉ mục index.html index.htm;
địa điểm / {
try_files $uri $uri/ =404;
}
bao gồm fcgiwrap.conf;
}
và fcgiwrap.conf:
vị trí /cgi-bin/ {
tắt gzip;
gốc /var/www;
fastcgi_pass unix:/run/fcgiwrap.socket;
bao gồm /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
}
trong /var/www/cgi-bin/ Tôi có test.py:
#!/usr/bin/python3
in ("Kiểm tra")
Bây giờ khi tôi đi đến http://localhost/cgi-bin/test.py
Tôi có:
[lỗi] 31#31: *1 connect() to unix:/run/fcgiwrap.socket không thành công (111: Kết nối bị từ chối) trong khi kết nối với thượng nguồn, máy khách: 172.18.0.1, máy chủ: _, yêu cầu: "NHẬN /cgi- bin/test.py HTTP/1.1", ngược dòng: "fastcgi://unix:/run/fcgiwrap.socket:", máy chủ lưu trữ: "localhost"
Những gì tôi muốn thực hiện, về cơ bản là chạy một con trăn trên Máy chủ (cục bộ) từ một trang web bằng cách nhấn một nút.