nginx를 기본 웹 서버로 사용하는 단점은 무엇입니까?


12

아파치와 함께 작동하는 근접 웹 서버로 nginx를 사용하는 수백만 개의 웹 사이트를 보았습니다. 그러나 nginx를 기본 웹 서버로만 실행하는 서버는 거의 없습니다. 이러한 구성의 주요 단점은 무엇입니까?

나는 몇 가지를 볼 수 있습니다 :

  • .htaccess와 같은 디렉토리 별 구성 파일을 사용할 수 없으므로 모든 구성 변경은 기본 서버 구성 파일에 수행되어야하며 서버를 다시로드해야합니다. 그러나 pecl htscanner는 PHP 설정에 대해 보상 할 수 있습니다
  • nginx에 대해 mod_php를 사용할 수 없습니다. 예를 들어 php-fpm으로 보상 할 수 있습니다.

다른 사람은 무엇입니까? 사람들이 Apache를 삭제하고 nginx 또는 다른 경량 솔루션으로 옮기지 않는 이유는 무엇입니까? 특별한 이유가 있습니까?

편집 :이 질문은 주로 LAMP 스택 작업에 ​​관한 것입니다.


1
마음가짐, 관성, 투자. 같은 항상.
이그나시오 바스케스-아 브람스

새 서버에서 nginx를 설정하려면 어떤 투자가 필요합니까? 무료 오픈 소스 소프트웨어입니다.
Vladislav Rastrusny

3
연구, 배포, 테스트 등에 필요한 시간 투자
ThatGraemeGuy

수량에 대해 이야기하고 있다면 IMHO의 가장 큰 이유는 Apache를 사용하는 수많은 공유 호스트 때문입니다. nginx를 공유 서비스 (예 : cPanel, Plesk 등)로 설정하는 것은 Apache, 특히 최종 사용자를 위해 동일하게 수행하는 것만 큼 쉽지 않습니다. 그리고 단일 사이트를 실행하면서도 쉽고 친숙하며 설치 비용이 저렴하기 때문에 cPanel / Plesk 등을 사용하는 많은 전용 서버를 알고 있습니다.
Halil Özgür

답변:


9

내 #nginx 경험에서 거의 항상 Apache .htaccess 파일에 익숙하고 파일을 잃고 싶지 않거나 다른 방법으로 의존하기 때문입니다. 예를 들어 정적 파일 만 오프로드하고 사용자가 바이올린을 사용하기를 원하는 공유 서버 호스팅을 실행하는 사람들.

그리고 솔직히 최종 사용자를 위해 .htaccess를 유지하는 것 외에 아파치에 프록시 해야하는 다른 이유는 실제로 생각할 수 없습니다.

편집 : 실제로 공유 호스트에 대한 mod_php와 phpsuexec는 Apache를 고수하는 또 다른 이유 일 수 있습니다.


내 경험상, apache2의 ajp-worker가 고압에서 특히 빠르기 때문에 nginx를 통해 tomcat에서 좋은 성능을 얻는 것은 꽤 어렵습니다. nginx에 실험적인 ajp13 구현이 있지만 안정적이지 않고 문서화되지 않았습니다.
pauska

1
매우 가능합니다. Nginx는 fastcgi 또는 HTTP 1.0 리버스 프록시로 가장 잘 작동합니다. scgi, wsgi 등과 대화하기위한 타사 모듈이 있다는 것을 알고 있지만 얼마나 안정적인지, 심지어 얼마나 빠르다고 말할 수는 없습니다.
Martin Fjordvald

BTW, mod_php는 suexec에서 작동하지 않습니다. Suexec는 cgi 응용 프로그램을위한 것입니다.
Vladislav Rastrusny

글쎄, 당신은 간다, 진짜 이유가 없다. 더 이상 아파치를 기억하기조차 너무 오랫동안 nginx 사용자였습니다. : D
Martin Fjordvald

6

Apache를 제대로 작동시킬 수있는 많은 사람들이 있다면 완전히 새로운 앱과 구성을 다시 배우고 mod_rewrite 규칙을 마이그레이션하고 mod_perl / php / etc 구성을 다시 실행하고 다시 테스트하고 다시 배포해야하는 이유가 무엇입니까?

두 소프트웨어 스택은 모두 무료 일 수 있지만 "재교육, 재개발, 재 테스트"는 불가능하며, 땜질을 위해 땜질하기보다는 사용자가 관심있는 기능을 1 개 추가 할 수 있습니다 .

1 내가 분명히 개인 프로젝트에 대해 이야기하고 있지 않다,있다.


2

나는 Nginx를 좋아하지만 두 가지로 인해 내 웹 사이트에서 사용하지 못하게됩니다.

  • PHP-FPM 설정이 어렵습니다 . 아직 최신 PHP 버전으로 성공하지 못했습니다.

  • Nginx는 내가 끼워 넣은 HTML5 웹 소켓을 지원하지 않습니다.


1
nginx와 php-fpm에서 겪은 어려움을 말할 수 있습니까? HTML5 WebSockets에 관해서는 아파치가 아직없는 것처럼 보입니다 : issues.apache.org/bugzilla/show_bug.cgi?id=47485
Vladislav Rastrusny

php-fpm 문제도 알고 싶습니다. 소스없이 PHP를 컴파일 할 수 있다면 PHP로도 매우 간단합니다.
Martin Fjordvald

1
5.3 브랜치는 이미 내부에 있으므로 ./configure --enable-fpm 만하면됩니다.
Vladislav Rastrusny
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.