Solução de problemas de implantação para o Azure Linux App Service

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

Ao implantar o IronPDF em um Azure Linux App Service, o aplicativo pode falhar ao renderizar PDFs devido a bibliotecas de sistema ausentes. Isso ocorre porque os ambientes Linux vêm com menos pacotes pré-instalados do que o Windows, e o mecanismo de renderização do IronPDF requer bibliotecas compartilhadas adicionais para operar.

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')

O erro significa que uma ou mais bibliotecas compartilhadas necessárias pelo IronInterop.so estão ausentes do ambiente Linux. Executar ldd IronInterop.so do console SSH no serviço de aplicativo identifica exatamente quais bibliotecas estão ausentes. A mensagem de sistema de arquivos somente leitura para a pasta de tempos de execução é um sintoma separado da mesma condição de dependência ausente.

Solução

Passo 1: Identificar dependências ausentes

  1. Implante o serviço de aplicativo do Visual Studio normalmente.
  2. Abra o console SSH para o seu Azure Linux App Service.
  3. Navegue até o diretório wwwroot:
cd /home/site/wwwroot
  1. Execute ldd contra o binário nativo para listar dependências não resolvidas:
ldd IronInterop.so
  1. Verifique a versão do sistema operacional para confirmar quais nomes de pacotes se aplicam:
cat /etc/os-release

Passo 2: Instalar bibliotecas ausentes

Para a maioria das distribuições Linux (imagens baseadas em Debian/Ubuntu), instale os pacotes necessários com:

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

Para imagens do Ubuntu 24.04 (usadas com .NET 10), use a seguinte instrução do Dockerfile, pois alguns nomes de pacotes mudaram:

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

Passo 3: Verifique se todas as dependências estão resolvidas

Execute ldd novamente para confirmar que não há entradas não resolvidas restantes:

ldd IronInterop.so

Todas as entradas devem mostrar um caminho resolvido em vez de not found. Uma vez que todas as dependências estejam no lugar, a renderização de PDF através do aplicativo web funcionará normalmente. Para a lista completa de pacotes necessários em distribuições Linux, consulte o guia de implantação Linux.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 20,088,359 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.