[AWS EC2] nginx에 해당하는 PHP 환경 만들기 ~ 메모 ~
이 기사는 프로그래밍 학자의 비망록을 처음 다루는 기사이며, 동시에 다른 초보자들에게 조금이나마 도움이 되었으면 좋겠다고 생각합니다.
이번에 EC2에서 nginx 모바일 PHP를 사용하는 설정 절차를 배웠기 때문에 바로 복습할 수 있도록 기사로 정리하고 싶습니다.
만약 무슨 잘못이 있으면 지적해 주세요.
EC2 PHP 시작 준비
1. PHP 설치
먼저 EC2에 PHP를 설치합니다.
터미널에서 EC2에 로그인한 후 다음 명령을 입력하여 사용 가능한 버전을 확인한 후 설치를 수행합니다.
$ amazon-linux-extras
//利用可能なトピックのリストが一覧で表示される
0 ansible2 available \
[ =2.4.2 =2.4.6 =2.8 =stable ]
# 略
42 php7.4 available [ =stable ]
//42番目にphp7.4が利用可能であることがわかる(7.3なども利用可能)
$ sudo amazon-linux-extras install php7.4 -y
//実行することでphp7.4がインストールされる
完了しました!
# 略
42 php7.4=latest enabled [ =stable ]
//上記のように表示されている場合、インストールが成功
위에서 말한 바와 같이 $ amazon-linux-extras
명령을 실행하여 사용 가능한 화제 목록을 확인한 후 이번 경우라면 php7.4를 설치하기 위해 $ sudo amazon-linux-extras install php7.4 -y
명령을 실행합니다.php7.4=latest enabled [ =stable ]
에 표시된 실행 결과가 있으면 설치에 성공했습니다.2. PHP-FPM의 시작
nginx를 이용하여 PHP를 이동하기 위해서는 PHP-FPM이라는 프로그램을 시작해야 한다.
PHP를 설치하는 동안 PHP-FPM이 시작되지 않습니다.
먼저 nginx와 PHP-FPM의 과정을 확인하기 위해 아래 명령을 실행한다.
$ ps -o user,group,cmd -e | grep -v grep | grep -e nginx -e php-fpm
//起動中のプロセスをnginxとphp-fpmという語句が含まれるものに絞って表示する
//実行結果
root root nginx: master process /usr/sbin/nginx
nginx nginx nginx: worker process
//1行目は、nginxのマスタープロセスでrootユーザー権限で動いています。
//2行目は、nginxのワーカープロセスでnginxユーザー権限で動いています。
위의 결과를 보면 PHP-FPM 프로세스가 시작되지 않았습니다.~コマンドとコマンドオプションの補足~
/ps 명령: 시작 중인 프로세스 보이기・grep 명령의 "- v"옵션: 지정한 검색 문자열이나 패턴과 일치하지 않는 데이터를 표시합니다
・grep 명령의 "-e"옵션: 지정한 검색 문자열이나 패턴의 텍스트를 검색하고 일치하는 데이터를 표시합니다
이어서 PHP-FPM을 시작하기 위해 다음 명령을 실행하고 시작 중인 프로그램을 표시하는 명령을 다시 실행하여 PHP-FPM이 시작되었는지 확인합니다.
$ sudo systemctl start php-fpm
//PHP-FPMを起動させます
$ sudo systemctl restart nginx
//nginxにPHP-FPMを認識させるため、nginxを再起動します
$ ps -o user,group,cmd -e | grep -v grep | grep -e nginx -e php-fpm
//実行結果
root root php-fpm: master process (/etc/php-fpm.conf)
apache apache php-fpm: pool www
apache apache php-fpm: pool www
apache apache php-fpm: pool www
apache apache php-fpm: pool www
apache apache php-fpm: pool www
root root nginx: master process /usr/sbin/nginx
nginx nginx nginx: worker process
위의 실행 결과를 보면 nginx와 PHP-FPM이 시작되고 있음을 알 수 있다.~実行結果の補足~
PHP-FPM으로 불리는 수영장은 PHP 처리를 한다.※ PHP-FPM의 수영장 이용자와 조합은 아파치로 변경이 필요합니다.
위의 절차에 따라 EC2 인스턴스에서 Extras Library에서 PHP를 설치한 후 PHP-FPM을 시작하여 PHP 프로그램을 시작할 수 있습니다.
이번에는 PHP-FPM이 시작되기 전에만 진행되며, PHP-FPM이 시작되면 PHP 프로그램이 제대로 작동하는지 확인하는 것이 좋다.
vi에서 무엇을 표시하는 PHP 프로그램을 만든 후 브라우저에서 EC2 인스턴스의 공통 IP 주소에 액세스하고 표시되는지 확인하십시오.
PHP 어플리케이션 시작 준비
PHP 어플리케이션을 시작하려면 PHP 관련 패키지를 설치해야 합니다.
1. Composier 설치
Compooser는 PHP용 종속 관리자입니다.
Composier를 사용하면 프로그램 라이브러리를 설치하고 응용 프로그램의 의존 관계를 추적하여 PHP 프레임워크용 프로젝트를 제작할 수 있습니다.
EC2에는 기본 composier 바디 설치가 없으므로 Composier 설치를 수행합니다.
Compooser 호스트의 설치는 루트 권한을 사용해야 하기 때문에 처리
$ sudo
ec2-user
사용자가 다음 명령을 수행할 수 있습니다.$ cd ~
$ sudo curl -sS https://getcomposer.org/installer | php
//実行結果
All settings correct for using Composer
Downloading...
Composer (version 2.1.8) successfully installed to: /home/ec2-user/composer.phar
Use it: php composer.phar
위에서 설명한 대로 PHP 스크립트를 사용하여 Composier를 설치합니다.설치기를 통해 현재 디렉토리에 PHAR 파일을 생성하여 환경 PATH로 파일을 이동하여 실행 파일로 사용할 수 있습니다.
2. composer.PATH를 통해 phar의 소유자와 단체를 변경합니다.
다운로드한
getcomposer.org
소유자와 그룹을 composer.phar
로 변경합니다.phar를 사용하기 위해 PATH를 통한 설정을 진행합니다.다음 명령을 실행하십시오.
$ sudo chown root:root composer.phar
$ sudo mv composer.phar /usr/bin/composer
제1행의 root
은 보충 총결산이니 참고하세요.설치기는 두 번째 행에서 현재 디렉토리에 파일
chownコマンド
을 생성하므로 해당 파일을 환경 PATH로 이동하여 실행 파일로 사용할 수 있습니다.3. Composier 실행 가능 여부 확인
composer.phar
에서 다음 명령을 실행하여 설치된 Composier의 버전을 확인하십시오.$ composer -v
//実行結果
Composer version 2.1.8 2021-09-15 13:55:14
위에서 설명한 대로 버전이 표시된 경우 문제가 없습니다.Composter 버전을 1 시스템으로 설정해야 하는 경우 다음 명령을 실행하여 버전을 변경합니다.
$ sudo composer self-update --1
Warning: You forced the install of 1.10.22 via --1, but 2.1.8 is the latest stable version. Updating to it via composer self-update --stable is recommended.
Upgrading to version 1.10.22 (1.x channel).
Use composer self-update --rollback to return to version 2.1.8
위에서 설명한 대로 경고문이 표시되지만 문제가 없습니다.버전을 변경한 후 다시 실행
ec2-userユーザー
하여 버전을 확인하십시오.Composter 버전은 1입니다.x.x가 되면 문제 없어요.
4. php-mbstring과 php-xml 설치
그런 다음
$ composer -v
및 php-mbstring
를 설치합니다.이를 사전에 설치함으로써 PHP 관련 포장(Laavel 프레임 본체 등)을 설치할 수 있다.
사용자가 다음 명령을 실행합니다
php-xml
.$ sudo yum install php-mbstring php-xml -y
//実行結果
完了しました! と表示されていればインストールは成功です
PHP 관련 패키지 설치ec2-user
와 다른 추가 사용자(예를 들어 웹 앱)로 전환하여 ec2-user
에 설치합니다.사용자의 제작 방법은 링크 대상를 보십시오.
※
/home/webapp/ディレクトリ名
는 GiitHub에 PHP 앱을 설치/home/webapp/ディレクトリ名
했을 때 만들어졌으며, 아무것도 지정되지 않은 경우git clone
대상의 창고명은 바로 디렉터리명으로 변경됩니다.git clone
밑에서 제작하거나 업데이트할 때 웹 사용자가 실시한다.다음 명령을 실행하여 PHP 관련 패키지를 설치합니다.
$ sudo su - webapp //webappユーザーに切り替える
$ cd ディレクトリ名 //指定したディレクトリに移動する
$ composer install --no-dev --prefer-dist
//実行結果
# 略
Package manifest generated successfully.
/home/webapp/ディレクトリ名
-- no-dev 옵션: 개발할 때만 필요하고 정식 환경에서 설치할 필요가 없는 옵션.설치 대상 이외의 내용은
~コマンドの補足~
에 기재되어 있다.-- prefer-dist 옵션: 버전 관리 항목 작성 옵션이 없습니다.
보태다
· PHP-FPM은
/composer.jsonのrequire-dev
FPM(FastCGI Process Manager)은 PHP FastCGI의 설치 중 하나로 주로 고부하 사이트에서 유용한 추가 기능을 준비한다.特徴
FastCGI Process Manager (FPM) Extras Library를 통해 PHP를 설치할 때 동시에 설치합니다.
引用:
PHP-FPM은nginx와 밀접한 관계를 가진다. 간단하게 설명하자면,nginx는 요구를 받았다. PHP 처리를 할 때 PHP-FPM이 처리한다.nginx와 PHP-FPM의 구조에 대해 아래 링크의 글은 매우 이해하기 쉬우니 보십시오.
[nginx와 PHP-FPM의 구조를 충분히 이해하면서 PHP의 실행 환경을 구축합니다.]
・ chown 명령
chown 명령은 파일이나 디렉터리의 소유자와 소속 그룹을 변경할 수 있습니다.이러한 변경 사항은 해당 파일의 소유자 또는 관리자(수퍼유저)만 수행할 수 있습니다.
役割
$ chown [オプション] [ユーザー]:[グループ] ファイル名orディレクトリ名
書式
$ sudo chown root:root file01
//「file01」ファイルの所有者を「root」に、所属グループを「root」に変更します
요약하면 AWS EC2에서 nginx를 사용한 PHP 환경 제작이 끝났다.총결산
이번 절차에 따라nginx에 대응하는 PHP 정식 환경을 설정할 수 있습니다.
하지만vv의 설정과nginx와php-fpm의 설정은 EC2에 존재하는 프로그램에 대한 설정으로 변경되지 않았기 때문에 따로 편집해야 합니다.
그 설정에 대한 내용은 링크된 글에서 요약되어 있으니 꼭 보십시오.
・.env 설정
・nginx 설정
・php-fpm 설정
참고 문헌
FastCGI Process Manager (FPM)
Amazon Linux2를 실행하는 EC2 인스턴스에서 Extras Library에서 패키지를 설치하는 방법을 알려주십시오.
PHP 개발 환경 설정
Reference
이 문제에 관하여([AWS EC2] nginx에 해당하는 PHP 환경 만들기 ~ 메모 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kouki_o9/items/7715bb97114b5ff6eeb1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)