Есть хороший PHP пакет для работы с http, написанный на C и реализованный в виде PHP расширения, pecl_http.
Для его установки требуется определенное количество ручной работы. Я попробовал автоматизировать ее и получился вот такой bash-скрипт для установки pecl_http в Убунту…
Продолжить чтение
linux
There are 10 posts tagged linux ().
Проверка существования команды в bash
Проверить если доступная команда в bash можно с помощью другой встроенной команды type.
1 2 |
$ type php php is /usr/bin/php |
1 2 |
$ type php2 bash: type: php2: not found |
Можно использовать с группой команд
1 2 3 |
$ type php2 php bash: type: php2: not found php is /usr/bin/php |
Можно использовать в условиях
1 2 3 4 5 6 7 |
$ type php && echo 'yes' || echo 'no' php is /usr/bin/php yes $ type php2 php && echo 'yes' || echo 'no' bash: type: php2: not found php is /usr/bin/php no |
Удобно для проверки доступности команд перед запуском шагов в Continuous Integration, например, в Runner‘е GitLab CI:
1 2 3 4 5 6 7 8 9 |
... check: tags: - linux only: - master script: - type php composer ... |
Чистим кеш ОС в Linux
Если вам не хватает оперативки и система начинает использовать SWAP — можно пропробовать почистить кеш. Для этого необходимо выполнить вот такую команду:
1 |
echo 3 | sudo tee -a /proc/sys/vm/drop_caches >> /dev/null 2>&1 |
Подробней можно почитать в разделе drop_caches документации по kernel: https://www.kernel.org/doc/Documentation/sysctl/vm.txt
Создание случайного файла произвольного объема в bash
Иногда требуется создать файл с необходимым объемом для тестирования сервиса. Например, для тестирования выгрузки файла.
В bash это сделать очень просто. Необходимо достать нужный объем случайных данных из /dev/urandom и записать его в файл. Это можно сделать через утилиту dd:
1 2 3 4 |
# 5 MB dd if=/dev/urandom of=/path/to/random.file bs=1M count=5 # 1 GB dd if=/dev/urandom of=/path/to/random.file bs=1M count=1000 |
Логгирование всего вывода bash-скрипта
Если вам потребовалось логгировать большое количество действий в вашем bash-скрипте — то вам поможет утилита tee.
Вы можете использовать ее непосредственно при выводе на экран
1 |
echo 123 | tee -a /tmp/file.log |
Или сразу сказать что вы логгируете весь вывод на экран. Для этого вам необходимо в начале скрипта написать
1 |
exec > >(tee -a /tmp/file.log) |
Ответ был найдет на сайте SuperUser.com: http://superuser.com/a/86955
Настройка nginx для большого количества однотипных сайтов под Ubuntu
В продолжение поста о настройке доменов для локальных сайтов я расскажу как я настроил себе nginx для работы с большим количеством однотипных сайтов.
Просто создаем один конфиг для всех сайтов
1 |
sudo vim /etc/nginx/sites-enabled/my.sites.conf |
Теперь добавляем вот такие инструкции
1 2 3 4 5 6 7 8 9 10 11 12 |
server { server_name "~^(www\.)?(?<site>.+)\.localhost$"; access_log /var/log/$site.access.log; error_log /var/log/$site.error.log; root /var/www/$site; ... } |
Перегружаем настройки nginx
1 |
sudo service nginx reload |
Теперь все домены типа mysite.localhost будут смотреть в соответствующую папку в /var/www, в данном случае в /var/www/mysite.
С учетом того, что мы уже настроили все домены типа *.localhost так, что они смотрят на наш сервер — мы можем просто добавлять в папку /var/www новый сайт и он сразу будет доступен (без перезагрузок, настройки и других дополнительных действий)
Установка Dnsmasq под Ubuntu для настройки локальных wildcard доменов
Иногда требуется поднимать много похожих локальных сайтов и не хочется настраивать сервер и хосты для каждого из них. Нам на помощь приходит Dnsmasq. Данное решение я нашел у Дэйва Джеймса Миллера в статье Linux – Installing Dnsmasq for wildcard local domains, перевод которой я вам представляю. Так же в отедельном посте показано как можно настроить nginx для работы сразу с несколькими однотипными сайтами.
Проблема со шрифтами по-умолчанию в Ubuntu 12.04 и украинскими буквами в Skype
Продолжая тему первоначальной настройки Ubuntu 12.04 для нормальной работы, столкнулся с проблемой отображения шрифтов в скайпе. Русский и украинский тексты используют другие шрифты и не отображаются некоторые украинские буквы.
Не включается звук (unmute) в Mate после выключения (mute)
Недавно перешел дома на Ubuntu и в качестве графической оболочки выбрал Mate, потому как очень нравился все время Gnome 2, а Gnome 3 и Unity мне абсолютно не удобны для использования. Но суть не в том.
В Mate по-умолчанию ставится mate-media-gstreamer и mate-settings-daemon-gstreamer для управления звуком, но в нем присутствует проблема, которая состоит в том, что после выключения звука через mute не работает включение обратно (un-mute).
Установка Oracle Java JDK 7 на Ubuntu 12.04 для jetBrains PhpStorm
Так получается что настраиваю систему очень редко (раз в полгода) и постоянно приходится искать какие-то решения, которы были использованы, но сегодня решил записывать их, чтобы в следующий раз знал где смотреть.
В этот раз долго не мог нормально поставить PhpStorm от jetBrains, который требовал Oracle JDK 7, тоесть Java 1.7.0, на мою новую Убунту (Все таки решился полностью перейти на линукс и дома). То там пермишны не такие, то джаву видно только из-под судо. А как я его ставил последние пару раз на работе я уже забыл, но точно помню что это было достаточно просто.
В итоге я откопал таки эту последовательность действий, который дают возможность безпроблемно поставить джаву.