PHP를 CLI 형태로 사용한다면 관계없겠지만, 대부분이 웹 애플리케이션, 다시 말해 웹 개발을 하기 위해 PHP를 사용하기 때문에 그러기 위해서는 PHP를 웹 서버와 연동해야 한다.
Apache(아파치)와 같은 웹 서버도 있지만 여기서는 '엔진엑스'라고 읽는 오픈 소스 웹 서버 nginx를 설치하고 PHP와 연동해 본다.
1. Nginx 다운로드 및 설치
PHP를 설치할 때에도 공식 사이트에서 다운로드했다.
마찬가지로 nginx 공식 사이트 (https://nginx.org/en)에 접속하거나 바로 아래의 다운로드 페이지에 접속한다.
- nginx 다운로드 페이지 : https://nginx.org/en/download.html
항상 그렇듯이 Stable version (안정 버전)을 다운로드한다.
다운로드한 Zip 압축 파일을 풀고, 원하는 위치로 이동 또는 복사한다.
나는 위 사진과 같이 C 드라이브에 nginx-1.26.1 디렉터리 이름으로 이동했다.
PHP와 마찬가지로 윈도우 환경에서 nginx 웹 서버를 설치하는 것은 끝났다. ㅎㅎ
2. Nginx 실행 및 확인
설치가 잘 되었는지 확인해 본다.
명령 프롬프트를 실행하고 설치된 경로로 이동해 nginx 명령어를 입력 후 엔터를 누르자.
최초 실행했다면 아마 아래와 같은 'Windows 보안' 창을 볼 수도 있을 것이다.
[허용] 버튼을 클릭하고 넘어간다. 그리고 앞서 실행한 명령 프롬프트 창도 닫자.
이게 뭐 실행된 건가... 싶다.
작업 관리자를 열어서 확인해 보자.
프로세스가 실행 중인 것을 알 수 있다.
다음으로 브라우저를 열어 http://localhost라고 입력하고 접속해 보자.
위와 같은 화면이 나온다면 정상적으로 nginx 웹 서버가 실행 중인 것이다.
위 화면은 어디에 위치한 파일의 내용인가?
nginx 웹 서버의 기본 설정인 nginx 설치 디렉터리 아래에 html 디렉터리의 index.html 파일의 내용이다.
나는 C:\nginx-1.26.1에 설치했으니 C:\nginx-1.26.1\html\index.html 파일이 된다.
2. PHP와 Nginx 연동
nginx 웹 서버가 정상적으로 작동하는 것을 확인했으니 이제 nginx 웹 서버를 통해 PHP 프로그램이 잘 실행되도록 연동해 보자.
nginx 설정
nginx를 설치한 경로에 보면 conf 디렉터리가 있고 그 안에 nginx.conf 파일을 열어 수정한다.
nginx.conf 파일 내용에서 아래와 같이 server { } 내에 명시된 내용 중에 location / {} 항목에 index.php를 추가하자.
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm index.php;
}
다음으로 주석 처리되어 있는 location ~ \.php$ {} 항목을 모두 주석을 지워준다.
그리고 fastcgi_param 부분에 /scripts$fastcgi_script_name 부분을 $document_root$fastcgi_script_name 라고 수정이 필요하다.
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
위 내용이 없다면 추가해 준다.
Nginx 서버 재시작
nginx 서버 설정 파일을 수정했으므로 서버를 재시작해 줘야 한다.
명령 프롬프트를 열어 nginx를 설치한 곳으로 이동 후 아래 명령을 실행하면 nginx 서버가 재시작된다.
nginx -s reload
실재 재시작한 화면은 아래와 같다.
PHP 실행
명령 프롬프트를 열어 PHP를 설치한 곳으로 이동 후 아래 명령을 실행한다.
php-cgi.exe -b "127.0.0.1:9000" -c php.ini
실재 실행한 화면은 아래와 같다.
다시 작업 관리자를 보면 다음과 같이 프로세스가 실행 중인 것을 확인할 수 있다.
PHP 연동 확인
nginx의 root 디렉터리인 C:\nginx-1.26.1\html 디렉터리에 index.php 파일을 만들어 보자.
위 코드를 작성 후 브라우저를 열어
http://localhost/index.php 로 접속해 보자.
다음과 같은 화면을 확인할 수 있으면 정상적으로 연동된 것이다.
이러한 비슷한 방식으로 PHP는 웹 서버들과 연동된다.
아파치(Apache) 웹 서버와의 연동도 비슷한 과정을 거치는데 Nginx와 다르게 php-cgi를 따로 실행해 주지 않아도 된다는 점이 다를 수 있다.
윈도우 환경이라고 하지만 리눅스 환경도 맥락은 크게 다르지 않다.
- 끝 -
상기 상품 배너는 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'코딩해보니 > PHP' 카테고리의 다른 글
XAMPP로 로컬 호스트에서 SSL 인증 설정으로 HTTPS 사용하기(for 윈도우) (0) | 2024.10.26 |
---|---|
라라곤(Laragon)으로 윈도우(Windows)에서 PHP 개발 환경 구성하기(Laravel 가능) (0) | 2024.10.26 |
윈도우(Windows)에서 PHP 개발 환경 구성하는 방법 - XAMPP, AMPPS, EasyPHP, Homestead (0) | 2024.07.12 |
PHP와 MySQL(MariaDB) 연동- 윈도우(Windows) 환경 (1) | 2024.07.12 |
PHP 설치 하기 - 윈도우(Windows) 환경 (1) | 2024.07.02 |
댓글