Re: виндовый cgi

2019-03-21 Пенетрантность Victor Sudakov
Konstantin Tokarev wrote:
> >Спасибо, надо попробовать. Осталось понять, как заставить FastCGI
> >Wrapper по команде из nginx вызывать не
> >/usr/local/winsite/cgi-bin/query.exe?foo, а
> >"/usr/local/bin/wine /usr/local/winsite/cgi-bin/query.exe?foo"
> 
>Как я уже написал, шелл-скриптом, например
> 
>#!/bin/sh
> 
>exec wine /usr/local/winsite/cgi-bin/query.exe

Предлагается каждый виндовый CGI-шник индивидуально таким образом
обернуть? Хлопотно это полбеды, беда же в том, что в HTML-формах ссылка
именно на "/cgi-bin/query.exe?foo", а не на обёртку. Переписывать
полсайта?

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
2:5005/49@fidonet http://vas.tomsk.ru/
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx, fastcgi и деплой на симлинках

2019-03-21 Пенетрантность Maxim Dounin
Hello!

On Thu, Mar 21, 2019 at 02:21:52PM +0300, Иван wrote:

> Здравствуйте!
> 
> Есть симлинк
> 
> /home/live -> /home/releases/live/1.2.9
> 
> при деплое он меняется на
> 
> /home/live -> /home/releases/live/1.2.10
> 
> а код продолжает работать версии 1.2.9 .
> 
> 
> Преполагаю, что должен помочь такой патч к конфигу nginx
> 
> location /live/ {
> 
> +   root /home/live;
>  include fastcgi_params;
> 
> -   fastcgi_param SCRIPT_FILENAME
> /home/live/register_user_new.php;
> +   fastcgi_param SCRIPT_FILENAME
> $realpath_root/register_user_new.php;
> }
> 
> Верно? Короче говоря, непосредственно указать путь в fastcgi_param
> симлинки кешируются, а с realpath_root - всегда актуальны?

Судя по симптомам - ваша наблюдаемая проблема в кэшировании кода 
на стороне fastcgi-бэкенда.

Добавление переменной $realpath_root - тут скорее всего 
действительно поможет, но вообще говоря она нужна для решения 
другой проблемы.  Смысл этой переменной в том, чтобы можно было 
избежать race condition при переключении на новый релиз сайта, и в 
рамках одного запроса использовался один и тот же путь.  В 
частности, переменная $realpath_root нужна, чтобы в php разные 
include-файлы подбирались от одной и той же версии сайта, а не от 
разных.

-- 
Maxim Dounin
http://mdounin.ru/
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: виндовый cgi

2019-03-21 Пенетрантность Konstantin Tokarev
21.03.2019, 05:27, "Victor Sudakov" :Konstantin Tokarev wrote: >>  > Тот же вопрос, что к Andrey Kopeyko. Имеется в виду "пускалку CGI" >>  > виндовую, или юниксовую, и в каком месте в этой схеме вступает wine? >> >>  Юниксовая пускалка, шелл-скрипт с командой запуска wine в качестве cgi-обработчика > > Нет у меня уверенности, что такая схема заработает, потому что для > работы CGI-приложения надо ведь передать ему переменные среды из > веб-сервера, а в случае POST - ещё и информацию из браузера на stdin > приложения. И передать stdout приложения обратно в веб-сервер. > > Думаете, wine пропустит всё это через себя? stdin и environment туда, > stdout обратно... Из man wine:  wine makes the environment variables of the shell from which it is started accessible to the Windows/DOS processes started. So use the appropriate syntax for your shell to enter environment variables you need.  С потоками stdin и stdout тоже не должно ничего плохого произойтиСпасибо, надо попробовать. Осталось понять, как заставить FastCGIWrapper по команде из nginx вызывать не/usr/local/winsite/cgi-bin/query.exe?foo, а "/usr/local/bin/wine /usr/local/winsite/cgi-bin/query.exe?foo"-- Victor Sudakov,  VAS4-RIPE, VAS47-RIPN2:5005/49@fidonet http://vas.tomsk.ru/___nginx-ru mailing listnginx-ru@nginx.orghttp://mailman.nginx.org/mailman/listinfo/nginx-ruКак я уже написал, шелл-скриптом, например#!/bin/shexec wine /usr/local/winsite/cgi-bin/query.exe-- Regards,Konstantin___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx, fastcgi и деплой на симлинках

2019-03-21 Пенетрантность Иван
Здравствуйте.

Нежелание делать nginx reload (давать пользователю деплоя права
рута\sudo, например), когда можно не делать.

С уважением, Иван Прокудин.

21.03.2019 14:25, Alex Domoradov пишет:
> > а код продолжает работать версии 1.2.9 .
>
> а что мешает во время деплоя сделать nginx reload ?
>
> On Thu, Mar 21, 2019 at 1:21 PM Иван  > wrote:
>
> Здравствуйте!
>
> Есть симлинк
>
> /home/live -> /home/releases/live/1.2.9
>
> при деплое он меняется на
>
> /home/live -> /home/releases/live/1.2.10
>
> а код продолжает работать версии 1.2.9 .
>
>
> Преполагаю, что должен помочь такой патч к конфигу nginx
>
> location /live/ {
>
> +   root /home/live;
>  include fastcgi_params;
> 
> -   fastcgi_param SCRIPT_FILENAME
> /home/live/register_user_new.php;
> +   fastcgi_param SCRIPT_FILENAME
> $realpath_root/register_user_new.php;
> }
>
> Верно? Короче говоря, непосредственно указать путь в fastcgi_param
> симлинки кешируются, а с realpath_root - всегда актуальны?
>
> С уважением, Иван Прокудин.
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org 
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx, fastcgi и деплой на симлинках

2019-03-21 Пенетрантность Alex Domoradov
> а код продолжает работать версии 1.2.9 .

а что мешает во время деплоя сделать nginx reload ?

On Thu, Mar 21, 2019 at 1:21 PM Иван  wrote:

> Здравствуйте!
>
> Есть симлинк
>
> /home/live -> /home/releases/live/1.2.9
>
> при деплое он меняется на
>
> /home/live -> /home/releases/live/1.2.10
>
> а код продолжает работать версии 1.2.9 .
>
>
> Преполагаю, что должен помочь такой патч к конфигу nginx
>
> location /live/ {
>
> +   root /home/live;
>  include fastcgi_params;
>
> -   fastcgi_param SCRIPT_FILENAME
> /home/live/register_user_new.php;
> +   fastcgi_param SCRIPT_FILENAME
> $realpath_root/register_user_new.php;
> }
>
> Верно? Короче говоря, непосредственно указать путь в fastcgi_param
> симлинки кешируются, а с realpath_root - всегда актуальны?
>
> С уважением, Иван Прокудин.
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx, fastcgi и деплой на симлинках

2019-03-21 Пенетрантность Иван
Здравствуйте!

Есть симлинк

/home/live -> /home/releases/live/1.2.9

при деплое он меняется на

/home/live -> /home/releases/live/1.2.10

а код продолжает работать версии 1.2.9 .


Преполагаю, что должен помочь такой патч к конфигу nginx

location /live/ {

+   root /home/live;
 include fastcgi_params;

-   fastcgi_param SCRIPT_FILENAME
/home/live/register_user_new.php;
+   fastcgi_param SCRIPT_FILENAME
$realpath_root/register_user_new.php;
}

Верно? Короче говоря, непосредственно указать путь в fastcgi_param
симлинки кешируются, а с realpath_root - всегда актуальны?

С уважением, Иван Прокудин.

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: rewrite some/url в some/url.html

2019-03-21 Пенетрантность Иван
Здравствуйте!

Чтоб не усложнять регэксп, попробуйте как-то так:

server {

location ~ \.html$ {

#обработка запросов ссылок с html

...

}

location ~ /$ {

#обработка запросов заканчивающихся на слэш

...

}


location / {

rewrite ^/(.+)$ /$1.html permanent

}

}

С уважением, Иван.

20.03.2019 20:08, Dzurillo пишет:
> Здравствуйте!
>
> Помогите пожалуйста написать rewrite. Мне нужно все ссылки вида
> http://some/url пробрасывать на http://some/url.html
> Т.е. три условия: request_uri не пустой, в конце урл нет слэша и урл не
> заканчивается на ".html"
> Пока дошел вот до этого:
>
> rewrite ^/(.+[^/])(?!.*\.html)$ $1.html permanent;
>
> Но работает не так как надо.
>
> Спасибо за помощь.
>
> Posted at Nginx Forum: 
> https://forum.nginx.org/read.php?21,283447,283447#msg-283447
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: rewrite some/url в some/url.html

2019-03-21 Пенетрантность Dzurillo
Здравствуйте!

> 
> для всех html
> rewrite ^/(.+)[^/]$ /$1.html permanent;
> 
Прописал такой рерайт:
rewrite ^/(.+)[^/]$ /$1.htm permanent; 

В результате запрос http://site/qqq вообще странно редиректит
http://site/qqq.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.ht.htm

Т.е. обрезает последний символ и добавляет .htm

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,283447,283453#msg-283453

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: rewrite some/url в some/url.html

2019-03-21 Пенетрантность Maxim K
 *я написал предыдущий комментарий во сне*
если только для урлов "первого" уровня
rewrite ^/([^/]+)$ /$1.html permanent;

для всех html
rewrite ^/(.+)[^/]$ /$1.html permanent;



чт, 21 мар. 2019 г. в 09:10, Maxim K :

> если только для урлов "первого" уровня
> rewrite ^/([^/]+)\.html$ /$1.html permanent;
>
> для всех html
> rewrite ^/(.+)\.html$ /$1.html permanent;
>
>
> ср, 20 мар. 2019 г. в 20:08, Dzurillo :
>
>> Здравствуйте!
>>
>> Помогите пожалуйста написать rewrite. Мне нужно все ссылки вида
>> http://some/url пробрасывать на http://some/url.html
>> Т.е. три условия: request_uri не пустой, в конце урл нет слэша и урл не
>> заканчивается на ".html"
>> Пока дошел вот до этого:
>>
>> rewrite ^/(.+[^/])(?!.*\.html)$ $1.html permanent;
>>
>> Но работает не так как надо.
>>
>> Спасибо за помощь.
>>
>> Posted at Nginx Forum:
>> https://forum.nginx.org/read.php?21,283447,283447#msg-283447
>>
>> ___
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: rewrite some/url в some/url.html

2019-03-21 Пенетрантность Maxim K
если только для урлов "первого" уровня
rewrite ^/([^/]+)\.html$ /$1.html permanent;

для всех html
rewrite ^/(.+)\.html$ /$1.html permanent;


ср, 20 мар. 2019 г. в 20:08, Dzurillo :

> Здравствуйте!
>
> Помогите пожалуйста написать rewrite. Мне нужно все ссылки вида
> http://some/url пробрасывать на http://some/url.html
> Т.е. три условия: request_uri не пустой, в конце урл нет слэша и урл не
> заканчивается на ".html"
> Пока дошел вот до этого:
>
> rewrite ^/(.+[^/])(?!.*\.html)$ $1.html permanent;
>
> Но работает не так как надо.
>
> Спасибо за помощь.
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,283447,283447#msg-283447
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru