@norval_cronin
Для настройки Nginx для работы с CGI-скриптами необходимо выполнить следующие действия:
- Установить пакеты, необходимые для работы с CGI:
1
|
sudo apt-get install spawn-fcgi fcgiwrap
|
- Создать файл конфигурации для сайта:
1
|
sudo nano /etc/nginx/sites-available/example.com
|
- Внести следующие настройки в файл конфигурации:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
server {
listen 80;
server_name example.com;
# Путь к корневому каталогу сайта
root /var/www/example.com;
location / {
# Настройки для работы с CGI
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_n$
# Запускаем CGI скрипты через fcgiwrap
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
# Отключаем директиву sendfile на время работы с CGI
# для обхода проблем с кэшированием
sendfile off;
# Отключаем кэширование при работе с CGI
expires -1;
# Настройки для работы с SSL (если необходимо)
#ssl_certificate /etc/ssl/certs/example.com.crt;
#ssl_certificate_key /etc/ssl/private/example.com.key;
}
|
- Сохранить и закрыть файл конфигурации.
- Создать символическую ссылку на файл конфигурации в директории sites-enabled:
1
|
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
|
- Перезапустить Nginx:
1
|
sudo service nginx restart
|
Теперь Nginx настроен для работы с CGI-скриптами. Для проверки работы можно создать простой CGI-скрипт и разместить его в корневой директории сайта, например:
1
2
3
4
5
6
7
8
9
10
11
12
|
#!/bin/bash
echo "Content-Type: text/html"
echo ""
echo "<html>"
echo "<head>"
echo "<title>CGI Test</title>"
echo "</head>"
echo "<body>"
echo "<h1>CGI Test</h1>"
echo "<p>This is a test CGI script.</p>"
echo "</body>"
echo "</html>"
|
Чтобы выполнить данную команду, необходимо создать файл cgi-test.sh, добавить в него код и сохранить в корневой директории сайта. Затем набрать адрес в браузере, при этом стоит убедиться, что скрипт имеет разрешение на исполнение (например, можно использовать команду "sudo chmod +x cgi-test.sh"). Если все настроено верно, в браузере должен отобразиться результат работы скрипта.