• Стоит ли обновлять Nginx?

    Ernillew
    @Ernillew
    Администрирую *nix-системы с 1997 года
    Обновлять обязательно нужно, почитайте что такое обновления безопасности и почему они нужны.
    При обновлении 1.4→1.8 у nginx ничего слететь не может, если вы сами что-то не сломаете, при обновлении до 1.9.x сломаются конфиги в которых указан spdy, в них нужно будет заменить spdy на http2, в остальном тоже ничего сломаться не может.
    Ответ написан
    Комментировать
  • Стоит ли обновлять Nginx?

    ZLOFENIX
    @ZLOFENIX
    Абсолютно поехавший
    Обновлять - можно, зависит от чейнжлога.
    Слететь - маловероятно, если в конфигах нет ничего сверхбезумного и отдельных модулей - почти невероятно.
    Хотя 1 раз собрать из исходников и потом обновлять сам бинарик - еще проще и удобней.
    Ответ написан
    5 комментариев
  • Стоит ли обновлять Nginx?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    может что-то слететь, разумеется

    ну а в необновленном может рано ли поздно проявиться уязвимость

    так что - кропотливо и внимательно:

    1) подъем VPS
    2) инсталл ласт вершин
    3) copy config, compare configs
    Ответ написан
    Комментировать
  • Стоит ли обновлять Nginx?

    slimus
    @slimus
    Symfony, Golang
    да стоит.
    может слететь.
    Попробуйте на тестовом окружении и проврьте там конфиги.
    Ответ написан
    Комментировать
  • Как разобраться в ошибках exim4, не отправляются сообщения?

    Скорее всего вы используете самоподписанный сертификат. Установите корневой сертификат в Мозилле в список доверенных и разрешите его использование.
    Ответ написан
  • Как разобраться в ошибках exim4, не отправляются сообщения?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    CA is unknown

    сертификат не нравится ему
    Ответ написан
    1 комментарий
  • Как закрыть доступ по IP в NGINX + PHP-Fpm?

    tonymadbrain
    @tonymadbrain
    doam.ru
    Правильно вот так:
    satisfy any;
    allow 127.0.0.1; #здесь вместо 127.0.0.1 ваш IP адрес или подсеть
    deny all;


    И не в локейшене а выше, на уровне с root там и server_name.
    Ответ написан
    1 комментарий
  • Как правильно настроить php на ubuntu на VPS?

    @Ingg
    Советую Вам увеличить кол-во памяти, хотя бы до 512 мб. Нельзя ничего сказать без логов / конфигов.
    Вы используете Apache? Если используете, советую попробовать полностью от него отказаться в пользу Nginx + PHP FPM.
    Ответ написан
    6 комментариев
  • До сколько лет реально выучить php и устроиться в какую нибудь компанию, что бы там получить уже реальный опыт?

    @litvin2
    Как и русский, английский, китайский и прочие языки, так и языки программирования –-– выучить невозможно. Что значит "выучить PHP"? Знать ВСЕ доступные функции?

    Потрать два года, пиши свои примитивные проекты, разбирай чужие, читай вопрос-ответы тут, найди в инете задачи по PHP, составь резюме с портфолио и устройся самым простым программистом. А потом вкалывай и расти с каждым годом свой скилл.
    Ответ написан
    Комментировать
  • В чем разница между "!==", "!=", "==", "==="?

    27cm
    @27cm
    TODO: Написать статус
    Комментировать
  • Как запустить python скрипт в CentOS?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Заходите по ssh и запускаете в фоне при помощи nohup (почитайте что это)

    можно использовать screen или tmux, но это менеджеры экрана, которые тоже умеют nohup, поэтому чистый nohup более легковесный.
    Ответ написан
    Комментировать
  • Как запустить социальную сеть масштабного уровня?

    riot26
    @riot26
    <:З )~~
    Стоит подождать неделю после просмотра фильма "Социальная сеть", а вдруг глупые мысли исчезнут
    Ответ написан
    2 комментария
  • Как запустить социальную сеть масштабного уровня?

    r3st1k25
    @r3st1k25
    Senior PHPomidor
    Вот это идея у вас! Целая соц. сеть!
    Ответ написан
    2 комментария
  • Не работает модуль python-instagram, что не так?

    @AviPaperno Автор вопроса
    Решение найдено здесь. Необходимо в файле hmac.py заменить строчку return HMAC(key, msg, digestmod)
    на
    return HMAC(key.encode(), msg.encode(), digestmod)
    Ответ написан
    3 комментария
  • PHP: Как правильно отправить дату в POST запросе?

    Не вижу ни каких проблем с датой.

    <?PHP 
    $ch = curl_init('http://booking.uz.gov.ua/ru/purchase/search/');
    curl_setopt($ch, CURLOPT_POST, 1);
    $headers = array
    (
        'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
        'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4,bg;q=0.2',
        'Accept-Encoding: gzip, deflate',
    	'GV-Token: b8efd7256505869cb98c30777dd47aa2',
    	'GV-Unique-Host: 1',
    	'Content-Type: application/x-www-form-urlencoded',
    	'GV-Ajax: 1',
    	'Proxy-Connection: keep-alive',
    	'Host: booking.uz.gov.ua',
    	'Cookie: _gv_sessid=91r5trgpl6068343um8vmjscs2; _gv_lang=ru; HTTPSERVERID=server2; __utmt=1; __utma=31515437.2137620103.1434828433.1434828433.1434828433.1; __utmb=31515437.2.10.1434828433; __utmc=31515437; __utmz=31515437.1434828433.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
    	'Referer: http://booking.uz.gov.ua/ru/',
    	'GV-Screen: 1920x1080',
    	'GV-Referer: http://booking.uz.gov.ua/ru/',
        'Accept: */*'
    ); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'station_id_from=2401406&station_id_till=2020891&station_from=%D0%91%D0%B8%D0%B3%D0%B0%D0%B9%D0%BB%D1%8F%D0%B9&station_till=%D0%9C%D0%B0%D0%B2%D1%80%D0%B8%D0%BD%D0%BA%D0%B0&date_dep=21.06.2015&time_dep=00%3A00&time_dep_till=&another_ec=0&search=');
    curl_exec($ch);
    ?>


    Возвращается json файл, о том, что подходящих поездов нет...

    b691c48e36144002b476681f20600a76.jpg
    Ответ написан
    2 комментария
  • Как обновить nginx и сохранить все настройки?

    @jaymecd
    JaymecD
    Можно использовать git.

    1) подготавливаем репозиторий:
    $ cd /etc/nginx 
    $ git init . && git add . && git commit -m initial


    2) обновляем nginx:
    # debian/ubuntu
    $ apt-get update && apt-get install nginx
    
    # redhat/centos
    $ yum install nginx


    3) смотрим измения и коммитим необходимое:
    $ git diff 
    $ git add nginx.conf && git commit -m updated
    Ответ написан
    Комментировать
  • Почасовая работа: уволить фрилансера или оставить и провести разъяснительные беседы?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А с чего вы взяли, что вам лучше знать, как ему продуктивнее работать? У меня есть кодер, который колбасит свою работу и параллельно смотрит сериалы в оригинале на английском - учит язык. У него в углу экрана поверх всего маленькое окошко с видео. На скорость и качество его работы вообще никак не влияет. Ему так комфортно. С чего я должен ему что-то запрещать? Кто-то параллельно с работой будет слушать музыку. Кто-то на планшете какую-то игрулю будет проверять каждые 30 минут - вы этого всего не отследите, да и зачем? Не надо драконить людей, вы что, рабовладелец?

    UPD: По большому счету, вот эти ваши придирки и разборки как раз и снижают продуктивность. Вы сами себе вредите. Как правильно коллеги пишут - гнать в шею такого заказчика :)
    Ответ написан
    5 комментариев
  • Почта для домена: gmail vs. яндекс

    xenon
    @xenon
    Too drunk to fsck
    Яндекс.
    т.к. почту выкачиваю, особой разницы быть и не может (вебморда не важна, а работает достаточно хорошо и то и то).
    Кое-какие — заметки-наблюдения:
    1. Яндекс — бесплатно, gmail — нет.
    2. ПДД и ДНС-хостинг — удобно, бесплатно, записи в ДНСе появляются очень быстно после добавления, сразу же.
    3. Дополнительный бонус — возможность сразу получить джаббер-аккаунты для всех почтовых ящиков на своем домене. Просто выставив галочку.
    4. Спам режется просто отлично. (но и на гмейле в общем-то тоже)
    5. Заметил, что ДНС иногда ложится. Ненадолго, но уже пару раз замечал. (в момент когда не резолвится мой домен — проверяю, интернет есть, резолвинг с сервера яндекса не идет). Редко, ненадолго, но все таки.
    Ответ написан
    2 комментария
  • CMS своими руками

    @egorinsk
    Автор, а что гуглить. Есть минимум 3 способа: расковырять простую Open-Source CMS (проблема: найти CMS с хорошей архитектурой и аккуратным кодом), устроиться в компанию, у которой есть своя CMS (а она есть почти у каждой студии), и наконец, написать самому правильно.

    Маны нужны не по написанию CMS, а по используемым продуктам и технологиям.

    Сначала надо определиться с задачей. Установите и попользуйтесь несколькими CMS, просто чтобы увидеть особенности их работы. (если вы не можете это сделать — вам надо изучать основы установки и настройки apache/mysql/whatever, а не CMS писать. Уходите практиковать эти навыки). Также, есть хороший сайт, где установлены демки десятков CMS и можно их посмотреть, не устанавливая.

    Запишите, что вы хотите получить, сделайте наброски страниц. Определитесь с требованиями к вашей CMS. Какие в ней будут модули, как ими можно управлять.

    CMS обычно состоит из 2 частей — т.н. «админки» (запароленный раздел, где меняется конфигурация сайта, добавляются материалы) и публичной части сайта, которую видят пользователи.

    Если вы еще не бросили эту затею, перейдем к следующему пункту. Проектирование архитектуры и написание CMS. Чтобы хорошо писать сложную CMS, нужен опыт и понимание того, как вообще писать сложные программы. Нужно глубокое знание HTTP/HTML/CSS/JS/SQL. А именно:

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

    Что еще надо знать. Во-первых, надо иметь представление что значит MVC или 3-звенная архитектура.

    M в MVC — это Model. CMS скорее всего будет хранить данные в БД — надо знать, что такое и как пишется DBAL (гуглите: PDO), плейсхолдеры в запросах, возможно, Table Gateway, ознакомиться с тем, что такое ORM, и почему PHP-ные ORM так тормозят. Если будете делать модельки, не храните значения полей в публичных свойствах — это неудобно и нарушает инкапсуляцию. Храните их в приватном массиве $attributes.

    V is for View. Надо знать, что такое шаблонизаторы (прочтите мануал по Smarty, Django Templates, HAML и XSLT, чтобы иметь общее представление, какие они бывают). Для PHP хорошие варианты — использовать чистый PHP или XSLT, если осилите. Smarty — устаревший тормозной хлам, Twig тоже имеет недостатки. И не стоит ставить шаблонизатор, только, чтобы писать {$a} вместо [?= $a =].

    Не смешивайте логику (сложные вычисления, обращение к БД) и шаблонизацию. Лучше сделайте 2 файла: один с кодом, другой с шаблоном. В идеале, шаблонизатор получает от контроллера значения переменных и, кроме хелперов, никакого другого кода не вызывает.

    C — контроллеры. Но это самая простая часть, контроллер — это просто класс с методами типа viewAction(), editAction() и роутер, который смотрит на УРЛ и вызывает нужный контроллер. Посмотрите, как устроен Zend_Controller и Zend_Front_Contriller, и сделайте так же, но попроще. выкинув 90% функционала — он вам не понадобится.

    Нужно как-то сделать систему компонентной без сильных связей: чтобы ядро могло работать и без модулей, а добавление модуля не требовало дописывания кода в ядро. Почитайте про Dependency Injection, а также Observer (observer — это когда мы делаем функцию addEventListener()).

    Не используйте хуки, как в Друпал. Это дурной и порочный путь, взятый видимо из древных времен и программирования на Си.

    Что еще. Освоив все эти понятия, у вас в принципе не будет сложностей написать CMS, но почитайте еще мои советы по тому, как писать правильный код с исп. ООП: habrahabr.ru/qa/17158/#answer_70869

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

    Ну что еще. Если (в чем я сильно сомневаюсь) благодаря моему скромного совету вы все же сможете пройти этот нелегкий путь и станете успешным разработчиком, можете заплатить мне денег. Я не против.
    Ответ написан
    Комментировать