PHP ?
- PHP(PHP: Hypertext Preprocessor PHP)는 프로그래밍 언어의 일종이다.
- PHP는 인터프리터 언어이며 스크립트 언어이다.
- 인터프리터는 고급 언어로 작성된 원시코드 명령어들을 한번에 한 줄씩 읽어들여서 실행하는 프로그램이다.
- 동적 웹 페이지를 만들기 위해 설계되었으며 이를 구현하기 위해 PHP로 작성된 코드를 HTML 소스 문서 안에 넣으면 PHP 처리 기능이 있는 웹 서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성한다.
- 근래에는 PHP 코드와 HTML을 별도 파일로 분리하여 작성하는 경우가 일반적이며, PHP 또한 웹서버가 아닌 php-fpm(PHP FastCGI Process Manager)을 통해 실행하는 경우가 늘어나고 있다.
PHP-fpm ?
- PHP FastCGI Process Manager FastCGI
- 빠른 버전의 CGI
CGI ?
- COMMON GATEWAY INTERFACE
- 동적인 웹사이트를 구현하기 위해 만든 인터페이스, 표준
- 우리가 앞서 설치한 Nginx는 웹서버로써 정적인 html파일 등 만 처리해준다. 동적인 웹 사이트를 구동하기 위해서는 정적인 데이터를 처리하는 웹서버가 다른 프로그램을 호출하여 그 처리 결과를 클라이언트에 반환한다.
이 때 웹 서버와 외부 프로그램의 연계 표준을 정한 것이 CGI이고 이 표준을 구현한 대표적인 기술이 PHP이다.
- CGI는 요청이 있을 때 마다 새로운 프로세스를 생성하여 구동한다. 이는 부하를 유발하고 느리게한다. 이런 단점을 보완하기 위해 FastCGI를 만들었으며 이는 생성한 프로세스를 재활용하는 방식을 사용한다.
동적인 웹페이지를 구현하는 방법으로는 WAS를 사용하는 방식과 CGI를 사용하는 방식을 들 수 있다.
WAS는 대표적으로 톰캣을 들 수있다.
--> PHP는 톰캣을 필요로 하지 않는다.
1. PHP-fpm 설치
$ sudo apt-get update
$ sudo apt-get install php7.2
$ sudo apt-get install php7.2-fpm
apt-get을 update하지 않으면 'unable to locate package php-fpm' 에러를 보게 될 것이다 ..
2. 설정파일 수정
nginx를 설치할 때 기억해둔 /etc/nginx/sites-available/default 파일을 수정한다.
$ vim /etc/nginx/sites-available/default
아래처럼 php블록을 찾아 주석을 해제한다.
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
3. phpinfo 코드 작성
/var/www/html 위치로 이동하고 phpinfo 코드를 작성한다.
<?php
phpinfo();
?>
phpinfo.php이름으로 저장.
4. 테스트
웹 브라우저에서 http://localhost/phpinfo.php로 접속해서 phpinfo가 뜨는지 확인하자.
'서버 > AWS EC2' 카테고리의 다른 글
AWS EC2에 MySQL 설치하고 개발환경 구성하기 (0) | 2020.08.03 |
---|---|
AWS EC2 가비아에서 도메인을 사서 IP주소와 연결시켜보자 (0) | 2020.08.03 |
AWS EC2에 Nginx 설치 (0) | 2020.08.03 |
AWS EC2 서버 구동, WINSCP로 로컬에서 연결하기 (0) | 2020.08.03 |
AWS (아마존 웹 서비스) (0) | 2020.08.03 |