Ошибка Nginx accept() failed (24: Too many open files)

У вас мощный сервер с десятком простых сайтов, клиенты довольны, сайты быстро открываются и регулярно обновляются. Приток посетителей с каждый днем все больше и больше. Но в один прекрасный момент эта идилия закончится, клиенты начнут жаловаться на частое появление ошибки 500. А почему она возникает? Давайте разберемся с одним из случаев.

Любая конфигурация связки apache+nginx с настройками по умолчанию когда-нибудь приведет к регулярному появлению ошибки 500. Почитав логи nginx вы увидите следующее:

Читать далее «Ошибка Nginx accept() failed (24: Too many open files)»

Подключение телефона в Android Studio (Ubuntu)

  • Проверяем что есть подключенное устройство
lsusb
Наше устройство Qualcomm, Inc
  • В папке /etc/udev/rules.d добавляем файл 51-android.rules и добавить туда следующую информацию
ATTR{idProduct}=="9091", SYMLINK+="android_adb", MODE="0660", GROUP="plugdev", TAG+="uaccess", SYMLINK+="android" 

где 9091 — это идентификатор из команды выше (lsusb)

  • Далее добавляем текущего пользователя в группу plugdev
 sudo usermod -a -G plugdev $userId

где userId — логин пользователя.

  • Активируем правила и перезапускаем adb
sudo udevadm control --reload-rules
sudo service udev restart
sudo udevadm trigger 

Оригинал статьи: https://dimitar.me/how-to-connect-your-android-phone-to-ubuntu-to-do-development-testing-installations-or-tethering-updated/

Привязать диск iso к виртуальной машине

  • Узнаем наименование диска
virsh dumpxml winxp

где winxp наименование виртуальной машины

наименование диска hdb
  • выполняем присоединение
virsh attach-disk winxp simple.iso hdb --type cdrom --mode readonly

где simple.iso — полный путь к диску

Запуск nodejs служб на ubuntu 18

В директории /lib/systemd/system требуется создать файл с расширением .service

Файл должен содержать следующую информацию

[Unit]
Description=docs service by nodejs
After=network-online.target

[Service]
User=www-data 
Restart=on-failure
WorkingDirectory=/var/www/docs
ExecStart=/usr/bin/node /var/www/docs/bin/www

[Install]
WantedBy=multi-user.target

где,

  • User — имя пользователя от имени которого запускается служба
  • WorkingDirectory — каталог с приложением, где nodejs

После этого требуется перезапустить daemon

systemctl daemon-reload
systemctl restart docs 
systemctl status docs

, где docs имя службы

systemd вместо upstart

В Ubuntu 18 нет upstart и чтобы можно было использовать это механизм нужно научиться работать с systemd

  1. переходим в каталог /lib/systemd/system и внутри него создаем новый сервис, например node_app.service
[Unit] 
Description=hello_env.js - making your environment variables rad
Documentation=https://example.com
After=network.target

[Service]
Environment=NODE_PORT=3001
Type=simple
User=ubuntu # тут нужен пользователь например root (от имени кого запускаем)
ExecStart=/usr/bin/nodejs /home/ubuntu/hello_env.js
Restart=on-failure

[Install]
WantedBy=multi-user.target

Подробнее тут.

sudo systemctl daemon-reload # перезапускаем deamon
sudo systemctl start hello_env