LINUX.ORG.RU
ФорумAdmin

Помогите с sed

 


0

1

Всем привет, скриптец пишу, подскажите пожалуйста как грамотно sed поменять
порт в директиве proxy_pass, в частности мне номер порта поменять надо у кокретного домена а не у всех сразу
вот пример конфига

server {
listen *:80;
server_name test.yy http://www.test.yy;
error_log /var/log/nginx/domains/test.yy.error.log error;

location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection «upgrade»;
proxy_pass http://127.0.0.1:80;
proxy_buffering off;
client_max_body_size 512m;
proxy_connect_timeout 3600s;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
send_timeout 3600s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}
}

server {
listen *:80;
server_name sada.rr http://www.sada.rr;
error_log /var/log/nginx/domains/sada.rr.error.log error;

location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection «upgrade»;
proxy_pass http://127.0.0.1:80;
proxy_buffering off;
client_max_body_size 512m;
proxy_connect_timeout 3600s;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
send_timeout 3600s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}
}



Последнее исправление: Ien_Shepard (всего исправлений: 1)

Не пытайся парсить xhtml регулярками. Напиши грамматику, разбирающую конфигш нгинкса и ей все и делай.

anonymous
()
Ответ на: комментарий от anonymous

О, фанатики секты «не парси регулярками» подтянулись. А если у него жёсткий эмбеддед и этот конфиг кроме как его скриптом и кроме как в этой строчке не правится?

DELIRIUM
()
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от DELIRIUM

А если у него жёсткий эмбеддед и этот конфиг кроме как его скриптом и кроме как в этой строчке не правится?

Тогда это надо было указывать в стартовом сообщении.

А у тебя я не вижу проверку домена, что ТСу как раз нужно

anonymous
()
Ответ на: комментарий от anonymous

Была такая идея, есть уже шаблоны по которым конфиг генериться, но надо добавить возможность порт поменять в уже сгенерином конфиге, делаю как умею

Ien_Shepard
() автор топика
Ответ на: комментарий от Ien_Shepard

Если у тебя в конфиге server_name может оказаться где угодно относительно listen, то парсить седом - гиблое дело. Можно написать скрипт, проходящий конфиг и запоминающий все что нужно, а потом менять порт только там, где надо. Это не так уж и сложно.

anonymous
()
Ответ на: комментарий от anonymous

На питоне/перле, ессно, на баше будет такое же гиблое дело.

anonymous
()

как грамотно sed поменять

Да на что угодно его поменять будет довольно грамотно.

Zmicier
()

не нашел решения пришлось генератор конфигов переделать что бы он в отдельные файлы писал

Ien_Shepard
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.