Как лучше всего начинать с Windows * с веб-разработки * nix? - PullRequest
4 голосов
/ 05 января 2010

Я работаю в Windows / M $ boy уже более 15 лет и 10 лет специализировался на веб-дизайне, используя Classic ASP и ASP.net. Проблема в том, что все последние классные языки, с которыми я хочу играть (Django использует Python, Rails, NitroJS), основаны на * nix и часто работают на Mac, и все они используют Apache, а не нюхают порт / версию IIS.

Я много играл с Ruby on Rails, так как он успешно работает на моей установке XP Pro dev, но когда дело доходит до его запуска и запуска на реальном живом сервере с использованием * nix, я действительно очень борюсь. Я хочу заполнить пустоту и, надеюсь, оседлать оба лагеря, но не знаю, с чего начать.

Как я могу сократить пробел в моих знаниях для запуска веб-приложений, работающих на * nix системах? Что мне нужно знать и где я могу узнать об этом (книги, ссылки и т. Д.)?

SSH, Туннелирование, chmod'ing ... все греки мне :)

Редактировать: Спасибо за все отличные ответы на этот вопрос, явно ударил по нервам. Отличный совет всем вокруг. Я собираюсь установить Ubuntu на этих выходных, чтобы поиграть, время действительно:)

Ответы [ 8 ]

2 голосов
/ 05 января 2010

Звучит так, будто сначала вам нужно разобраться с основами * nix. Все остальное строится на этом. Например, попытка сконфигурировать ваш заурядный Apache с PHP / Python / независимо от того, какие настройки будут довольно сложными без этих знаний - если вы в первую очередь можете использовать ssh на своем сервере:

Имея это в виду: http://www.amazon.com/Unix-Programming-Environment-Prentice-Hall-Software/dp/013937681X/ref=sr_1_1?ie=UTF8&s=books&qid=1262712609&sr=8-1. Олди, но Голди, и должен быть легко доступен для любого программиста из других сред. Возможно, кто-то может порекомендовать обновленную версию этого?

2 голосов
/ 05 января 2010

Я бы согласился с некоторыми другими здесь, что установка и на самом деле с использованием машины * nix - это хорошее место для начала, если вы хотите войти в администрацию * nix. Даже попытка разместить простой FTP-сервер будет проблемой, если вы никогда не проводили время с системами.

Если вам нужно выбрать, я бы рекомендовал установить и использовать дистрибутив Linux, а не покупать Mac. Не пойми меня неправильно; Я ничего не имею против Mac, но я видел гораздо больше серверов Linux, чем серверов Mac. И я уверен, что любой клиент, с которым вы работаете, будет благодарен вам за установку сервера с бесплатной ОС.

Как уже упоминалось, Ubuntu - отличный дистрибутив для игры, если вы никогда раньше не использовали Linux. Проведя некоторое время с Ubuntu, не стесняйтесь попробовать другие дистрибутивы, такие как Ubuntu Server Edition или Fedora . О, и обязательно сделайте резервную копию ваших данных перед перераспределением жесткого диска и установкой Linux. Это важно.

Как только вы освоитесь с Ubuntu (или с тем, что вы устанавливаете), первое, что вам нужно сделать, это изучить несколько основных утилит командной строки. Эта статья от Oracle - отличное место для начала. Если вы хотите узнать больше подробностей, у них есть больше статей в их серии.

Если вы когда-либо сталкивались с проблемами устранения неполадок в Linux, используйте форумы поддержки . Это бесценный ресурс. Если вам нужно более формальное чтение (что вам нужно), попробуйте Основное администрирование системы или Администрирование Linux для начинающих . Я думаю, что оба будут намного дешевле и более современными, чем некоторые другие книги, перечисленные здесь.

Если вы хотите узнать, как разместить веб-сервер на * nix-машине, я бы определенно рекомендовал узнать о системном администрировании в целом. Конечно, вам не нужно , чтобы знать, как настроить задание cron для размещения веб-сервера, но это в конечном итоге сделает вашу жизнь намного проще.


Другие детали

В Windows Vista и Windows 7 (и XP тоже?) Имеется инструмент для создания разделов, который позволяет вам переразбивать жесткий диск. В Windows XP инструмент для создания разделов можно найти в меню «Пуск»> «Панель управления»> «Администрирование»> «Управление компьютером»> «Хранилище»> «Управление дисками». Убедитесь, что вы просматриваете панель управления в классическом виде. После того, как вы открыли «Управление дисками», просто щелкните правой кнопкой мыши по основному разделу и (после резервного копирования данных!) Уменьшите размер основного раздела. Теперь у вас есть место для установки Linux.

Чтобы установить большинство дистрибутивов Linux, загрузите соответствующий файл .iso, запишите его на CD и загрузитесь с CD. Используйте программу, подобную ImgBurn, чтобы записать файл на CD. Оттуда установка довольно проста. Установите Linux на то место, которое вы освободили ранее, при изменении размера разделов. Если вы заметили, что Linux создает как раздел подкачки, так и обычный раздел, не беспокойтесь; это абсолютно нормально (Windows создает файл подкачки, Linux использует раздел подкачки).

Вы найдете 32- и 64-разрядную версию почти всех упомянутых дистрибутивов. 32-разрядные версии, как правило, немного более совместимы с определенным оборудованием и программами; 64-разрядные версии намного лучше используют ваше оборудование. Например, я запускаю 32-битную версию Ubuntu на своем рабочем столе, потому что (к сожалению) в ней есть только 32-битный драйвер для беспроводной карты. Кроме того, Amazon предлагает 32-битные дистрибутивы только для своих загрузчиков MP3 (lol), необходимые для покупки музыки у них. На моем ноутбуке я использую 64-разрядный дистрибутив, так как он намного лучше использует мое ограниченное оборудование.

1 голос
/ 05 января 2010

Ubuntu Linux - довольно легкое место для начала: https://help.ubuntu.com/community/Installation

Хорошая вводная книга поможет. Мне было очень полезно Руководство Харли Хана по Unix / Linux, когда я начинал: http://www.harley.com/books/sg3.html

Я в восторге от того, насколько легко люди из Ubuntu сделали что-то, и с вашей собственной установкой linux для игры действительно помогает.

Возможный путь использования Linux дома:

  • Установить Ubuntu с загрузочного компакт-диска

    • скачать файл ISO под windows
    • записать ISO-файл на CD под Windows - используйте любое программное обеспечение, которое вам нравится,
    • загрузочный CD (убедитесь, что ваш BIOS позволяет загружаться с CD)
    • используйте CD для перераспределения Windows, чтобы неиспользуемое пространство могло вместить Ubuntu

      • Я сделал это с Windows Vista на моем ноутбуке и был ошеломлен тем, как легко это было сделать ... (Естественно, сначала вы должны сделать резервную копию всего важного на ноутбуке ...)
    • используйте опцию компакт-диска для вставки меню загрузки, которое позволяет вам выбрать windows или Ubuntu
  • установить apache - поможет вам узнать о веб-администраторе / sys admin
  • install php - вам будет интересно играть с
  • попробуйте написать некоторые базовые сценарии bash - например, файлы .bat, но гораздо более мощный и хороший отправной пункт для концепций sys admin
1 голос
/ 05 января 2010

Я бы порекомендовал вам установить UNIX на машину или виртуальную машину и начать грязные руки. Ubuntu - это популярный дистрибутив Gnu / Linux, который довольно прост в установке и довольно прост.

Есть слишком много книг, которые приходят на ум, но что действительно перевело меня из моих старых DOS-дней в UNIX (прежде всего Solaris), было Kernighan и Pike "Unix Programming Environment". Это немного устарело, но дает вам некоторое представление о том, как люди работают в мире UNIX.

Как только вы освоитесь с работой в командной строке (я полагаю, это займет несколько недель), вы можете попытаться развернуть проект Rails на своей машине, найти ссылки и просто впитать все, что вам нужно, чтобы получить работу сделанный. Я думаю, что это более эффективно, чем сидеть с одной книгой и пытаться читать ее, от начала и до конца, чтобы понять UNIX.

Удачи.

1 голос
/ 05 января 2010

Вот как я это сделал:

  1. Получил Mac, начал использовать его в качестве моей основной рабочей станции в нерабочее время для экспериментальных побочных проектов: приложений для iPhone, скриптов Automator, какао-материалов, Ruby.
  2. Установил Mono на MacOS, начал писать материал ASP.net, с которым мне уже было комфортно в среде Unix.
  3. Понемногу я стал меньше пользоваться Windows. Я удостоверился, что все мои проекты .net были Mono-совместимыми, поэтому я мог перемещать код между платформами.
  4. Прибыль

Дело не столько в том, как ты изучаешь Unix, сколько в том, как ты, обычный человек, работающий полный рабочий день и всю жизнь, медленно врываешься в Unix, не сходя с ума.

0 голосов
/ 11 января 2010

Книга Под управлением Linux отлично. Очень удобный справочник при использовании Linux.

Позволяет перейти от базового использования командной строки к администрированию и программированию. Охватывает практически все, что вам нужно знать.

0 голосов
/ 05 января 2010

Если вы хотите окунуть носок в бассейн, Cygwin - хороший вариант. Вы можете установить его на свой компьютер с Windows и начать изучать командную строку в системе, с которой вы уже знакомы. Он дает вам доступ ко многим замечательным инструментам командной строки * nix (less, tail, ssh и т. Д.). Это также дает вам возможность использовать те инструменты на Windows, которые вы используете каждый день, каждый день.

Я по-прежнему использую его регулярно, когда мне приходится использовать компьютер с Windows (SSH для localhost равен , поэтому гораздо более мощный, чем запуск командной строки DOS), и когда я наконец-то переключился с Windows, была намного лучше подготовлена, потому что я уже довольно давно использовал CLI и многие из его инструментов регулярно.

0 голосов
/ 05 января 2010

Поскольку в раннем вызове, вероятно, будет использоваться интерфейс командной строки, я бы предложил начать со сценариев bash; это простой язык, подобный пакетным сценариям DOS (но гораздо более мощный, чем). Bash поможет вам начать работу с командной строкой, поскольку он будет интенсивно использовать как общие, так и необычные команды. Это отличное руководство для bash: http://tldp.org/LDP/abs/html/

Виртуальная машина очень важна, будь то Windows или Mac OS. Я использую VirtualBox (бесплатно), но Parallels также хорош (хотя и коммерческий). Это позволит вам настроить практически любой тип компьютеров linux / windows и уничтожить их безнаказанно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...