Windows 서버와 LAMP 서버의 구체적인 차이점은 무엇이며 어떤 것에 대해 배워야 합니까?

Windows 서버와 LAMP 서버의 구체적인 차이점은 무엇이며 어떤 것에 대해 배워야 합니까?

지난 6~8개월 동안 저는 .NET을 사용해 많은 작업을 해왔습니다. 저는 웹 서비스에 대해 배웠고(비록 전문가는 아니지만) 최근에는 웹 서버에 대한 강한 관심을 가지게 되었고, 정말로 제 자신의 서비스를 설정하고 싶습니다. 저는 Windows Server 2008을 실행하는 오래된 데스크톱 컴퓨터를 가지고 있지만 기숙사에 살고 있으며 고정 IP가 없습니다. 이에 대한 해결책이 있다는 것을 알고 있지만 먼저 제가 하고 있는 일이 무엇인지 더 잘 이해하고 싶습니다. 제가 설정하고 싶은 것은 웹사이트/안드로이드 앱을 호스팅하는 데 사용할 수 있는 다목적 서버입니다.

LAMP 서버는 Windows/IIS 서버보다 사용자 정의가 더 쉽다(따라서 일반적으로 더 효율적이라고 들었습니다). 이것이 사실입니까? Apache는 어디에나 존재하기 때문에 Apache의 작동 방식과 사용 방법을 자세히 배우고 싶습니다. LAMP 경로를 선택할 때 나를 불안하게 만드는 유일한 것은 명령줄입니다(저는 19살이고 GUI에서 자랐습니다). 나는 전에 유닉스 명령줄을 사용해본 적이 있고 기본 명령/파일 시스템 탐색에는 익숙하지만 명령줄에서 웹 서버와 같은 것을 구성하면 정말 엉뚱한 일을 하게 됩니다. 나는 거의 모든 Microsoft 소프트웨어의 무료 사본을 얻을 수 있지만(학생인 것을 좋아합니다) GUI를 교환하기 위해 웹 서버에 대한 이해를 희생하고 싶지는 않습니다.

어떤 경로를 택해야 할지 제안해 주실 수 있나요? 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

웹서버를 설정하시겠습니까? 해. 1년 동안 공부할 필요는 없습니다. 몇 분 안에 IIS를 실행할 수 있고, 한두 시간 안에 가상 머신에 Apache 구성을 사용하여 Linux를 설치할 수 있습니다.

명령줄에서 Apache를 구성하는 것은 대략 "yum install apache"와 "텍스트 편집기를 사용하여 /etc/httpd/httpd.conf 편집"(Linux 배포판에 따라 다름)을 의미합니다. 많은 설정 변경을 수행하는 것은 거대한 콘솔 명령 체인이 아닙니다.

LAMP 서버는 사용자 정의가 더 쉽다고 들었습니다(따라서 일반적으로 더 효율적입니다).

그것은 따르지 않습니다. 더 많은 사용자 정의 가능, 예, 더 효율적인 것은 전적으로 "효율적"이라는 것이 무엇을 의미하는지에 달려 있습니다. LAMP의 P는 일반적으로 "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-명령줄-미친 기술에 대한 인상이 사라지지만 그것은 단지 인상일 뿐이라는 점을 기억하십시오.

예를 들어, AFAIK Stack Exchange 네트워크(이 사이트 포함)는 Windows 웹 서버에서 실행됩니다. 이는 Windows를 사용하여 훌륭한 작업을 수행할 수 있음을 보여줍니다.

답변4

LAMP를 배우고 사용해보면 Windows+IIS를 배우는 것보다 다양한 기술을 더 잘 이해하게 될 것입니다.

관련 정보