데비안 8에서 Apache와 PHP-FPM을 설치하는 방법

PHP-FPM은 널리 사용되는 PHP 용 FastCGI 메커니즘의 개선입니다. 트래픽이 많은 호스팅 사이트의 성능을 향상시키는 데 주로 사용됩니다. 이 가이드는 데비안 8에서 Apache와 PHP-FPM을 설정하는 방법을 보여줍니다.


고려해야 할 필수 요소

시작하기 전에해야 할 기본 사항을 살펴 보겠습니다..

  • 데비안 버전 8“contrib”저장소
  • 아파치 2 HTTP 서버

그런 다음 다음 명령을 실행하여 시스템을 업데이트하십시오.

$ sudo apt-get 업데이트 && sudo apt-get 업그레이드

노트:

  • 이 프로세스는 mod_php보다 더 많은 이점을 제공합니다. mod_php 모듈을 사용하면 Apache가 PHP 스크립트를 직접 실행할 수 있지만 각 Apache 프로세스에 의해 과부하 될 위험이 있습니다..

  • PHP 스크립트는 Apache 사용자로 실행할 수 없으므로 PHP-FPM을 사용하면보다 안전한 프로세스가 가능합니다. 여러 사이트를 운영하려는 경우 각 사이트에서 사용자가 PHP 스크립트를 실행하도록 설정하는 것이 더 쉬워 사이트를 안전하게 유지하는 데 도움이됩니다..

  • 이 학습서는 루트가 아닌 사용자를 위해 함께 제공됩니다. 큰 관심사가 필요한 모든 명령에는 접두사가 포함됩니다 수도.

시작하자!

1 단계 : Apache 및 PHP-FPM 설치

  1. PHP-FPM 라이센스로 인해 Debian의 저장소에서 PHP-FPM을 찾을 수 없습니다. 따라서 설치 프로세스가 성공했는지 확인하려면 파일로 이동하십시오. –sources.list 각 소스 라인에 다음 파일을 추가하십시오. 속이다 무료 /etc/apt/sources.list
    deb http://mirrors.linode.com/debian/hostingadvice 주요 contrib non-free
    deb-src http://mirrors.linode.com/debian/hostingadvice 주요 contrib non-free

    deb http://security.debian.org/hostingadvice/updates 주요 contrib non-free
    deb-src http://security.debian.org/hostingadvice/updates 메인 비 무료

    # 이전에 ‘휘발성’으로 알려진 호스팅 조언 업데이트
    deb http://mirrors.linode.com/debian/hostingadvice-updates 주요 contrib non-free
    deb-src http://mirrors.linode.com/debian/hostingadvice-updates 주요 contrib non-free

  2. 다음으로 적절한 최신 버전 인 경우 Apache, PHP-FPM 및 mod-fastcgi 모듈을 설치하십시오..
    $ sudo apt-get 업데이트
    $ sudo apt-get apache2 libapache2-mod-fastcgi php5-fpm 설치
  3. 다음 단계는 선택 사항입니다. PHP에서 MySQL을 사용하려면 아래 명령을 사용하여 php5-mysql을 설치할 수 있습니다.
    $ sudo apt-get 설치 php5-mysql
  4. 설치 과정이 끝나면 이제 루트 서버의 요구 사항에 따라 가상 호스팅을 구성 할 수 있습니다. 이 경우 PHP 스크립트에서 Apache를 구성해야합니다..

2 단계 : PHP-FPM 구성

  1. PHP-FPM 구성은 아래 명령으로 mod_actions 모듈을 활성화하는 것으로 시작해야합니다.
    $ sudo a2enmod 작업
  2. 백업 파일이 있는지 확인하십시오 fastgi.conf 아래 명령으로 파일 :
    $ sudo cp / etc / apache2 / mods-enabled / fastcgi.conf /etc/apache2/mods-enabled/fastcgi.conf.backup
  3. 다음에 정보를 교체하십시오 fast.conf 아래 중 하나와 함께 파일 :
    /etc/apache2/mods-enabled/fastcgi.conf

    AddType application / x-httpd-fastphp5 .php
    액션 어플리케이션 / x-httpd-fastphp5 / php5-fcgi
    별명 / php5-fcgi / usr / lib / cgi-bin / php5-fcgi
    FastCgiExternalServer / usr / lib / cgi-bin / php5-fcgi-소켓 /var/run/php5-fpm.sock-패스 헤더 승인

    모든 권한 부여 필요

  4. 이제 아래 명령을 사용하여 정보가 올바르게 복사되었는지 확인하십시오.
    $ sudo apache2ctl 구성 테스트

    다른 출력을 무시하고 설명이 표시되면 구문 Ok, 당신은 다음 단계로 갈 수 있습니다.

  5. 그런 다음 Apache를 다시 시작하여 새 구성을 활성화하십시오.
    $ sudo systemctl 재시작 아파치 2
  6. PHP가 활성화되도록하려면 시스템 디렉토리로 이동하여 info.pho 파일. 출력은 다음과 같아야합니다.
    /var/www/example.com/public_html/info.php
    <?php phpinfo (); ?>

이동 http://example.com/info.php 서버에서 다음 API 라인을 검색하십시오.

이 프로세스가 완료되면 선택 사항이지만 PHP 풀을 구성 할 수 있습니다.

3 단계 : PHP 풀 구성

위의 구성과 달리이 단계는 다르며 선택 사항입니다. 이 단계는 특정 PHP 코드를 수행하고 모든 사이트의 리소스를 제어하기 위해 사용자가 생성하는 경우에 적합합니다. 를 사용하는 대신 www-data 모든 Apache 프로세스 및 웹 사이트를 소유 한 사용자의 경우이 구성을 사용하면 모든 사이트가 자체 시스템 사용자로 Apache를 실행할 수 있습니다. 즉, site1은 user1에서 실행되고 site2는 user2에서 실행됩니다..

전체 웹 서버의 보안을 손상시키지 않으면 서 모든 사용자에게 특정 웹 디렉토리를 작성할 수있는 권한을 부여 할 수 있으므로 여러 웹 사이트를 실행하려는 경우 프로세스가 중요합니다..

아래 예에서는 두 사이트 각각에 고유 한 가상 호스트가 있다고 가정합니다. 마찬가지로 각 웹 사이트에는 PHP 풀이 할당 된 한 명의 사용자가 있어야합니다..

  1. 각 수영장에 대해 www.conf : 각 사이트마다 :

    $ cd /etc/php5/fpm/pool.d/
    $ sudo cp www.conf {site1.conf, site2.conf}

  2. 다음 단계는 각 풀에 대해 이름, 사용자 및 소켓 이름을 편집하는 것입니다..
    /etc/php5/fpm/pool.d/site1.conf

    ; ‘www’라는 새 풀을 시작하십시오..
    ; 변수 $ pool은 모든 지시문에서 사용할 수 있으며
    ; 수영장 이름 ( ‘www’여기)
    [site1.com]

    ; 유닉스 사용자 / 프로세스 그룹
    ; 참고 : 사용자는 필수입니다. 그룹이 설정되지 않은 경우 기본 사용자 그룹
    ; 사용하게 될 것이다.
    사용자 = site1
    그룹 = site1

    ; FastCGI 요청을 수락 할 주소.
    ; 유효한 구문은 다음과 같습니다.
    ; ‘ip.add.re.ss : port’-TCP 소켓에서 특정 IPv4 주소로 청취
    ; 특정 포트;
    ; ‘[ip : 6 : addr : ess] : port’-TCP 소켓에서 특정 IPv6 주소로 청취
    ; 특정 포트;
    ; ‘port’-TCP 소켓에서 모든 IPv4 주소를 청취합니다.
    ; 특정 포트;
    ; ‘[::] : port’-TCP 소켓에서 모든 주소를 청취
    ; 특정 포트에서 (IPv6 및 IPv4 매핑)
    ; ‘/ path / to / unix / socket’-유닉스 소켓에서 청취.
    ; 참고 :이 값은 필수입니다.
    듣기 = /var/run/php5-fpm-site1.com.sock

    위의 출력에서 ​​세 개의 순차적 점 (…)은 해당 파일에 표시된 것보다 많은 것이 있음을 보여줍니다. 점은 문자 그대로 복사해서는 안됩니다.

  3. 이제 PHP-FPM 서비스를 다시 시작하십시오 :
    $ systemctl restart php5-fpm.service

    프로세스가 실패하면 Linux 시스템에서 각 풀에 대해 새 사용자를 작성했는지 확인하십시오. 반면에 프로세스가 진행되면 다음 정보가 표시됩니다. sudo systemctl 상태 php5-fpm.service:<

    ● php5-fpm.service-PHP FastCGI 프로세스 관리자
    로드 됨 :로드 됨 (/lib/systemd/system/php5-fpm.service; 사용)
    활동 : 수요일부터 활동 (활동) 2016-01-27 20:24:51 UTC; 2 초 전
    프로세스 : 28423 ExecStartPre = / usr / lib / php5 / php5-fpm-checkconf (코드 = 종료, 상태 = 0 / 성공)
    주요 PID : 28428 (php5-fpm)
    상태: "연결 처리 준비"
    C 그룹 : /system.slice/php5-fpm.service
    ├─28428 php-fpm : 마스터 프로세스 (/etc/php5/fpm/php-fpm.conf)
    ├─28432 php-fpm : 수영장 site2.com
    ├─28433 php-fpm : 수영장 site2.com
    ├─28434 php-fpm : 풀 site1.com
    ├─28435 php-fpm : 수영장 site1.com
    ├─28436 php-fpm : 풀 www
    └─28437 php-fpm : 풀 www

  4. 다음은 모든 가상 호스트를 차단.
    호스트 : /etc/apache2/sites-available/site1.com.conf

    AddType application / x-httpd-fastphp5 .php
    액션 어플리케이션 / x-httpd-fastphp5 / php5-fcgi
    별명 / php5-fcgi /usr/lib/cgi-bin/php5-fcgi-site1.com
    FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi-site1.com -socket /var/run/php5-fpm-site1.com.sock -pass-header 인증

  5. 다음 명령을 사용하여 새 구성을 테스트하십시오.
    $ sudo apache2ctl 구성 테스트

    모든 것이 제대로 작동하면 Apache 서비스를 다시로드하십시오.

    $ sudo systemctl 다시로드 apache2

  6. 한 가지 더, 당신은에서 사용자를 확인해야합니다 info.php 를 통해 위에서 언급 한 파일 환경 부분:

결론

거기 있어요 데비안 8에서 Apache와 PHP-FPM을 설정할 때 고려해야 할 주요 사항을 설명하는 자세한 안내서입니다. 이 단계를 시도하고 해당 서비스를 사이트에서 작동 시키십시오..

다음 3 가지 최고의 웹 호스팅 서비스를 확인하십시오.

FastComet

시작 가격 :
$ 2.95


신뢰할 수 있음
9.7


가격
9.5


사용자 친화적
9.7


지원하다
9.7


풍모
9.6

리뷰 읽기

FastComet 방문

A2 호스팅

시작 가격 :
$ 3.92


신뢰할 수 있음
9.3


가격
9.0


사용자 친화적
9.3


지원하다
9.3


풍모
9.3

리뷰 읽기

A2 호스팅 방문

ChemiCloud

시작 가격 :
$ 2.76


신뢰할 수 있음
10


가격
9.9


사용자 친화적
9.9


지원하다
10


풍모
9.9

리뷰 읽기

ChemiCloud 방문

관련 사용법 기사

  • Ubuntu 18.04 VPS 또는 전용 서버에서 Apache의 PHP 설정을 편집하는 방법
    중급
  • Ubuntu 18.04 VPS 또는 전용 서버에서 여러 웹 사이트를 호스팅하는 방법
    중급
  • Ubuntu 18.04 VPS에서 ModEvasive로 Apache 웹 서버를 보호하는 방법
    중급
  • Ubuntu 18.04 VPS 또는 전용 서버에 Apache Cassandra를 설치하는 방법
    중급
  • 동일한 Ubuntu VPS 또는 전용 서버에서 Nginx와 Apache를 함께 구성하는 방법
    중급
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me