PHP 프로그래밍에서 Nginx를 사용하는 것은 매우 일반적인 요구 사항입니다. 왜냐하면 Nginx는 요청, 응답 및 로드 밸런싱을 보다 효율적으로 처리하는 데 도움이 되는 고성능 웹 서버이자 역방향 프록시 서버 소프트웨어이기 때문입니다. 이 기사에서는 PHP 프로그래밍에서 Nginx를 사용하는 방법을 소개합니다.
1단계: Nginx 서버 설치 및 구성
먼저 Nginx 서버를 설치하고 구성해야 합니다. Linux 시스템에서는 패키지 관리자를 통해 Nginx를 설치할 수 있습니다. 예를 들어 Ubuntu에서 apt-get 명령을 사용합니다.
sudo apt-get update sudo apt-get install nginx
설치가 완료되면 Nginx 서버를 시작할 수 있습니다.
sudo service nginx start
이제 PHP 스크립트를 처리하도록 Nginx 서버를 구성해야 합니다. Nginx에서는 FastCGI를 사용하여 PHP 스크립트를 처리합니다. PHP 스크립트를 처리하려면 FPM(FastCGI Process Manager)을 설치해야 합니다.
Ubuntu에서는 다음 명령을 사용하여 설치할 수 있습니다.
sudo apt-get install php-fpm
설치가 완료된 후 FastCGI를 PHP-FPM과 연결하려면 Nginx의 구성 파일을 편집해야 합니다.
Ubuntu에서는 /etc/nginx/sites-available/default
文件,然后在server
블록을 편집하여 다음 구성 항목을 추가할 수 있습니다.
location ~ .php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
그런 다음 Nginx 서버를 다시 시작하여 이러한 변경 사항을 적용합니다.
sudo service nginx restart
이제 Nginx 서버가 구성되었으며 PHP 스크립트를 처리할 준비가 되었습니다.
2단계: PHP-FPM과 Nginx를 사용하여 동적 콘텐츠 처리
동적 콘텐츠를 처리하기 위해 PHP-FPM과 Nginx를 함께 사용할 수 있습니다. PHP-FPM은 Nginx에서 백엔드 서비스로 설정할 수 있는 FastCGI 프로세스 관리자입니다. 이 설정에서 Nginx는 PHP-FPM에 요청을 보내고 응답을 받습니다.
Nginx 구성 파일에 다음 구성을 추가합니다.
location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; }
이 구성에서 fastcgi_pass 지시문은 백엔드 PHP 프로세서의 위치를 지정합니다. 이는 PHP-FPM 서버가 수신하는 주소인 Unix 소켓 파일을 가리킵니다.
3단계: PHP와 Nginx를 사용하여 정적 콘텐츠 처리
정적 콘텐츠를 처리하려면 파일을 Nginx에 직접 제공하기만 하면 됩니다. 예를 들어 정적 HTML 파일, CSS 스타일시트 및 JavaScript 파일에 대해 다음 구성을 생성할 수 있습니다.
location / { root /var/www/; index index.html index.htm; } location /css/ { root /var/www/; expires 1h; } location /js/ { root /var/www/; expires 1h; }
이 구성에서는 모든 파일을 찾을 수 있는 위치를 지정하는 루트 디렉터리(루트)를 정의합니다. 브라우저 캐시의 효율적인 사용을 위해 정적 파일(HTML, CSS, JavaScript)의 만료 표시는 1시간으로 설정됩니다.
4단계: 역방향 프록시를 사용하여 PHP 애플리케이션 실행
PHP 애플리케이션을 실행하려면 역방향 프록시 모드를 사용하여 Nginx를 구성할 수 있습니다. 역방향 프록시 모드에서 Nginx는 클라이언트를 대신하여 PHP 애플리케이션에 요청을 보냅니다. 이 코드는 역방향 프록시 패턴을 매우 잘 보여줍니다.
server { listen 80; server_name www.example.com; location / { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
이 코드에서는 Nginx에 가상 호스트를 설정한 다음 위치 블록에서 역방향 프록시를 구성합니다. Proxy_pass 지시어는 PHP 애플리케이션의 백엔드 위치를 지정합니다. 이 백엔드 위치는 로컬 HTTP 포트(8000)를 사용할 수 있습니다.
결론
Nginx를 사용하여 동적 및 정적 콘텐츠를 처리하면 성능을 향상시킬 수 있을 뿐만 아니라 확장성과 보안도 향상시킬 수 있습니다. 또한 Nginx의 역방향 프록시를 사용하면 구성 및 배포가 더 쉬워지고 애플리케이션을 안전하게 확장할 수 있습니다.
이 기사에서는 Nginx 서버를 설치 및 구성하고, PHP-FPM 및 Nginx를 사용하여 동적 및 정적 콘텐츠를 처리하고, 역방향 프록시를 사용하여 PHP 애플리케이션을 실행하는 방법을 다룹니다. 이를 통해 PHP 프로그래밍과 함께 Nginx 사용을 시작할 수 있습니다.
위 내용은 PHP 프로그래밍에 Nginx를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!