Скрипт для автоматического создания конфигурации хостов nginx из конфигурации apache2

Этот скрипт для автоматического создания конфигурационных файлов nginx используя настройки apache. Замечания пишем в комментариях.
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/perl
 
my $line;
 
my $input = $ARGV[0];
 
open(INP, "< $input");
while(<INP>){
 
    my($line) = $_;
    chomp($line);
 
    if(/ServerName/) { ($servername) = $_ =~ (/ServerName (.+)$/); }
    if(/DocumentRoot/) { ($DocumentRoot) = $_ =~ (/DocumentRoot (.+)$/); }
 
$line=q(
server {
        listen   80;
        );
$line =$line."server_name $servername;\n";
 
$line= $line.q(
        server_name_in_redirect off;
);
 
$line=$line."        access_log  /var/log/nginx/$servername.access.log;\n";
$line=$line."        error_log  /var/log/nginx/$servername.error.log;\n";
 
$line= $line.q(
        location / {
                # Перенаправляем запросы backend'у
                proxy_pass http://127.0.0.1:8080/;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
 
 
                location ~ /\.ht {
                    deny  all;
                }
 
        # Статику перечисленных типов отдаём непосредственно
        location ~* \.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
        );
$line= $line."                root $DocumentRoot;";
$line= $line.q(
                access_log off;
                expires 30d;
        }
}
);
if($DocumentRoot =~ /^.+$/ ){
    system("mkdir -p $DocumentRoot");
 
    if($servername =~ /^.+$/){
 
    open(OUT,">/etc/nginx/sites-available/$servername");
    print OUT $line;
    close(OUT);
 
    $servername="";
    $DocumentRoot="";
    }
}
}
close(INP);
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Login

Рубрики

Праздники

Армейские праздники

Счетчики

Яндекс.Метрика