• Реврайты на CDN в Nginx, или заранее в html?

    FuN_ViT
    @FuN_ViT
    веб-разработчик
    Тут дело в грамотном использовании инструментов.

    Могу привести пример для картинок:

    Если на сайте очень много страниц, плюс используется кэш nginx (или любой другой) - то сначала лучше вписать в nginx rewrite, а потом начать менять сами ссылки. Потом, через какое-то время (когда весь старый кэш умрет) можно убрать rewrite.

    Еще есть вариант, когда делают hotlinking картинок (и это разрешено вашим сайтом) - тогда rewrite прийдется оставить навсегда.
    Ответ написан
    Комментировать
  • Реврайты на CDN в Nginx, или заранее в html?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Сам такой реврайт плох, лучше использовать return 302 (и заменить его на 301, когда будете точно уверены, что адреса файлов тепереь заменены навечно).

    После включения редиректа нужно начинать переделывать сам html, тут zooks правильно сказал. Даже с десяток редиректов ощутимо замедляют загрузку страницы.
    Ответ написан
    2 комментария
  • Реврайты на CDN в Nginx, или заранее в html?

    zooks
    @zooks
    Frontend
    Про кэширование не скажу, но редиректы - зло. Медленней загружается страница. Поисковики не любят редиректы - это лишь временная мера при изменении путей.

    Получается, нужно оставить редирект для уже проиндексированных изображений. А в самом HTML указывать новые пути на CDN.
    Ответ написан
    1 комментарий
  • Какие бенчмарки VPS стоит проводить для более объективной оценки производительности?

    twix007
    @twix007
    Мой набор тестов:
    sudo apt-get install sysbench
    
    
    CPU Benchmark
    sysbench --test=cpu --cpu-max-prime=20000 run
    
    Theads
    
    sysbench --num-threads=64 --test=threads --thread-yields=100 --thread-locks=2 run
    
    File IO Benchmark
    sysbench --test=fileio --file-total-size=100G prepare
    sysbench --test=fileio --file-total-size=100G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
    
    Read 9.375Mb  Written 6.25Mb  Total transferred 15.625Mb  (53.316Kb/sec)
    
    sysbench --test=fileio --file-total-size=100G cleanup
    
    MySQL Benchmark
    
    sysbench --db-driver=mysql --test=oltp --oltp-table-size=50000000 --mysql-db=test --mysql-user=root --mysql-password=pass --db-driver=mysql prepare
    
    sysbench --test=oltp --oltp-table-size=5000000 --mysql-db=test --mysql-user=root --mysql-password=pass --db-driver=mysql --max-requests=800 --num-threads=10 run
    
        transactions:                        160990 (2683.06 per sec.)
        write
    
    sysbench --test=oltp --mysql-db=test --mysql-user=root --mysql-password=pass cleanup
    Ответ написан
    2 комментария
  • Как создать устанавливаемый образ ОС, и какие есть способы клонирования серверов?

    icCE
    @icCE
    youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
    Самое простое в вашем случаи будет использовать clonezilla. Она позволит вам сделать образ/копию/бэкап , записать это все потом на iso с clonezilla и сделать восстановление как интерактивно, так и в тихом режиме. Но опять же, если задача состоит только в этом. Можно сделать и свой liveusb/cd и написать скрипт который tar будет делать образ системы и потом его уже разворачивать, но это более долгий путь.

    >Есть виртуальный сервер с установленным и настроенным Arch линуксом
    Наверно можно копировать образ у хостера и запускать на другой машине.
    Можно сделать некий backup всей системы через tar.
    tar cvpjf /mnt/backup/all.tar.bz2 / --exclude /proc --exclude /sys --exclude /tmp --exclude /var/tmp --exclude /usr/tmp --exclude /mnt


    Но я еще раз повторю, что не совсем понятны задачи. Вы и сами не можете совсем четко их сформулировать, можно только гадать.
    Ответ написан
    Комментировать
  • Как настроить nginx для dev?

    @xtreme
    Снимаю порчу по SSH :)
    1. Настроить log_format для отображения нужной информации в access_log
    Например:
    log_format upstreamlog '$remote_addr - [$time_local] "$host" "$request" $status ($bytes_sent) "$http_referer" "$uri $args" [$request_time] '
      '"$gzip_ratio" Cache:"$upstream_cache_status" "$content_length" "$http_user_agent" "Upstream: $upstream_addr response $upstream_response_time sec."';


    2. Выставить у нужного виртхоста этот logformat
    access_log /var/log/nginx/my-virthost-nginx.access_log upstreamlog;


    3. Зарелоадить nginx
    service nginx reload

    4. Прицепиться к логу tail-ом в консоли.
    tail -f /var/log/nginx/my-virthost-nginx.access_log


    Чтобы было красивее - поставить пакет ccze из репозиториев (yum install ccze например) и цепляться к логу примерно так:
    tail -f /var/log/nginx/my-virthost-nginx.access_log | ccze -A
    Ответ написан
    9 комментариев
  • Что будет, если повторить два параметр оптимизации в GCC с разными значениями?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Для большинства опций -- будет переписано последним переданным значением. В частности это справедливо для -march и -mtune на x86.
    Но в общем случае может быть что угодно, поскольку gcc может преобразовывать одни опции в другие согласно своим спекам перед вызовом собственно компилятора.
    Ответ написан
    Комментировать
  • Нужно ли периодически менять параметры ssl_dhparam в Nginx?

    J_o_k_e_R
    @J_o_k_e_R
    Не надо. Эти DH-параметры не являются чем-то секретным в отличие от ключей. Для протокола главное, чтоб задавали их Вы, чтоб они не были "уязвимыми" (сгенерированными дырявым софтом). Ну и генерятся они долго, поэтому сложно (да и бессмысленно) их генерировать при каждом использовании.
    Ответ написан
    Комментировать
  • Что бы вы посоветовали поменять в таком конфиге NGINX?

    @xtreme
    Снимаю порчу по SSH :)
    Прочитал комментарии - фигней вы занимаетесь. Конкретная задача есть? Если нет - тогда к чему сотрясать клавиатуру, накидывая конфиг?
    Есть такое понятие - "преждевременная оптимизация". Вам почти любой, кто с этим сталкивался, скажет, что преждевременная оптимизация - это плохо.
    Как сказал Игорь Сысоев в одном из докладов - "Фактически настройка nginx сводится к выставлению worker_processes в число железных ядер на машине, или в auto, а дальше надо заниматься тюнингом самой системы".
    С моей колокольни, обычно первоначальная настройка выглядит так:
    В nginx.conf
    worker_processes auto;
    worker_rlimit_nofile 65535;
    worker_connections 65535;
    accept_mutex off;


    А потом в conf.d описываем первый виртхост с минимальным конфигом...
    Запустили что надо в минимальной конфигурации, посмотрели на все это дело и уже только потом тюнить - включить gzip где надо, выставить опции к сокетам (включая http2, куда ж без него :-) ), выключение sendfile, где не надо, включение aio, где надо, включение thread-pool если ситуация требует, выкручивание буферов в крайних случаях.

    По вашему конфигу - портянка получилась еще и потому, что многие опции дублированы в разных server, хотя можно было их вынести выше в секцию http, ssl-опции можно также почти полностью вынести в секцию http (в вашем случае можно вообще некоторые опустить).
    Ответ написан
    3 комментария
  • Что бы вы посоветовали поменять в таком конфиге NGINX?

    sim3x
    @sim3x
    Всё работает

    -Доктор, посмотрите на мой член!
    -член как член...
    -Нет, доктор, вы посмотрите какой красавец!!!


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

    разве что резолвер не стоит отдавать на откуп nginx
    Лучше настроить приватный резолвер из https://en.wikipedia.org/wiki/Comparison_of_DNS_se...
    resolver 8.8.8.8 8.8.4.4 valid=300s;
      resolver_timeout 5s;

    тем более что его роль в данном конфиге непонятна

    И include /etc/nginx/sites-enabled/*; непонятно зачем
    И не указано для какой версии конфиг
    Ответ написан
    2 комментария
  • Влияет ли как-то DNSSEC и TLSA на порядок общения клиента с DNS серверами? И имеет ли TLSA смысл?

    tech22
    @tech22
    Лидер проекта http://th22.info
    У клиентов ничего не изменится.
    Ответ написан
    Комментировать
  • Имеет ли значение географическое расположение NS серверов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Зависит от настройки клиента. Теоретически ему никто не мешает каждый раз начинать полный поиск от рута, практически - запрос обычно делается к локальному DNS-серверу (ну или к Googel-DNS, Yandex-DNS), который и кэширует информацию согласно TTL.
    Ответ написан
    2 комментария
  • Как сделать пулл бранча из чужого репозитория в свой?

    delphinpro
    @delphinpro
    frontend developer
    Добавьте еще один ориджин и из него пуляйтесь
    git remote add https://.....
    Ответ написан
    3 комментария
  • Как подставить ложное время для приложений?

    Berrymoor
    @Berrymoor Автор вопроса
    designer, music dweller
    Решение нашел сам...
    1. Запускаем Apple Script Editor (Редактор скриптов - есть в стандартном наборе Утилит)
    2. Вставляем следующий код:
    do shell script "/usr/sbin/systemsetup -setusingnetworktime off " with administrator privileges
    do shell script "/usr/sbin/systemsetup -setdate '04:07:15'" with administrator privileges
    tell application "Название программы"
    activate
    end tell
    do shell script "/usr/sbin/systemsetup -setusingnetworktime on " with administrator privileges

    3. Компилируем скрипт и сохраняем как "application"
    4. Запускаем то, что сохранили...

    В результате у вас есть загрузчик нужного приложения с подстановкой даты!
    P.S. Жирным выделено то, что вам нужно поменять по своему усмотрению)
    Ответ написан
    Комментировать
  • Как удалять мусор в os x?

    TwerTrue
    @TwerTrue
    Молодой и неопытный разработчик
    CleanMyMac 3 - самая лучшая программа для очистки не только мусора но и удаления программ или же остатков от уже "удаленных"
    Ответ написан
    Комментировать
  • Разметка диска. Как правильно?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    не занимайтесь ерундой, доверьтесь установщику. В 99% случаев конфигурации /boot + lvm root + swap более чем достаточно
    Ответ написан
    Комментировать
  • Как закрыть дыру в WP?

    WPScan в помощь. Чекни им, большинство паблик уязвимостей в WP есть в их базе
    Ответ написан
    1 комментарий
  • Как разбить папку с картинками на много папок по CSV (или excel) таблице?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    тут любой язык программирования, который знаете
    VBA, наверно, справится, но язык дурацкий, я бы выбрал Питон:

    CSV позволит считать построчно и с каждой строкой проделать манипуляции: 1) создать папку 2) скопировать 3) создать текстовый файл и записать

    код смотрите по ссылке выше, что-то вроде
    >>> import csv
    >>> with open('names.csv') as csvfile:
    ...     reader = csv.DictReader(csvfile)
    ...     for row in reader:
    ...         print(row['first_name'], row['last_name'])


    работу с файлами - например на pythonworld.ru или sackoverflow, там 3-4 опреации нужно выучить и в правильной последовательности записать
    Ответ написан
    1 комментарий