Решил себе поставить на ubuntu 14.04 nginx+perl+mysql. Поставил командой sudo apt-get install mysql-server nginx fcgiwrap. Установилось всё без проблем. Так же через cpan установил DBI и CGI, установка прошла успешно. Создал так же файл /etc/nginx/sites-available/test.com и в этот файл записал следующее:
server {
listen 80;
server_name test.com; access_log /home/www/test.com/logs/access.log;
error_log /home/www/test.com/logs/error.log;
root /home/www/test.com/public_html;
location ~ \.pl$ {
gzip off;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
fastcgi_index index.pl;
fastcgi_param SCRIPT_FILENAME /home/www/test.com/public_html/index.pl;
}
location / {
index index.pl;
}
}
В директории /etc/nginx/sites-enable сделил символическую ссылку на ../sites-available/test.com
Вот содержание файла /etc/hosts : 127.0.0.1 localhost 127.0.1.1 ubuntu 127.0.0.1 test.com
# The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Сам скрипт для запуска лежит по адресу /home/www/test.com/public_html/index.pl Вот его содержимое:
#!/usr/bin/perl
#
# The traditional first program.
# Strict and warnings are recommended.
use strict;
use warnings;
# Print a message.
print "Hello, World!\n";
Перезапускаю nginx и переходя по адресу http://test.com/index.pl или просто по test.com получаю ошибку 502 BAD GATEWAY...
Вот что по этому поводу пишеться в логе: 2017/03/27 05:13:35 [error] 2706#0: *1 FastCGI sent in stderr: «Cannot execute script (/home/www/test.com/public_html/index.pl)» while reading response header from upstream client: 127.0.0.1, server: test.com, request: «GET /indexpl HTTP/1.1», upstream: «fastcgi://unix:/var/run/fcgiwrap.socket:», host: «test.com»
Помогите, пожалуйста, разобраться новичку с настройкой :)