установить переменную nginx server_name из команды

root@username:/home/dokku/appname# cat nginx.conf

server {
  listen      [::]:80;
  listen      80;
  server_name appname.wrongname.co.uk ;
  access_log  /var/log/nginx/appname-access.log;
  error_log   /var/log/nginx/appname-error.log;

Часть 1: Как обновить переменную server_name из командной строки?

Бонусный раунд: Есть идеи, почему докку (для докера) неправильно называет мой сервер? Недавно он начал называть вещи appname.dokku.me, где, как и прежде, он правильно называл новые приложения «appname.servername.co.uk»?

Спасибо.

1
задан 28 January 2016 в 20:12

2 ответа

Ваше глобальное /home/dokku/VHOST файл, должно быть, было перезаписано с dokku.me. Проверьте что, а также /home/dokku/APP/VHOST файл.

1
ответ дан 29 January 2016 в 06:12
  • 1
    Строго говоря это на самом деле возможно: fname=new[110]#39;\n'line.sh; printf '#!/bin/sh\necho "Hello world"\n' > "$fname"; chmod 755 "$fname"; ./"$fname". Любой, кто делает это, конечно, заслуживает того, что они получают. – terdon♦ 25 April 2017 в 03:03

можно использовать sed команду

cp /home/dokku/appname/nginx.conf /home/dokku/appname/nginx.conf.backup
sed -i 's/appname.wrongname.co.uk/appname.dokku.me/g' /home/dokku/appname/nginx.conf

в этом поиске команды содержание в определенном файле и заменить его новым форматом содержания для использования он:

sed -i 's/searchForContent/replacementNewContent/g' addressToFile
1
ответ дан 29 January 2016 в 06:12
  • 1
    @steeldriver проблемой является, например, команда, мог быть чем-то как docker exec <container name> <command> <options>, в этом случае, $cmd мог быть docker и опции exec, <container name>, <command>, <options>. That' s звучат немного странными мне:/ – darckcrystale 25 April 2017 в 03:07

Другие вопросы по тегам:

Похожие вопросы: