PostgreSQL
coub
express.js
freeware
git
jquery
laravel
links
linux
macos
mysql
node.js
php
powershell
python
ubuntu
vim
virtualbox
анекдот
блог
игры
интересно
стихи
цитаты
Для того, чтобы не ползать править постоянно /etc/hosts при каждом заведении нового проекта на локалке хорошо бы заставить машину ломится по определенному домену на локальную машину всегда. Я как-то уже писал на эту тему, но решение там мягко говоря не самое простое. Я тут и там слышал про dnsmasq но как-то все не доходили руки разобраться. В общем, это совсем-совсем просто.
Жаль я забыл что у меня там с brew сломалось, но фикс нагуглился минут за 20, ничего серьезного.
В этом примере будет достаточно просто размещать проекты на диске вот так
/home/luke/projects/php/project-one/public -> http://project-one.my.dev
/home/luke/projects/php/project-two/public -> http://project-two.my.dev
/home/luke/projects/php/project-three/public -> http://project-three.my.dev
/home/luke/projects/php/project-four/public -> http://project-four.my.dev
- sudo apt-get install dnsmasq (ну или brew install dnsmasq, кстати с brew была какая-то проблема небольшая, сейчас не вспомню на ходу)
- Идем открываем редактором файл конфигурации /etc/dnsmasq.conf (внутри конфига все расписано, но все опции закоменчены; в случае с brew конфиг лежит /usr/local/etc/dnsmasq.conf)
- Добавляем (или ищем и раскоментируем+правим то что уже есть в конфиге) две строки
address=/.dev/127.0.0.1 # прибиваем гвоздями домен к ip listen-address=127.0.0.1 # слушать будем на этом ип
Создаем папку (если нет)sudo mkdir /etc/resolver
Создаем такой файлик под зонуsudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/dev'
Теперь все хосты вида *.dev будут завернуты на 127.0.0.1
Любопытные граждане гуглят и читают комментарии в конфиг файле. - Последний штрих, идем в свойства текущего сетевого соединения и в его свойствах указываем дополнительный DNS как свой локальный 127.0.0.1 (в формах настройки есть разница, но я думаю это просто и пояснения не нужны)
- И совсем последний штрих - перезапускаем dnsmasq
sudo service dnsmasq restart
Как это делается на маке я не помню, нужно поглядеть brew info dnsmasq
Жаль я забыл что у меня там с brew сломалось, но фикс нагуглился минут за 20, ничего серьезного.
P.S.:
А если ещё в nginx добавить что-то видаserver { server_name ~^(.*)\.my\.dev$; set $projectFolder $1; root /home/luke/projects/php/$projectFolder/public; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }то ещё и в конфиги сервера можно будет ползать значительно реже.
В этом примере будет достаточно просто размещать проекты на диске вот так
/home/luke/projects/php/project-one/public -> http://project-one.my.dev
/home/luke/projects/php/project-two/public -> http://project-two.my.dev
/home/luke/projects/php/project-three/public -> http://project-three.my.dev
/home/luke/projects/php/project-four/public -> http://project-four.my.dev
На самом деле эта заметка почти никакого отношения к node.js не имеет, сам по себе такой перезапуск может быть чего угодно и вообще есть другие варианты, но я как совсем ленивый гражданин не мог не воспользоваться такой халявой.
Суть такая: есть приложение которое должно автоматом взлетать после перезагрузки и поскольку в некоторых случаях (весьма неприятных) проконтролировать перезагрузку невозможно, надо прописать это приложение где-то на автозапуск. Использовать для этой цели (оказывается!) можно тот самый crontab. Я вожусь с линуксом уже лет 6-7 и понятия не имел о такой замечательной возможности. Есть два момента
Суть такая: есть приложение которое должно автоматом взлетать после перезагрузки и поскольку в некоторых случаях (весьма неприятных) проконтролировать перезагрузку невозможно, надо прописать это приложение где-то на автозапуск. Использовать для этой цели (оказывается!) можно тот самый crontab. Я вожусь с линуксом уже лет 6-7 и понятия не имел о такой замечательной возможности. Есть два момента
- Нужно выбрать cron того пользователя от которого должно заработать ваше приложение
- Нужно воспользоваться простой как двери в милиции инструкцией @reboot
crontab -e -u user_loginТеперь добавляем наше распоряжение на действия после перезагрузки, например так
@reboot sleep 20; /home/user_login/restart-app.shВ примере через 20 секунд после перезагрузки будет запущен выбранный скрипт. И вся любовь. Задержка взята по причине того, что какие-то сервисы у меня не стартовали до запуска искомого приложения и оно валилось не находя нужной для себя фигни. С такой задержкой все взлетает на ура.
Проблема с ssh-add
May 16, 2014
Картина маслом
Я знатно попарился разыскивая решение, но оно тупое как.. В общем убиваем агент, он не нужен будет
Решение нашел тут.
ssh-add ~/.ssh/mykey_rsa Could not open a connection to your authentication agent.ЭЭ.. чего? Гуглим.. ок, нет агента, запускаем его.
eval $(ssh-agent -s)Теперь ключ добавляется. Ладно вроде все окей. Только при следующем коннекте опять та же канитель!! То есть отключился от сервера, зашел под тем же логином и опять 25. Ровно тот же самый вопрос. При этом
ps axu | grep ssh.. говорит что да-да, ssh-agent запущен и все круто. Но при следующем коннекте мы его не видим все рано. Во дела. Как быть-то..
Я знатно попарился разыскивая решение, но оно тупое как.. В общем убиваем агент, он не нужен будет
killall ssh-agentТеперь делаем так
cd ~/.ssh/ touch config echo IdentityFile ~/.ssh/mykey_rsa >> ./configИ таки все начинает работать, при условии что ключ сгенерен без парольной защиты, иначе будет трэбовать пароль после каждого нового логина и придется приплясывать снова ещё и с этим. Мне это надо было для автоматизации обновлений через баш-скриптик одной штуки, то есть зашел-запустил-вышел, минимум движений. Буду признателен за решение лучше.
Решение нашел тут.
Vim: копирование в буфер обмена
May 09, 2014
Поскольку с регистрами я до сих пор не разобрался, забываю эту ерунду постоянно. В визуальном режиме выбираем область для копирования и выполняем команду ниже
"+y # для копирования в консоль под линукс, почему-то работает этот регистр "*yНа эту тему есть небольшой скринкаст.
os x: как перезапустить Finder?
April 14, 2014
Оказывается можно не приплясывать каждый раз с консолью типа
Первоисточник: osxdaily.com
killall FinderЕсть способ значительно более человечный. Зажимаем на клавиатуре Option (оно же alt) и кликаем правой кнопкой мыши по иконке Finder в доке. В меню увидим дополнительный пункт "Перезапустить". Просто как двери в милиции.
Первоисточник: osxdaily.com