Azure Linux App Service 배포 문제 해결

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF를 Azure Linux App Service에 배포할 때, 시스템 라이브러리 누락으로 인해 애플리케이션이 PDF를 렌더링하지 못할 수 있습니다. 이는 Linux 환경이 Windows보다 사전 설치된 패키지가 적고, IronPDF 렌더링 엔진이 동작하기 위해 추가적인 공유 라이브러리가 필요하기 때문에 발생합니다.

Multiple issues occurred while trying to deploy Chrome (libatk-1.0.so.0: cannot open shared object file: No such file or directory) (IronInterop.so: cannot open shared object file: No such file or directory) (Read-only file system: '/home/site/wwwroot/runtimes')

이 오류는 IronInterop.so에 필요한 하나 이상의 공유 라이브러리가 Linux 환경에 없다는 것을 의미합니다. 앱 서비스의 SSH 콘솔에서 ldd IronInterop.so을 실행하면 어떤 라이브러리가 누락되었는지를 정확히 확인할 수 있습니다. 런타임 폴더에 대한 읽기 전용 파일 시스템 메시지는 같은 누락 종속성 조건의 별도 증상입니다.

해결책

1단계: 누락된 종속성 식별하기

  1. Visual Studio에서 일반적으로 앱 서비스를 배포합니다.
  2. Azure Linux App Service의 SSH 콘솔을 엽니다.
  3. wwwroot 디렉터리로 이동합니다:
cd /home/site/wwwroot
  1. 원주 바이너리에 대해 ldd을 실행하여 해결되지 않은 종속성을 나열합니다:
ldd IronInterop.so
  1. 어떤 패키지 이름이 적용되는지 확인하기 위해 OS 버전을 확인합니다:
cat /etc/os-release

2단계: 누락된 라이브러리 설치하기

대부분의 Linux 배포판(데비안/우분투 기반 이미지)의 경우, 다음을 사용하여 필요한 패키지를 설치합니다:

apt-get update && apt-get install -y libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libasound2 libatspi2.0-0

.NET 10과 함께 사용되는 Ubuntu 24.04 이미지의 경우, 일부 패키지 이름이 변경되었으므로 대신 다음 Dockerfile 명령어를 사용합니다:

RUN apt update \
    && apt install -y sudo libxkbcommon-x11-0 libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2t64 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev

3단계: 모든 종속성이 해결되었는지 확인하기

남은 해결되지 않은 항목이 없는지 확인하기 위해 ldd을 다시 실행합니다:

ldd IronInterop.so

모든 항목은 not found이 아닌 해결된 경로를 표시해야 합니다. 모든 종속성이 자리잡으면, 웹 애플리케이션을 통한 PDF 렌더링이 정상적으로 작동합니다. Linux 배포판에 걸친 필요한 패키지의 전체 목록은 Linux 배포 가이드를 참조하십시오.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 20,088,359 | 버전: 2026.7 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPdf
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.