Linux'ta IronPDF Çalıştırma: Kurulum Kılavuzu

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

IronPDF for Linux, yaklaşık 280MB (hem IronPDF kodu hem de tüm Chrome tarayıcısı dahil). Docker görüntüleri yaklaşık 500MB civarındadır.

Chrome, Linux dağıtımınıza bağlı olarak değişen bazı temel paketlere de ihtiyaç duyar. Linux dağıtımlarının çoğunda, bu paketler zaten yüklüdür, zira Linux'ta çeşitli uygulama ve kütüphaneler tarafından kullanılırlar.

Ancak, basit bir dağıtım kullanıyorsanız, Linux paketlerini yüklmeniz gerekecektir, böylece Chrome Linux'ta çalışır duruma gelebilir.

Not: Hata ayıklamayı kolaylaştırmak için şunları ayarlayabilirsiniz:

// Enable detailed debugging for IronPdf
IronPdf.Logging.Logger.EnableDebugging = true;

// Specify the log file path
IronPdf.Logging.Logger.LogFilePath = "Default.log";

// Set the logging mode to capture all log data
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
// Enable detailed debugging for IronPdf
IronPdf.Logging.Logger.EnableDebugging = true;

// Specify the log file path
IronPdf.Logging.Logger.LogFilePath = "Default.log";

// Set the logging mode to capture all log data
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
' Enable detailed debugging for IronPdf
IronPdf.Logging.Logger.EnableDebugging = True

' Specify the log file path
IronPdf.Logging.Logger.LogFilePath = "Default.log"

' Set the logging mode to capture all log data
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All
$vbLabelText   $csharpLabel

Daha Küçük Docker Görüntüsü Nasıl Yapılır

1. Çalışma Zamanında Paketlerin Yüklenmesi

Boyutu azaltmanın bir yolu, docker görüntüsünü oluştururken değil, çalışma zamanında apt-get komutlarını çalıştırmaktır:

  1. Dockerfile dosyanızdan apt-get komutlarını kaldırın.
  2. IronPDF'yi başlatmadan veya bir belgeyi oluşturmadan önce Installation.LinuxAndDockerDependenciesAutoConfig = true; ayarını yapın.
  3. Uygulamanızın apt-get komutlarını çalıştırmak için yeterli izinlerle çalıştırıldığından emin olun.

Not: İlk başlatma işlemi daha yavaş olacaktır, çünkü ilk belgenizi oluşturmadan önce apt-get komutlarının tamamlanması gerekir ve bu işlem, görüntüyü her yeniden dağıttığınızda tekrarlanacaktır.

Not: Başarılı paket yüklemesini gösteren konsol/kayıt girdilerini görmelisiniz.

Executing command 'apt install -y libnss3' in '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libnspr4
The following NEW packages will be installed:
  libnspr4 libnss3
0 upgraded, 2 newly installed, 0 to remove and 9 not upgraded.
Executing command 'apt install -y libnss3' in '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libnspr4
The following NEW packages will be installed:
  libnspr4 libnss3
0 upgraded, 2 newly installed, 0 to remove and 9 not upgraded.
SHELL

2. IronPdf.Slim Kullanımı

Yalnızca IronPdf.dll'i dahil etmeyi ve gerekli dosyaları çalışma zamanında indirmeyi seçebilirsiniz.

  1. Projenizden IronPdf.Linux (ve herhangi bir başka IronPDF) NuGet paketi(leri)ni kaldırın ve IronPdf.Slim ekleyin.
  2. IronPDF'yi başlatmadan veya bir belgeyi oluşturmadan önce Installation.AutomaticallyDownloadNativeBinaries = true; ayarını yapın.
  3. Dockerfile'ınızın uygulamanızın tüm çalışma dizinine okuma ve yazma izinleri verdiğinden emin olun (ör. RUN chmod +rwx /app/runtimes/linux-x64/native/IronCefSubprocess'yi RUN chmod +rwx /app/ olarak değiştirin).

Not: İlk başlatmanız daha yavaş olacaktır çünkü NuGet paketi indirilip ilk belgenizi işlemeye başlamadan önce çıkarılır ve bu işlem görünüşü her yeniden dağıttığınızda tekrarlanacaktır.

Not: Başarılı bir indirme ve çıkarma işlemini gösteren konsol/kayıt girdilerini görmelisiniz.

Downloading NuGet package from 'https://www.nuget.org/api/v2/package/IronPdf.Native.Chrome.Linux/2023.1.11387'
Extracting package contents '/app/bin/Debug/netcoreapp3.1/IronPdf.Native.Chrome.Linux.2023.1.11387.nupkg/runtimes/linux-x64/native' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully deployed NuGet package 'IronPdf.Native.Chrome.Linux' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully located 'IronInterop' at '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Downloading NuGet package from 'https://www.nuget.org/api/v2/package/IronPdf.Native.Chrome.Linux/2023.1.11387'
Extracting package contents '/app/bin/Debug/netcoreapp3.1/IronPdf.Native.Chrome.Linux.2023.1.11387.nupkg/runtimes/linux-x64/native' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully deployed NuGet package 'IronPdf.Native.Chrome.Linux' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully located 'IronInterop' at '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
SHELL

3. Sonuç

Özetle, ilk konteynır boyutunu küçültmek için:

  • IronPdf.Slim NuGet paketi kullanın.
  • IronPDF'yi yapılandırın:
// Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
// Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
' Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = True
Installation.AutomaticallyDownloadNativeBinaries = True
$vbLabelText   $csharpLabel
  • Uygulama dizininin yazılabilir/çalıştırılabilir olduğunu kontrol edin:
RUN chmod +rwx /app/

Hem 1. hem de 2. maddeleri kullanan çok zayıf bir Docker imajı, ~500MB'tan ~200MB'a küçülmelidir.

Olası olduğunda, daha iyi performans almak için zayıf bir dağıtım tercih ETMEYİN.

Bazı konteyner ve bulut ortamları kalıcı değildir ve bu nedenle zaman zaman bağımlılıkları yeniden indirmek veya apt-get komutlarını tekrar çalıştırmak gerekebilir; bu işlem birkaç dakika sürebilir!

Ancak, bazı geliştiricilerin dağıtımları için katı boyut gereksinimlerine tabi olabileceğini anlıyoruz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,014,616 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.