'엔진x'에 해당되는 글 2건

  1. 2014.12.31 [nginx] nginx windows version에서 php 세팅 - fastCGI 설정하기
  2. 2014.12.29 nginx 설치(Windows)

[nginx] nginx windows version에서 php 세팅 - fastCGI 설정하기

2014. 12. 31. 10:07 from Dev/etc

오늘은 지난 포스팅(http://banasun.tistory.com/entry/ngix-%EC%84%A4%EC%B9%98Windows)에 이어서 php 설정을 해보도록 하겠습니다. 요새는 WAMP니, LAMP니 하는 패키지처럼, apache를 쓰면 당연히 MySQL, PHP가 따라오는 거로 생각하고 있었는데, nginx에서는 php를 이용하려면 다른 설정을 해주어야 합니다. 바로 FastCGI라는 부분이지요.

FastCGI는, 기존 CGI가 web server가 request가 들어오면 CGI process를 생성해서 이를 처리하고 하면 번거로우니, 차라리 Fast CGI server가 CGI process를 처리하고(process를 생성하고 없애고 하는게 아니라 persistent process가 있는 거지요) web server는 request를 Fast CGI server로 넘겨주기만 하면 된다는 개념입니다. 이렇게 함으로써 웹서버의 부담이 줄어들고 한번에 더 많은 request를 처리할 수 있게 된다는 거지요.

1. nginx 설치하기

linux 명령어 가운데 거의 안쓰는 명령어가 있는데, 바로 touch라는 명령어지요. 설치는 지난번 포스팅에서 'touch' 하였습니다. ㅋㅋ (이래 놓으면 touch가 뭐지? 하고 찾아보시는 분들 생길 것 같네요)

안 보신 분들은 http://banasun.tistory.com/entry/ngix-%EC%84%A4%EC%B9%98Windows 보시기 바랍니다.

2. php 설치하기

이것도 binary 다운받으시면 바로 설치가 됩니다. 다운로드는 여기서(http://windows.php.net/download/) 받으시고요.

3. 설정하기

일단 php에서 별도로 cgi 처리를 위해서는 php-cgi.exe라는 파일을 돌려주어야 합니다. 아래와 같이 batch file을 만들어 놓으시면 편하게 이용하실 수 있습니다.

저는 지난번에 wamp를 깔아보면서 같이 설치된 파일이 있어서 디렉토리를 저렇게 해놨는데, 디렉토리 설정은 알맞게 바꿔주세요. 그리고 FASTCGI용 포트는 9123으로 해놓았습니다 :

@ECHO OFF
ECHO Starting PHP FastCGI...
set PATH=C:\wamp\bin\php\php5.5.12;%PATH%
C:\wamp\bin\php\php5.5.12\php-cgi.exe -b 127.0.0.1:9123

이제 nginx의 해당 부분 설정을 바꾸어줍니다.

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9123;
            fastcgi_index  index.php;
	    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

이제 위에서 만든 batch 실행하신 다음에 nginx를 돌리면 됩니다. ^^

Posted by banasun :

nginx 설치(Windows)

2014. 12. 29. 17:04 from Dev/etc

세계에서 가장 많이 이용하는 웹서버는 무엇일까요? 그러면 어떤 웹서버를 이용하는게 좋을까요? (물론 이 두 질문이 같은 질문은 아닙니다)

이 질문에 대해서 예전에는 당연히 Apache라는 대답을 떠올렸지만 이제는 다소 고민을 하게 됩니다.

물론 아직까지 가장 많이 이용하는 웹서버는 Apache입니다. 하지만 몇 년 전까지 70%에 육박하던 점유율이 이제는 반토막이 되어서 M$ 서버와 비슷한 수준이 되어 버렸고, 대신에 nginx(이렇게 쓰고 '엔진X'라고 읽습니다)가 20% 가까이 올라오고 있습니다(IT World 기사, Choosing a Linux web server: Nginx vs. Apache).



오늘은 시간이 조금 남는 관계로, 윈도우즈로 돌아가는 PC에 한번 설치를 해보도록 하겠습니다.

먼저 다운로드입니다. nginx 사이트(http://nginx.org/en/download.html)에 가면 윈도우즈 버전을 다운받을 수 있습니다. 1.6.2가 최근 stable 버전입니다.

윈도우즈 버전은 설치하고 말고 할 것도 없네요. 압축 풀고 실행하면 바로 서비스가 실행되는군요. 블로그 쓸 내용이 없네요 ㅋㅋ 할 수 없습니다. 가지고 놀아보고 설정하는 방법 등은 다른 포스팅으로 넘겨야겠습니다.

하여튼 실행파일을 실행하고 브라우져에서 http://localhost로 접속해서 아래 화면이 나오면 돌아가고 있는 겁니다.


명령어는 -s 옵션으로 줍니다(signal). PATH 설정이 안되었다면, 해당 폴더로 가셔서 아래와 같이 command 창에서 해줄 수 있습니다 :



nginx -s quit
nginx -s reload


설정은 설치 폴더의 conf 안에 있습니다. nginx.conf가 주요 설정들인데.. apache를 사용해보았다면 그냥 알 수 있도록 직관적으로 되어 있네요.

원래 설치한 목적은 역시 요새 유행하는 framework인 Laravel을 설치해서 테스트해보려는 것이었는데 언제나 일을 시작하다 보면 곁가지로 새버리는 것 같습니다. 어렸을 때 시험치기 전에 책상 정리하던 기억이 나는 이유는 무엇일까요.

Laravel 역시 다음 포스팅으로 넘기고 오늘은 이만 또 일로 복귀해야겠습니다.

Posted by banasun :