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

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

Linux için IronPdf yaklaşık 280MB boyutundadır (hem IronPdf kodu hem de tüm Chrome tarayıcı dahil). Docker görüntüleri yaklaşık 500MB civarındadır.

Chrome ayrıca Linux dağıtımınıza bağlı olarak değişen bazı temel paketlere ihtiyaç duyar. Çoğu Linux dağıtımında, çeşitli uygulamalar ve kütüphaneler tarafından Linux'ta kullanıldıkları için bu paketler zaten yüklüdür.

Ancak, barebone bir dağıtım kullanıyorsanız, Linux'ta Chrome'un çalışması için gerekli Linux paketlerini yüklemeniz gerekecek.

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 Bir Docker İmajı Nasıl Yapılır

1. Çalışma Zamanında Paket Kurulumu

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

  1. Dockerfile'ınızdan apt-get komutlarını kaldırın.
  2. IronPdf'i başlatmadan veya bir belgeyi oluşturmadan önce Installation.LinuxAndDockerDependenciesAutoConfig = true; ayarlayın.
  3. Uygulamanızın apt-get komutlarını çalıştıracak yeterli izinlerle yürütüldüğünden emin olun.

Not: İlk başlatmanız daha yavaş olacaktır çünkü ilk belgenizi oluşturmadan önce apt-get komutlarının bitmesi gerekmektedir ve bu işlem, imajı yeniden dağıtmak zorunda kaldığınız her sefer tekrarlanacaktır.

Not: Başarılı paket kurulumları gösteren konsol/kayıt girdileri 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ın

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

  1. Projelerinizden IronPdf.Linux (ve diğer IronPdf'leri) NuGet paketlerini kaldırın ve IronPdf.Slim ekleyin.
  2. IronPdf'i başlatmadan veya bir belgeyi oluşturmadan önce Installation.AutomaticallyDownloadNativeBinaries = true; ayarlayı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'yı RUN chmod +rwx /app/ ile değiştirin).

Not: İlk başlatmanız, NuGet paket indirilip açıldığından daha yavaş olacaktır ve bu işlem resim her yeniden dağıtıldığında tekrarlanacaktır.

Not: Başarılı bir indirme ve çıkarma işlemi gösteren konsol/kayıt girdileri 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, başlangıç konteyner boyutunu azaltmak için:

  • IronPdf.Slim NuGet paketini kullanın.
  • IronPdf'i 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 klasörünün yazılabilir/çalıştırılabilir olduğundan emin olun:
RUN chmod +rwx /app/

Bu iki maddeyi kullanan çok ince bir Docker imajı, boyutu ~500MB'dan ~200MB'ye düşürmelidir.

Mümkünse, ince bir dağıtım seçmezseniz en iyi performansı göreceksiniz.

Bazı containerize edilmiş ve bulut ortamları kalıcı değildir ve bu nedenle bazen bağımlılıkları tekrar indirmesi veya apt-get komutlarını yeniden çalıştırması gerekebilir, bu da birkaç dakikayı alabilir!

Ancak, bazı geliştiricilerin dağıtımları için katı boyut gereksinimlerine tabi olabileceğinin farkındayız.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget Indirmeler 18,332,619 | Sürüm: 2026.4 yeni yayınlandı
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizin PDF olduğunu izleyin.