[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Бесплатная консультация по серверам linux, window,
Страницы: 1, 2, 3
FatCat
Цитата (killer8080 @ 28.01.2018 - 03:59)
nginx перезагрузил после этого?

Не знаю как его перезагрузить, перезагрузил весь сервер.

_____________
Бесплатному сыру в дырки не заглядывают...
AllesKlar
Перечитать конфигурацию (в большинстве случаев достаточно)
sudo service nginx reload


перезапустить службу
sudo service nginx restart


Цитата
Не знаю как его перезагрузить, перезагрузил весь сервер.

ну.. тоже выход, правда суровый :)

_____________
[продано копирайтерам]
Ron
Цитата (FatCat @ 29.01.2018 - 04:46)
Не знаю как его перезагрузить, перезагрузил весь сервер.

А если бы nginx не стартанул из-за ошибки/опечатки в конфиге (что бывает довольно часто, кстати)?

Для перечитывания конфигов достаточно послать главному процессу SIGHUP. Данный сигнал перехватывается и интерпритируется большинством демонов именно так (но увы не всеми). Такой метод более предпочтителен, потому что позволяет разработчикам ПО обеспечить максимальную плавность.

https://nginx.ru/ru/docs/control.html

Послать HUP сигнал можно так:
kill -1 PID
или
kill -HUP PID
что одно и то же


Перезагружать сервис, и уж тем более ОС, не считается хорошей практикой на продакшн серверах.


killer8080
Цитата (FatCat @ 28.01.2018 - 03:35)
Долгий скрипт отрабатывает до конца, но в браузер ровно через минуту прилетает ошибка 504 и завершение сессии.

вообще этот таймаут и не должен быть слишком большим. Долгая отработка признак перегрузки сервера, и нет особого смысла его увеличивать. Если же речь идёт о преднамеренном запуске долгоиграющего, тяжелого скрипта, то это не корректно запускать его в веб воркере, рутина должна обрабатываться в бэкграунде, а воркер должен обрабатывать обычные веб запросы, и максимально быстро отдавать результат. Возможно ты неправильно подошёл к решению задачи?
FatCat
Цитата (killer8080 @ 30.01.2018 - 15:28)
Возможно ты неправильно подошёл к решению задачи?
  • Делаю бекап БД сипекс-дампером, через минуту алерт.
  • Делаю мейл-рассылку, на странице отображается ход выполнения, через минуту ошибка. Рассылка выполняется до конца, но на странице этого не видно.
  • Для снижения нагрузки на сервер, редко открываемые страницы вынесены из БД в файлы - их уже под 100К. Изредка нужен поиск по файлам, это занимает больше минуты - страницу с результатами поиска не увидеть.


_____________
Бесплатному сыру в дырки не заглядывают...
AllesKlar
Цитата (FatCat @ 30.01.2018 - 18:57)
Делаю бекап БД сипекс-дампером, через минуту алерт.

В консоли
mysqldump -u [uname] -p[pass] db_name > db_backup.sql


Цитата
Делаю мейл-рассылку, на странице отображается ход выполнения, через минуту ошибка. Рассылка выполняется до конца, но на странице этого не видно.

Запускай скрипт из консоли, пусть себе шуршит хоть весь день.

Цитата
Для снижения нагрузки на сервер, редко открываемые страницы вынесены из БД в файлы - их уже под 100К. Изредка нужен поиск по файлам, это занимает больше минуты - страницу с результатами поиска не увидеть.

Тоже самое, в консоли
grep 'фраза поиска' /search/path/
или
grep 'фраза поиска' /search/path/ > сохранить_вывод.txt


_____________
[продано копирайтерам]
FatCat
Цитата (AllesKlar @ 30.01.2018 - 22:29)
В консоли

Что-то можно сделать в консоли, что-то удобнее веб-интерфейсом.
Вопрос еще и в том, что часть функционала используют другие люди, например рассылкой писем занимаются другие люди, и вряд ли они захотят учиться отправлять из консоли, да и я им такой доступ не дам.

_____________
Бесплатному сыру в дырки не заглядывают...
FatCat
Цитата (killer8080 @ 28.01.2018 - 03:59)
ещё можно поиграть с параметрами
proxy_connect_timeout
proxy_send_timeout
send_timeout

Попробовал все 4:
		proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
send_timeout 300;

Спасибо! Сработало.

Нужно методом проб выяснять какой из них работает, или пусть будут все 4?

_____________
Бесплатному сыру в дырки не заглядывают...
AllesKlar
Цитата (FatCat @ 31.01.2018 - 00:31)
Что-то можно сделать в консоли, что-то удобнее веб-интерфейсом.
Вопрос еще и в том, что часть функционала используют другие люди, например рассылкой писем занимаются другие люди, и вряд ли они захотят учиться отправлять из консоли, да и я им такой доступ не дам.

1. Таблица адресов рассылки, таблица содержания рассылки с флагом в обработке/готов к рассылке/активна/разослано
Веб-интерфейс, который готовит рассылку и выбирает получателей.

2. курлом раз час / сутки / неделю запускается скрипт, который идет в таблицу рассылок и берет оттуда со статусом "готова к отправке", отмечает ее как "активна" и рассылает себе по-маленьку в фоне. Как разослал, отметил рассылку, что она разослана.

3. Веб-интерфейс в любое время имеет доступ к тем же таблицам, чтобы глянуть текущее положение дел....

_____________
[продано копирайтерам]
killer8080
Цитата (FatCat @ 31.01.2018 - 01:40)
Попробовал все 4:
  proxy_read_timeout 300;
  proxy_connect_timeout 300;
  proxy_send_timeout 300;
  send_timeout 300;

Спасибо! Сработало.

Нужно методом проб выяснять какой из них работает, или пусть будут все 4?

можно так и оставить

Цитата (FatCat @ 30.01.2018 - 19:57)
Делаю бекап БД сипекс-дампером, через минуту алерт.

сайпекс дампер полезный инструмент в условиях шаредов, когда все ограничено и нет возможности работать с нормальными инструментами. Когда то я его использовал для заливки больших дампов, юзать консольный mysqldump было невозможно, а PMA отваливался на аплоаде, тогда да, это был самый простой выход из положения, но юзать его на VPS, зачем? Если принципиально важно запустить бэкап из веб морды, ну можно же вызвать консольную команду из php скрипта (system(), exec(), ...), в любом случае нативный mysqldump отработает в разы быстрее сайпекса, да ещё и сжать можно на ходу rolleyes.gif До и в ISPManager должен быть свой инструментарий для бэкапов.

Цитата (FatCat @ 30.01.2018 - 19:57)
Делаю мейл-рассылку, на странице отображается ход выполнения, через минуту ошибка. Рассылка выполняется до конца, но на странице этого не видно.

Ну ход выполнения как раз таки не отображается, вместо него белый экран загрузки в ожидании ответа сервера, а если это ещё и несколько минут длится, то просто ужас. Нет ничего хуже слепого ожидания. Я бы это сделал иначе...
1 по нажатию кнопки запуска рассылки, шлём запрос аяксом, саму кнопку при этом блокируем.
По запросу на сервере запускаем фоновый процесс, который будет делать рассылку
2 В скрипте рассылки вначале создаём статус файл в веб директории, куда будем писать текущую статистику отработки задания.
3 На клиенте полингом, с интервалом в секунду, две запрашиваем статус рассылки, и рисуем красивый прогрессбар со статистикой

При входе на эту страницу сразу опрашиваем текущий статус, если задача в этот момент выполняется, блокируем кнопку, работаем по пункту 3.
Можно сделать дополнительно кнопку отмены рассылки, чтоб можно было завершить скрипт принудительно, если понадобится.
Ну, упрощённо как то так.
FatCat
Еще вопрос: как получить свой айпишник, если сервер виртуальный? $_SERVER['SERVER_ADDR'] выдает 127.0.0.1...

_____________
Бесплатному сыру в дырки не заглядывают...
killer8080
какой версии апач? Для 2.2 нужен mod_rpaf, для 2.4 активировать модуль mod_remoteip.
http://ras.pl.ua/zamena_modulu_mod_rpaf_v_apache_24/
killer8080
сорри, не внимательно прочитал. То что я написал выше относится к REMOTE_ADDR, SERVER_ADDR это айпишник сервера, зачем его вычислять? Он же и так известен, на него домен завязан blink.gif
FatCat
Цитата (killer8080 @ 2.02.2018 - 07:54)
Он же и так известен, на него домен завязан

Мне известен.
было
curl_setopt($ch, CURLOPT_URL, 'https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip='.$_SERVER['SERVER_ADDR'].'&port=80');
сделал
curl_setopt($ch, CURLOPT_URL, 'https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=***.***.***.***&port=80');
Сейчас всё работает.
Но в случае смены хостинга или иных обстоятельств, это придется перепрописывать вручную. Хотелось бы как можно меньше таких "костылей".
Потому и спросил, можно ли его получить средствами php, чтобы один раз прописать и неморочить себе голову.

_____________
Бесплатному сыру в дырки не заглядывают...
Ron
Так эта: gethostbyname('phpforum.su');

Только не говорите, пожалуйста, что это и есть тот самый механизм, (который как вредная муха начинает ночью докучать, только закроешь глаза) - чего-то там "Вы используете вредоносное TOR ПО" или такое. Кстати, а в чем фишка-то, какое еще вредоносное ПО? Нигде больше подобной надписи не видел.

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.