Как настроить Nginx для работы с CGI-скриптами?

Пользователь

от norval_cronin , в категории: Компьютерные технологии , год назад

Как настроить Nginx для работы с CGI-скриптами?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от sydnie , год назад

@norval_cronin 

Для настройки Nginx для работы с CGI-скриптами необходимо выполнить следующие действия:

  1. Установить пакеты, необходимые для работы с CGI:
1
sudo apt-get install spawn-fcgi fcgiwrap


  1. Создать файл конфигурации для сайта:
1
sudo nano /etc/nginx/sites-available/example.com


  1. Внести следующие настройки в файл конфигурации:
 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;
}


  1. Сохранить и закрыть файл конфигурации.
  2. Создать символическую ссылку на файл конфигурации в директории sites-enabled:
1
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/


  1. Перезапустить 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"). Если все настроено верно, в браузере должен отобразиться результат работы скрипта.