LINUX.ORG.RU
ФорумAdmin

nginx invalid option: «^~»

 


0

1

Внезапно возникла проблема, при перезапуске nginx выдал ошибку

Starting nginx: nginxnginx: invalid option: "^~"
и больше не запускается, но тестирование конфига проходит успешно
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

В конфиге целая куча строк с «^~», что-то не приходит ничего в голову как разобраться что конкретно ему «не нравиться»?

Советы, рекомендации?



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

А если его запустить не через init.d?

beastie ★★★★★
()

ты его пересобирал и забыл вкомпилить pcre? Вообще, я не верю что оно само просто взяло и сдохло, ты что-то химичил.

true_admin ★★★★★
()

Кстати, что такое ^~? Я думал ты про регекспы,но у них другой синксис. Ты правил конфиги вимом и нажал не ту кнопку? :)

true_admin ★★★★★
()

Обновил да, с 1.2.5 до 1.2.7, но был уверен что откатил до старой версии после возникновения ошибки, но как оказалось что фактически ничего не откатил. Вернул 1.2.5 все стало нормально.

Ставил из dotdeb было 1.2.5-1~dotdeb.0 обновил до 1.2.7-1~dotdeb.0

Как обычно основная проблема оказалась в невнимательности :(

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

ты что-то химичил

Мне тоже так кажется. Или конфиг не тот или где-то точка с запятой потерялась или что-то с флагами init.d не в порядке.

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

Думаю что собрано без pcre, надо смотреть флаги сборки через nginx -V и сравнивать

true_admin ★★★★★
()

Да вроде как одинаковые опции:

nginx version: nginx/1.2.5

TLS SNI support enabled
configure arguments:
--prefix=/usr/share/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-log-path=/var/log/nginx/access.log
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--lock-path=/var/lock/nginx.lock
--pid-path=/var/run/nginx.pid
--with-pcre-jit
--with-debug
--with-file-aio
--with-http_addition_module
--with-http_dav_module
--with-http_geoip_module
--with-http_gzip_static_module
--with-http_image_filter_module
--with-http_realip_module
--with-http_secure_link_module
--with-http_stub_status_module
--with-http_ssl_module
--with-http_sub_module
--with-http_xslt_module
--with-ipv6
--with-sha1=/usr/include/openssl
--with-md5=/usr/include/openssl
--with-mail
--with-mail_ssl_module
--add-module=/usr/src/nginx/source/nginx-1.2.5/debian/modules/nginx-auth-pam
--add-module=/usr/src/nginx/source/nginx-1.2.5/debian/modules/nginx-echo
--add-module=/usr/src/nginx/source/nginx-1.2.5/debian/modules/nginx-upstream-fair
--add-module=/usr/src/nginx/source/nginx-1.2.5/debian/modules/nginx-dav-ext-module
--add-module=/usr/src/nginx/source/nginx-1.2.5/debian/modules/nginx-syslog
--add-module=/usr/src/nginx/source/nginx-1.2.5/debian/modules/nginx-cache-purge
--add-module=/usr/src/nginx/source/nginx-1.2.5/debian/modules/nginx-pinba
--add-module=/usr/src/nginx/source/nginx-1.2.5/debian/modules/nginx-http-substitution-filter

nginx version: nginx/1.2.7

TLS SNI support enabled
configure arguments:
--prefix=/usr/share/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-log-path=/var/log/nginx/access.log
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--lock-path=/var/lock/nginx.lock
--pid-path=/var/run/nginx.pid
--with-pcre-jit
--with-debug
--with-file-aio
--with-http_addition_module
--with-http_dav_module
--with-http_geoip_module
--with-http_gzip_static_module
--with-http_image_filter_module
--with-http_realip_module
--with-http_secure_link_module
--with-http_stub_status_module
--with-http_ssl_module
--with-http_sub_module
--with-http_xslt_module
--with-ipv6
--with-sha1=/usr/include/openssl
--with-md5=/usr/include/openssl
--with-mail
--with-mail_ssl_module
--add-module=/usr/src/nginx/source/nginx-1.2.7/debian/modules/nginx-auth-pam
--add-module=/usr/src/nginx/source/nginx-1.2.7/debian/modules/nginx-dav-ext-module
--add-module=/usr/src/nginx/source/nginx-1.2.7/debian/modules/nginx-echo
--add-module=/usr/src/nginx/source/nginx-1.2.7/debian/modules/nginx-upstream-fair
--add-module=/usr/src/nginx/source/nginx-1.2.7/debian/modules/nginx-syslog
--add-module=/usr/src/nginx/source/nginx-1.2.7/debian/modules/nginx-cache-purge
--add-module=/usr/src/nginx/source/nginx-1.2.7/debian/modules/ngx_http_pinba_module
--add-module=/usr/src/nginx/source/nginx-1.2.7/debian/modules/ngx_http_substitutions_filter_module

Ну и кусок конфига

location ^~ /webstat/ {
    auth_basic "Restricted area";
    auth_basic_user_file /var/www/domainname/data/etc/1233665.passwd;
    try_files $uri @fallback;
}

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

Я бы с удовольствием докопался до сути, но это немного проблематично, т.к. это практически продакшн сервер, экспериментировать на нем не очень удобно.

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

Если посоветуете как быстро и без остановки сервера склонировать его в виртуалку - можно и склонировать. Благо данный сервер тоже в виртуалке крутится.

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

выделить виртульный диск, потом скопировать все файлы через rsync с --one-file-system,

либо сделать mount --bind /tmp/root и rsync натравить на эту папку.

Флаги rsync можно ставить разные, но как минимум нужен -a, -A и -X. Можно ещё -H и некоторые другие, на работоспособность системы это не должно влиять.

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

а, потом надо будет загрузчик поставить на новом диске.

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