Каковы конкретные различия между сервером Windows и сервером LAMP, и о каком из них мне следует узнать?

Каковы конкретные различия между сервером Windows и сервером LAMP, и о каком из них мне следует узнать?

Последние 6 или 8 месяцев я много работал с .NET. Я узнал о веб-сервисах (хотя я не эксперт) и недавно у меня появился сильный интерес к веб-серверам, и я действительно хочу настроить свой собственный. У меня есть старый настольный компьютер с запущенным Windows Server 2008, но я живу в общежитии и у меня нет статического IP. Я знаю, что для этого есть решения, но я хочу лучше понять, что я делаю сначала. Я хотел бы настроить многоцелевой сервер, который я мог бы использовать для размещения веб-сайтов/приложений Android.

Я слышал, что серверы LAMP более настраиваемы (следовательно, обычно более эффективны), чем серверы Windows/IIS. Это правда? Поскольку Apache настолько вездесущ, я действительно хотел бы узнать больше о том, как он работает, и действительно научиться им пользоваться. Единственное, что заставляет меня нервничать в выборе пути LAMP, это командная строка (мне 19 лет, и я вырос на графических интерфейсах). Я раньше работал с командной строкой unix, и мне комфортно с основными командами/навигацией по файловой системе, но настройка чего-то вроде веб-сервера из командной строки заставляет меня ходить в истерике. Я могу получить бесплатные копии почти любого программного обеспечения Microsoft (обожаю быть студентом), но я не хочу жертвовать своим пониманием своего веб-сервера исключительно в обмен на графический интерфейс.

Есть предложения по выбору пути? Меня беспокоит переход на Windows, что я никогда не пойму веб-серверы, потому что для меня все будет инкапсулировано и упрощено. Я также хочу знать, что входит в потрясающий и эффективный сервер. Есть предложения/книги/рекомендации по ресурсам?

решение1

Ваш выбор платформы (Windows IIS или Linux и Apache) во многом продиктован вашими требованиями. Прямо сейчас ваши требования по сути не существуют, поскольку вы просто настраиваете веб-сервер, чтобы поиграться с ним. Выберите стек технологий, который будет наиболее релевантным для ваших долгосрочных целей (и поскольку вы работали с .NET, он, вероятно, перейдет на Windows IIS) и используйте его, вникайте в него и изучайте его.

Нет ничего в использовании стека LAMP, что по сути превратит вас в супер-администратора (возможно, в супер-администратора в отношении LAMP...), равно как нет ничего в использовании IIS, что сделает вас "never really understand web servers because everything would always be encapsulated and simplified for me".

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

решение2

Хотите настроить веб-сервер? Сделайте это. Это не обязательно должно быть годичным обучением, вы можете запустить IIS за несколько минут, а установить Linux с конфигурацией Apache на виртуальной машине за час или два.

Настройка Apache из командной строки примерно означает "yum install apache", а затем "используйте текстовый редактор для редактирования /etc/httpd/httpd.conf" (зависит от дистрибутива Linux). Это не огромная цепочка консольных команд для внесения множества изменений настроек.

Я слышал, что серверы LAMP более настраиваемы (следовательно, обычно более эффективны)

Это не следует. Более настраиваемый, да, более эффективный, полностью зависит от того, что вы подразумеваете под "эффективным". P в LAMP обычно относится к "PHP, Perl, Python, (Ruby)", и вам придется поспорить, если вы скажете, что они эффективнее, чем IIS/ASP.Net.

Если вам нужен легкий (быстрый. «эффективный»?) веб-сервер, то лучше обратить внимание на nginx.

Есть предложения по выбору пути? Меня беспокоит, что при переходе на Windows я никогда не пойму веб-серверы, потому что для меня все будет инкапсулировано и упрощено.

Что, никто не знает, как работает IIS?

Я также хочу знать, что входит в состав отличного и эффективного сервера.

StackOverflow (Serverfault.com и его друзья) работает на Windows/ASP.Net/SQL Server, и в Интернете появились интересные сообщения о том, как они это делают (например,http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html)

решение3

В зависимости от уровня понимания, который вам нужен, есть несколько способов обойти это.

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

  • В противном случае, лучший способ учиться — читать и экспериментировать. Настраивать веб-сайты в разных конфигурациях. Предложить разместить веб-сайт какого-нибудь друга бесплатно (просто убедитесь, что он знает, что это экспериментальный сайт), разместить несколько своих собственных сайтов. Пробовать разные функции. Читать онлайн-документы. Взять в библиотеке случайную книгу по теме, чтобы почитать по дороге на работу.

Кроме того, веб-сервер Windows также имеет некоторые довольно продвинутые функции. Думать, что LAMP обязательно более настраиваемый с большим запасом, не всегда верно. Я сам Linux-пользователь, но я видел, как Windows-пользователи делают довольно продвинутые вещи с IIS. Наличие GUI убивает впечатление 1337-command-line-mad-skills, но помните, что это может быть только впечатление.

Просто в качестве примера, насколько мне известно, сеть Stack Exchange (включая этот сайт) работает на веб-серверах Windows. Это показывает, что с Windows можно делать великие дела.

решение4

Если вы изучите и будете использовать LAMP, вы поймете различные технологии лучше, чем если бы вы изучали Windows + IIS.

Связанный контент