Недавно я поддался искушению и купил новый MacBook - обновил оперативную память, приобрел AppleCare и т. Д., И мне очень нравится! Я настраивал свою среду разработки - компилировал свой собственный Apache (встроенный в него ужасен, по крайней мере, я слышал), PHP и настраивал все так, как я хочу.
Поскольку я не использую Apache по умолчанию, я хотел знать, как я настраиваю Apache и другие приложения в качестве демонов; работает в фоновом режиме, как службы Windows.
Мне было интересно, есть ли у кого-нибудь из вас опыт работы с подобными вещами, и не могли бы вы мне помочь.
OSX использует launchd для управления запуском и остановкой всех демонов. Если вы введете в Google запрос «launchd», первым результатом будет статья Apple о том, как его использовать (я бы просто связал, но stackoverflow не позволит мне)
Что касается того, что вы пытаетесь сделать, я предлагаю вам просто отредактировать уже существующий файл запуска apache, чтобы он указывал на ваш собственный двоичный файл. Затем вы можете управлять им с помощью панели настроек общего доступа. Файл находится по адресу /System/Library/LaunchDaemons/org.apache.httpd.plist
Вам нужно использовать запуск, Инструмент Apple для управления всеми системными процессами. Launchd - это унифицированная замена целого ряда специализированных утилит unix, которые управляли различными частями этого (init, rc и т. Д. И т. Д.).
Apple освещает некоторые из этих вопросов на своем веб-сайте, но у них есть множество устаревших документов, в которых описываются устаревшие методы. У Дэна Бенджамина есть красиво написанное руководство по установке MySQL. Это очень хорошо написанное руководство, которое научит вас основным этапам установки программного обеспечения unix / linux на Mac (не полагаясь на MacPorts или Финк). Дэна MySQL Учебник проходит через создание файла конфигурации launchd.
По сути, вы создадите файл конфигурации xml ( список file), который определяет рабочий каталог, от имени какого пользователя запускать и т. д. Вы поместите этот файл в конкретный каталог, а затем скажете launchd загрузить его с помощью launchctl.
У него также есть руководства по настройке Рубин на рельсах, который может оказаться полезным, но я не думаю, что это связано с какими-либо демонами.
Вы захотите изучить использование launchd. Посмотрите это на сайте Apple.
Прошло некоторое время ... но я думаю, вам просто нужно добавить команду для запуска apache в / init / rc (это то же самое, что добавить службу в другие ОС на базе * nix).
Пока не могу комментировать ... Вам действительно стоит взглянуть на Информация Apple об использовании launchd. Можно выбрать, запускать ли демон по запросу (когда входящее TCP-соединение происходит на указанном порту) или запускать один раз при запуске системы, установка переменных среды, что произойдет, если он завершится, запускать ли его периодически и т. Д. есть много возможностей, и передовой практикой было бы узнать, что там есть, и сделать лучший выбор для вашего конкретного приложения.
Редактор списка свойств (в / Developer / Applications / Utilities) отлично подходит для создания и просмотра список файлы. Я не уверен, но вам может потребоваться установить XCode (бесплатно от Apple), чтобы иметь этот инструмент.