windows 플랫폼 에서 nginx + phop 환경 설정

6908 단어
방금 nginx 라 는 단 어 를 보 았 는데 저 는 그의 독법 (engine x) 이 궁금 합 니 다. 제 직역 은 '엔진 x' 입 니 다. 보통 '옵 티 머 스' 를 인용 하여 성능 을 나타 내 는데 'x' 는 대부분이 'xtras (추가 효과)' 를 나타 내 는 것 입 니 다. 그러면 전체 단 어 는 '극치 효과', '추가 성능' 과 유사 하 다 는 뜻 입 니 다.물론 여 기 는 한담 하 러 온 것 이 아니 라 이상 은 별말 이 었 다.
nginx 는 우리 가 잘 아 는 apache, IIS 의 장점 에 비해 저 는 '역방향 대리' 와 '부하 균형' 에 있 습 니 다.따라서 웹 서버 에 자원 을 절약 할 수 있 음 을 감안 하여 apache 대신 웹 서 비 스 를 제공 할 수 있 습 니 다.그럼 본론 으로 들 어 갑 니 다. nginx 는 이렇게 많은 장점 을 가지 고 있 습 니 다. windows 에서 nginx + phop 환경 을 어떻게 설정 합 니까?인터넷 에서 아직도 그렇게 많이 옮 겨 다 니 는 글 을 보 았 다.제 가 설정 한 과정 에 대해 소개 하 겠 습 니 다.
1. 우선 준비 해 야 할 프로그램 패키지.
nginx: nginx / Windows - 1.0.4 php: php - 5.2.16 - nts - win32 - VC6 - x86. zip RunHidden Console: RunHidden Console. zip nginx 에서 php 는 FastCGI 방식 으로 실행 되 기 때문에 비 스 레 드 보안 즉 nts 의 php 패 키 지 를 다운로드 합 니 다.
2. 설치 와 설정.
1) php 의 설치 와 설정.다운 로드 된 php 패 키 지 를 직접 풀 고 D 판 wnmp 디 렉 터 리 (D: \ wnmp) 로 압축 해 제 된 폴 더 를 php 5 로 이름 을 바 꿉 니 다.폴 더 에 들 어가 php. ini - recommended 파일 을 php. ini 로 수정 하고 Editplus 나 Notepad + + 로 엽 니 다.찾아내다

extension_dir = "./ext"

다음으로 변경

extension_dir = "D:/wnmp/php5/ext"

내 려 다 보다

;extension=php_mysql.dll;extension=php_mysqli.dll

이 가능 하 다, ~ 할 수 있다,...

extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_msql.dll
extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_snmp.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_xsl.dll
extension=php_zip.dll

앞에서 php 의 ext 경 로 를 지정 한 후 필요 한 확장 패키지 앞 에 대응 하 는 ";" 를 제거 하면 됩 니 다.여기 php 열기mysql. dll 와 phpmysql. dll, php 가 mysql 을 지원 하도록 합 니 다.
물론 잊 지 마 세 요. 중요 한 단 계 는 php 5 디 렉 터 리 에 있 는 libmysql. dll 파일 을 C: \ \ Windows 디 렉 터 리 에 복사 하 는 것 입 니 다. 시스템 변수 에 경 로 를 지정 할 수도 있 습 니 다. 물론 여기 서 더 편리 한 방법 을 선 택 했 습 니 다 ^.(테스트 결과 복사 하지 않 아 도 된다)
여기까지 phop 은 my sql 을 지원 할 수 있 습 니 다.
다음은 phop 이 nginx 와 결합 할 수 있 도록 phop 을 설정 합 니 다.찾아내다

;cgi.fix_pathinfo=1

우 리 는 이곳 의 분 호 를 없 앴 다.

cgi.fix_pathinfo=1

이 단 계 는 매우 중요 합 니 다. 여 기 는 php 의 CGI 설정 입 니 다.
2) nginx 의 설치 와 설정
다운로드 한 nginx - 1.0.4 가방 을 D 디스크 의 wnmp 디 렉 터 리 에 똑 같이 압축 을 풀 고 nginx 로 이름 을 바 꿉 니 다.다음은 phop 과 협동 할 수 있 도록 nginx 를 설정 합 니 다.nginx 의 conf 디 렉 터 리 에 들 어가 nginx 설정 파일 nginx. conf 를 열 고 찾 습 니 다.

location / {
  root html;   #          index index.html
  index.htm;
}

루트 html;루트 D: / wnmp / www 로 변경 하기;index. php 를 더 하면:

location / {
  root D:/wnmp/www;  #          
  index index.php index.html index.htm;
}

경로 구분 자 는 Windows 의 \ \ 를 사용 하지 말고 / 를 사용 하 십시오.다시 아래로, 찾 아 라.

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

먼저 앞의 \ # 를 제거 하고 루트 html 를 제거 합 니 다.루트 D: / wnmp / www 으로 변경 합 니 다.빨간색 으로 표 시 된 / scripts 를 $document 로 변경 합 니 다.root, 여기 $document루트 는 앞의 루트 가 가리 키 는 사이트 경 로 를 말 합 니 다. 이것 은 변 경 된 것 입 니 다.

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
  root D:/wnmp/www;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  include fastcgi_params;
}

error. log 의 저장 디 렉 터 리 를 설정 합 니 다. \ # errorlog logs/error.log;의 \ # 가 는 곳, 기본 error. log 는 Nginx 설치 디 렉 터 리 에 logs 디 렉 터 리 에 저 장 됩 니 다.
프로필 을 저장 하면 됩 니 다.
nginx + phop 의 환경 이 초보 적 으로 설정 되 었 으 니 뛰 어 보 세 요.우 리 는 명령 을 입력 할 수 있 습 니 다:

php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/www/php/php.ini

php 를 시작 하고 nginx 를 수 동 으로 시작 합 니 다. (불가능 할 수도 있 습 니 다.)물론 스 크 립 트 로 도 가능 하 다.
먼저 다운로드 한 RunHidden Console. zip 패 키 지 를 nginx 디 렉 터 리 에 압축 을 풀 고 RunHidden Console. exe 는 명령 행 스 크 립 트 를 실행 한 후 스 크 립 트 를 자동 으로 닫 을 수 있 으 며 스 크 립 트 에서 열 린 프로 세 스 는 닫 히 지 않 습 니 다.그리고 스 크 립 트 를 만 들 고 start 라 고 명명 합 니 다.nginx. bat, Notepad + 에서 편집 합 니 다:

@echo off
REM Windows    
REM set PHP_FCGI_CHILDREN=5

REM             ,     Windows     
set PHP_FCGI_MAX_REQUESTS=1000
 
echo Starting PHP FastCGI...
RunHiddenConsole D:/phpsetup/php-5.4.45-nts-Win32-VC9-x86/php-cgi.exe -b 127.0.0.1:9000 -c D:/phpsetup/php-5.4.45-nts-Win32-VC9-x86/php.ini
 
echo Starting nginx...
RunHiddenConsole D:/phpsetup/nginx-1.6.0/nginx.exe -p D:/phpsetup/nginx-1.6.0


stop 라 는 이름 을 따로 만 듭 니 다.nginx. bat 의 스 크 립 트 는 nginx 를 닫 는 데 사 용 됩 니 다:

@echo off
echo Stopping nginx... 
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

이렇게 해서 저희 서비스 스 크 립 트 도 모두 만 들 었 습 니 다.더 블 클릭 startnginx. bat, 프로 세 스 관리자 에 nginx. exe 프로 세 스 두 개 와 phop - cgi. exe 프로 세 스 가 있 는 지 다시 볼 까요?
이렇게 nginx 서비스 가 시작 되 었 고 php 도 fastCGI 방식 으로 실행 되 었 다.사이트 디 렉 터 리 에 phopinfo. php 파일 을 새로 만 들 고 편집 합 니 다.



저장 후 브 라 우 저 입력 열기http://localhost/phpinfo.php하면, 만약, 만약...
nginx + phop 의 환경 이 설정 되 어 있다 는 뜻 입 니 다. 하하 ~
Nginx 403 forbidden 의 해결 방법
흔히 볼 수 있 는 것 은 nginx 403 forbidden 을 일 으 키 는 두 가지 원인 이 있 습 니 다. 하 나 는 색인 파일 이 부족 하고 두 가지 권한 문제 입 니 다.
1. index. html 또는 index. php 파일 이 없습니다.
코드 는 다음 과 같 습 니 다:

server { 
 listen 80; 
 server_name localhost; 
 index index.php index.html; 
 root /var/www;
}

/ var / www 아래 에 index. php, index. html 가 없 을 때 도 메 인 이름 을 직접 방문 하여 파일 을 찾 지 못 하면 403 forbidden 을 보고 합 니 다.예 를 들 어 www. test. com 에 접근 하면 이 도 메 인 이름 에 대응 하 는 루트 가 지정 한 색인 파일 이 존재 하지 않 습 니 다.
권한 문제
PHP 의 경우 nginx 사용자 가 웹 디 렉 터 리 권한 이 없 으 면 이 오류 가 발생 할 수 있 습 니 다.해결 방법: 웹 디 렉 터 리 의 읽 기와 쓰기 권한 을 수정 하거나 nginx 의 시작 사용 자 를 디 렉 터 리 의 소속 사용자 로 바 꾸 면 다시 시작 하면 해결 할 수 있 습 니 다.예 를 들 어 코드 는 다음 과 같 습 니 다 (Linux 아래).

chown -R nginx_user:nginx_user /htdocs


좋은 웹페이지 즐겨찾기