'2011/03'에 해당되는 글 1건

  1. 2011.03.05 WINDOWS+ NGINX + PHP + MySQL 설치


c:\nginx\conf\nginx.conf 수정
아래와 같이 주석제거
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9123;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }


  • PHP-CGI 실행
    • c:\nginx\run_php.vbs 아래와 같이 작성 후 실행

option Explicit 
dim strComputer,objWMIService,objShell,colProcesses 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set objShell = CreateObject("Wscript.Shell") 

Do 
        Set colProcesses = objWMIService.ExecQuery _ 
                ("Select * from Win32_Process Where Name = 'php-cgi.exe'") 
        If colProcesses.Count < 10 Then 
                objShell.Run "RunHiddenConsole.exe  c:\nginx\php\php-cgi.exe -b 127.0.0.1:9123 -c c:\nginx\php\php.ini" 
        End If 

        Wscript.Sleep 5000 

Loop

PHP-CGI 데몬을 하나만 띄워도 되지만 이상하게 일정시간후 죽는 현상이 발생하여 프로세스 갯수를 확인하여 10개를 띄우도록 했다.
사용량이 적은 사이트는 3개정도면 적당할 듯하다.


  • nginx 실행
    • c:\nginx\start_nginx.bat 아래와 같이 작성 후 실행

@ECHO OFF
start c:\nginx\nginx.exe






@echo off
set pathlog=c:\logs\(로그파일이 있는 경로)

set filedate=%time::=%
set filedate=%filedate: =0%
set filedate=%filedate:~0,6%

set logfilename=site.access.log(access 로그파일명)
set filename=%logfilename%_%date:-=%_%filedate%
rename %pathlog%%logfilename% %filename%

set logfilename=siet.error.log(error 로그파일명)
set filename=%logfilename%_%date:-=%_%filedate%
rename %pathlog%%logfilename% %filename%

c:\nginx\nginx -s reopen


    • 서비스 정지시키기
      • c:\nginx\stop.bat 를 아래와 같이 작성 후 실행

@ECHO OFF
c:\nginx\nginx.exe -s stop

taskkill /f /IM nginx.exe
taskkill /f /IM wscript.exe
taskkill /f /IM php-cgi.exe



  • Apache 와 Nginx 의 성능 비교
기존 사용하던 Apache데몬(httpd.exe)와 nginx, php-cgi방식으로 변경한 모습.
엄청난 CPU와 메모리 차이를 보이고 있다.

Todo...

가끔 502 Bad Gateway 오류가 나오며 페이지가 안나올때가 있다.


신고
Posted by 화니.

댓글을 달아 주세요