도커의 nginx+php 배치에 대한 소개가 많았는데, 저도 그 위에 설치해서 배치하다 보니 여러 구덩이가 발견되어서 참고가 되었습니다.
1,도커가 설치된 nignx와 php
2,nginx.conf 구성 수정, php 해석 추가
그중
location ~.php$ {
include fastcgi_params
fastcgi_param SCRIPT_FILENAME document rootdocument_rootdocument
R
ootfastcgi_script_name:
fastcgi_pass 172.17.0.3:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri = 404;
}
502 Gateway 오류 발생
여기서 fastcgi_pass는 phprpm 용기의 인트라넷 IP 주소이지 127.0.0.1이 아니다.
404 file not found 보이기
사실 nginx 버전이 통하지 않습니다. document_root 하이 버전은 이미 지원되지 않습니다. 절대 경로로 작성됩니다. 그러나 배포 소개는 호스트 경로로 작성됩니다.틀렸습니다. phpfpm 컨테이너에 있는 경로로 쓰려면:/var/WWWW/html
그리고 phpfpm 설치 시 파일을 마운트할 때-vsjack 호스트에서 다음 내용을 적습니다:
컨테이너에 닿으면 권한이 없습니다. -v 마운트 후 -privileged=true
phpfpm의 프로필을 수정해야 한다는 말이 있는데 listen 127.0.0.1을 0.0.0.0으로 바꾸는 것은 불필요하다.
이상이면 아마 접속할 수 있을 것이다
배치할 때 권한이 부족하면
그러면 호스트 html에 맞게폴더 777로 설정
어떤 것들은 php 특수 플러그인이 필요하다.
phpfrm에 docke가 들어가 있어r-php-ext-install 명령어
phpfrm 컨테이너에 들어가 실행확장 mysql과 같이 docker-ph를 수행합니다.p-ext-install pdopdo_mysql
ext 안에 없으면 아직 쓸 수 있는 거.다음과 같은
apt update # 더새로운 소프트웨어 소스
apt install-y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev #다양한 라이브러리 설치
도커-php-source extract # 압축 해제 소스
cd/usr/src/php/ext/gd #gd 소스 폴더
도커-php-ext-configure gd --with-webp-dir=/usr/include/webp -- with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2 #컴파일 준비 중
도커-php-ext- install gd # 컴파일 설치
php-m | grep gd
모든 환경에 성공적으로 배치되어어떤 어플리케이션을 실행할 때 "Primary sc"가 나타납니다.riptunknown"오류는 일반적으로 nginx와 php-fpm의 사용자가 다르기 때문이다.nginx.conf와 php-fpm.d/ww.conf의 user를 동일하게 설정하면 된다.
'개발 꿀팁 > PHP' 카테고리의 다른 글
PHP xdebug 중단점 디버깅 (0) | 2022.07.04 |
---|---|
php: // filter의 묘사에 대해 이야기하다 (0) | 2022.07.04 |
PHP 정규 표현식 (0) | 2022.07.02 |
phpqrcode를 사용하여 QR코드 생성 (0) | 2022.07.02 |
php로 헤더 정보 가져오기 (0) | 2022.07.02 |