>  기사  >  백엔드 개발  >  PHP 프로그램 배포 문서

PHP 프로그램 배포 문서

PHPz
PHPz원래의
2023-05-06 16:52:08857검색

PHP 프로그램 배포 문서

PHP는 널리 사용되는 서버 측 스크립팅 언어로 웹 사이트 개발, 웹 애플리케이션 개발, 명령줄 스크립팅 및 기타 분야에서 널리 사용되었습니다. PHP 프로그램을 배포하는 방법은 모든 PHP 프로그래머가 숙달해야 하는 기술 중 하나가 되었습니다. 이 기사에서는 PHP 프로그램의 배포 프로세스를 소개하고 독자가 다양한 시나리오에서 PHP 프로그램 배포를 완료하는 데 도움을 줍니다.

  1. 배포 환경 구축

먼저 대상 머신에 PHP 환경을 설치해야 합니다. 다음 명령어를 통해 Linux 환경에 PHP를 설치할 수 있습니다.

$ sudo apt-get update
$ sudo apt-get install php

설치가 완료된 후 다음 명령어를 통해 PHP 버전을 확인할 수 있습니다.

$ php -v

PHP 버전 정보가 보인다면 PHP 환경이 설치되어 있다는 의미입니다. 성공적으로 설정되었습니다.

  1. 웹 서버 선택

PHP 프로그램은 웹 서버를 통해 실행되어야 합니다. 다음은 두 가지 일반적인 웹 서버입니다: Apache와 Nginx.

2.1 Apache

Apache는 가장 널리 사용되는 웹 서버 중 하나이며 여러 운영 체제를 지원하며 구성이 매우 쉽습니다. Apache는 다음 명령어를 통해 설치할 수 있습니다.

$ sudo apt-get install apache2

설치가 완료된 후 다음 명령어를 통해 Apache가 실행되고 있는지 확인할 수 있습니다.

$ systemctl status apache2

Apache의 상태 정보를 보면 Apache가 정상적으로 실행되고 있는 것입니다.

2.2 Nginx

Nginx는 Apache에 비해 성능이 빠르고 리소스 소비가 적은 경량 웹 서버입니다. Nginx는 다음 명령어를 통해 설치할 수 있습니다.

$ sudo apt-get install nginx

설치가 완료된 후 다음 명령어를 통해 Nginx가 실행되고 있는지 확인할 수 있습니다.

$ systemctl status nginx

Nginx의 상태 정보를 보면 Nginx가 정상적으로 실행되고 있는 것입니다.

  1. PHP 프로그램 배포

웹 서버를 선택한 후 PHP 프로그램 배포를 시작할 수 있습니다. PHP 프로그램 파일을 서버에 업로드하거나 Git과 같은 버전 제어 도구를 통해 대상 시스템에 코드를 다운로드할 수 있습니다.

3.1 정적 웹사이트

PHP 프로그램에 간단한 HTML 페이지와 정적 데이터만 있는 경우 이러한 파일을 웹 서버의 루트 디렉터리에 배치할 수 있습니다. 루트 디렉터리의 기본값은 Apache에서는 /var/www/html이고 Nginx에서는 /usr/share/nginx/html입니다. /var/www/html,在Nginx中默认为/usr/share/nginx/html

假设PHP程序的根目录为/var/www/myprogram,我们将其中的所有文件放到根目录下。然后将Web服务器的配置文件修改为如下内容:

Apache:

<VirtualHost *:80>
    ServerName myprogram.com
    DocumentRoot /var/www/myprogram
</VirtualHost>

Nginx:

server {
    listen 80;
    server_name myprogram.com;
    root /var/www/myprogram;
}

重启Web服务器,即可通过浏览器访问PHP程序。

3.2 动态网站

如果PHP程序需要动态生成页面,我们需要配置Web服务器与PHP之间的交互方式。

3.2.1 Apache + mod_php

Apache可以通过在PHP和Web服务器之间添加插件来支持PHP,其中最常见的插件是mod_php

PHP 프로그램의 루트 디렉터리가 /var/www/myprogram이고 그 안에 있는 모든 파일을 루트 디렉터리에 저장한다고 가정합니다. 그런 다음 웹 서버의 구성 파일을 다음 내용으로 수정합니다.

Apache:

$ sudo apt-get install libapache2-mod-php
Nginx:

<VirtualHost *:80>
    ServerName myprogram.com
    DocumentRoot /var/www/myprogram
    
    <Directory /var/www/myprogram>
        AllowOverride All
    </Directory>
    
    # Add the following two lines
    AddHandler php-script .php
    AddType text/html .php
</VirtualHost>
웹 서버를 다시 시작하면 브라우저를 통해 PHP 프로그램에 액세스할 수 있습니다.

3.2 동적 웹사이트

PHP 프로그램이 페이지를 동적으로 생성해야 하는 경우 웹 서버와 PHP 간의 상호 작용 방법을 구성해야 합니다.

3.2.1 Apache + mod_php
  1. Apache는 PHP와 웹 서버 사이에 플러그인을 추가하여 PHP를 지원할 수 있습니다. 가장 일반적인 플러그인은 mod_php입니다. 다음 명령을 통해 설치할 수 있습니다.
  2. $ sudo apt-get install php-fpm
그런 다음 Apache 구성 파일에 다음 내용을 추가할 수 있습니다.

server {
    listen 80;
    server_name myprogram.com;
    root /var/www/myprogram;
    
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock; # PHP版本可能不同,需要根据实际情况修改。
    }
}
Apache 서비스를 다시 시작한 후 브라우저를 통해 PHP 프로그램에 액세스할 수 있습니다.

3.2.2 Nginx + PHP-FPM

Nginx와 PHP 간의 통신 방법은 Apache보다 약간 더 복잡합니다. PHP 프로세스를 관리하려면 PHP-FPM을 사용해야 합니다. 다음 명령을 통해 설치할 수 있습니다.
    <VirtualHost *:80>
        ServerName myprogram.com
        DocumentRoot /var/www/myprogram
        
        <Directory /var/www/myprogram>
            AllowOverride All
        </Directory>
        
        # Add the following two lines
        AddHandler php-script .php
        AddType text/html .php
        
        # Add the following two lines
        php_flag display_errors on
        php_value error_log /var/log/apache2/error.log
    </VirtualHost>
  • 그런 다음 Nginx 구성 파일에 다음 콘텐츠를 추가할 수 있습니다.
  • server {
        listen 80;
        server_name myprogram.com;
        root /var/www/myprogram;
        
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
        
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            
            # Add the following two lines
            fastcgi_param  PHP_FLAG "display_errors=on";
            fastcgi_param  PHP_VALUE "error_log=/var/log/nginx/error.log";
        }
    }
  • 수정이 완료되면 Nginx 및 PHP-FPM 서비스를 다시 시작해야 합니다.
  • 추가 구성
  • 실제 사용 중에는 성능 튜닝, 보안 설정, 로그 관리 등 몇 가지 추가 구성도 수행해야 합니다.
  • 4.1 성능 조정

    PHP 프로그램은 다음과 같은 방법으로 성능 조정을 수행할 수 있습니다.

    캐시 데이터;
    • Gzip 압축 활성화;
    • 리디렉션을 피하세요.
    • 4.2 보안 설정
    • 다음 방법으로 프로그램 보안을 향상할 수 있습니다.
    위험한 PHP 기능을 비활성화합니다.

    SQL을 방지합니다.

    HTTPS를 활성화합니다.

    4.3 로그 관리

    PHP 프로그램을 실행하는 동안 다양한 오류와 예외가 발생할 수 있습니다. 이러한 문제를 로그를 통해 포착해야 합니다. PHP는 내장된 error_log 함수를 통해 오류 로그를 기록할 수 있습니다.

    다음과 같은 방법으로 오류 로그를 활성화할 수 있습니다.

      Apache:
    1. rrreee
    2. Nginx:
    rrreee

    로그를 활성화한 후 오류 로그를 확인하여 프로그램의 이상을 파악하고 복구할 수 있습니다.

    🎜🎜요약🎜🎜🎜이 문서에서는 웹 서버 선택, PHP 프로그램 배포, 추가 구성 수행 등의 단계를 통해 PHP 프로그램 배포를 완료하는 방법을 소개하고 일반적인 성능, 보안 및 로그 관리 문제도 소개합니다. 독자는 실제 상황에 따라 다양한 배포 방법을 선택할 수 있으며, 프로그램 성능 조정을 구성 및 수행하여 프로그램의 성능과 보안을 향상시킬 수 있습니다. 🎜

    위 내용은 PHP 프로그램 배포 문서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.