Laravel Vapor에 Newrelic 통합

docker-based deployments을 사용하여 동일한 파일 {env} .dockerfile에서 newrelic을 구성할 수 있습니다. 여기에서 newrelic 변수를 설치하고 설정해야 합니다. 수행하다:

{env}.dockerfile

FROM laravelphp/vapor:php74

# Download and install newrelic: https://download.newrelic.com/php_agent/release/
RUN \
    curl -L "https://download.newrelic.com/php_agent/release/newrelic-php5-9.16.0.295-linux-musl.tar.gz" | tar -C /tmp -zx && \
    export NR_INSTALL_USE_CP_NOT_LN=1 && \
    export NR_INSTALL_SILENT=1 && \
    /tmp/newrelic-php5-*/newrelic-install install

# add global var to php.ini file
RUN \
    echo $' \n\
    extension = "newrelic.so" \n\
    newrelic.logfile = "/dev/null" \n\
    newrelic.loglevel = "error" \n\
    newrelic.appname = "REPLACE_APP_NAME" \n\ 
    newrelic.license = "REPLACE_NEWRELIC_LICENCE"' >> /usr/local/etc/php/php.ini

# Remove newrelic.ini file
RUN rm /usr/local/etc/php/conf.d/newrelic.ini

RUN mkdir -p /usr/local/etc/newrelic && \
  echo "loglevel=error" > /usr/local/etc/newrelic/newrelic.cfg && \
  echo "logfile=/dev/null" >> /usr/local/etc/newrelic/newrelic.cfg

COPY . /var/task

USER root
RUN chmod +x /var/task/entrypoint.sh
ENTRYPOINT ["/var/task/entrypoint.sh"]


entrypoint.sh 파일은 PHP 실행을 시작하고 newrelic으로 수행할 프로세스 유형을 표시하는 데 필요합니다.

#! /bin/sh

#start Newrelic daemon
newrelic-daemon -c /usr/local/etc/newrelic/newrelic.cfg

#start PHP
/opt/bootstrap

newrelic_background_job(false);


newrelic.ini 파일은 다음 런타임 오류를 생성하기 때문에 제거되었습니다.


따라서 php.ini 파일에 대한 변수 설정은 newrelic의 기본 옵션을 로드합니다.

좋은 웹페이지 즐겨찾기