Fedora 25te Kaynaktan Nginx Nasıl Derlenir

NGINX , bir HTTP / HTTPS sunucusu, ters proxy sunucusu, posta proxy sunucusu, yük dengeleyici, TLS sonlandırıcı veya önbellek sunucusu olarak kullanılabilir. Tasarım açısından oldukça modülerdir. Topluluk tarafından oluşturulan yerel modüller ve üçüncü taraf modülleri vardır. C programlama dilinde yazılan bu yazılım çok hızlı ve hafif bir yazılımdır.

NOT : NGINX'in paralel çalışan iki sürüm akışı vardır - kararlı ve ana hat . Her iki sürüm de bir üretim sunucusunda kullanılabilir. Üretimde ana hat versiyonunun kullanılması tavsiye edilir .

NGINX'i kaynak kodundan yüklemek nispeten "kolaydır" - NGINX kaynak kodunun en son sürümünü indirin, yapılandırın, derleyin ve yükleyin.

Bu yazıda , yazma sırasında 1.13.3 olan ana sürüm sürümünü kullanacağım . Daha yeni sürümler çıktığında sürüm numaralarını uygun şekilde güncelleyin.

Kaynaktan NGINX oluşturma gereksinimleri

Zorunlu gereklilikler:

  • 1.0.2 - 1.1.0 arasında OpenSSL kitaplığı sürümü
  • 1.1.3 - 1.2.11 arasındaki zlib kütüphanesi sürümü
  • 4.4 - 8.41 arasında PCRE kütüphanesi sürümü
  • GCC Derleyici

İsteğe bağlı gereksinimler:

Sen başlamadan önce

  1. Create ile normal bir kullanıcı sudoerişimi :

  2. Yeni kullanıcıya geç:

    su - <username>
    
  3. Güncelleme sistemi:

    sudo dnf check-update || sudo dnf upgrade -y
    

Kaynaktan NGINX oluşturun

  1. "Geliştirme Araçları", Vim editörü, wget ve gcc-c ++ yükleyin:

    sudo dnf install -y @development-tools && sudo dnf install -y vim wget gcc-c++
    
  2. NGINX kaynak kodunun en son ana hat sürümünü indirin ve untar:

    wget https://nginx.org/download/nginx-1.13.3.tar.gz && tar zxvf nginx-1.13.3.tar.gz
    
  3. NGINX bağımlılıklarının kaynak kodunu indirin ve çıkarın:

    NGINX 3 kütüphaneye bağlıdır: PCRE , zlib ve OpenSSL :

    # PCRE version 8.41
    wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz && tar xzvf pcre-8.41.tar.gz
    
    # zlib version 1.2.11
    wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
    
    # OpenSSL version 1.1.0f
    wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && tar xzvf openssl-1.1.0f.tar.gz
    
  4. İsteğe bağlı NGINX bağımlılıklarını indirip yükleyin:

    # perl
    sudo dnf install -y perl perl-devel perl-ExtUtils-Embed
    
    # libxslt
    sudo dnf install -y libxslt libxslt-devel
    
    # libxml2
    sudo dnf install -y libxml2 libxml2-devel
    
    # libgd
    sudo dnf install -y gd gd-devel
    
    # GeoIP
    sudo dnf install -y GeoIP GeoIP-devel
    
    # Libatomic_Ops
    sudo dnf install -y libatomic_ops libatomic_ops-devel
    
  5. Tüm .tar.gzdosyaları kaldırın . Artık onlara ihtiyacımız yok:

    rm -rf *.tar.gz
    
  6. NGINX kaynak dizinine gidin:

    cd ~/nginx-1.13.3
    
  7. İyi bir ölçü için, NGINX kaynak kodu dosyalarını ve dizinlerini listeleyin:

    ls
    # auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
    
  8. NGINX kılavuz sayfasını şuraya kopyalayın /usr/share/man/man8/:

    sudo cp ~/nginx-1.13.3/man/nginx.8 /usr/share/man/man8/
    sudo gzip /usr/share/man/man8/nginx.8
    # Check that Man page for NGINX is working
    man nginx
    
  9. Yardım için, kullanılabilir yapılandırma anahtarlarını aşağıdakileri çalıştırarak listeleyebilirsiniz:

    ./configure --help
    # To see want core modules can be build as dynamic run:
    ./configure --help | grep -F =dynamic
    
  10. NGINX'i yapılandırın, derleyin ve yükleyin:

    ./configure --prefix=/etc/nginx \
                --sbin-path=/usr/sbin/nginx \
                --modules-path=/usr/lib64/nginx/modules \
                --conf-path=/etc/nginx/nginx.conf \
                --error-log-path=/var/log/nginx/error.log \
                --pid-path=/var/run/nginx.pid \
                --lock-path=/var/run/nginx.lock \
                --user=nginx \
                --group=nginx \
                --build=Fedora \
                --builddir=nginx-1.13.3 \
                --with-select_module \
                --with-poll_module \
                --with-threads \
                --with-file-aio \
                --with-http_ssl_module \
                --with-http_v2_module \
                --with-http_realip_module \
                --with-http_addition_module \
                --with-http_xslt_module=dynamic \
                --with-http_image_filter_module=dynamic \
                --with-http_geoip_module=dynamic \
                --with-http_sub_module \
                --with-http_dav_module \
                --with-http_flv_module \
                --with-http_mp4_module \
                --with-http_gunzip_module \
                --with-http_gzip_static_module \
                --with-http_auth_request_module \
                --with-http_random_index_module \
                --with-http_secure_link_module \
                --with-http_degradation_module \
                --with-http_slice_module \
                --with-http_stub_status_module \
                --with-http_perl_module=dynamic \
                --with-perl=/usr/bin/perl \
                --http-log-path=/var/log/nginx/access.log \
                --http-client-body-temp-path=/var/cache/nginx/client_temp \
                --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
                --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
                --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
                --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
                --with-mail=dynamic \
                --with-mail_ssl_module \
                --with-stream=dynamic \
                --with-stream_ssl_module \
                --with-stream_realip_module \
                --with-stream_geoip_module=dynamic \
                --with-stream_ssl_preread_module \
                --with-compat \
                --with-pcre=../pcre-8.41 \
                --with-pcre-jit \
                --with-zlib=../zlib-1.2.11 \
                --with-openssl=../openssl-1.1.0f \
                --with-openssl-opt=no-nextprotoneg \
                --with-debug
    
    make
    sudo make install
    
  11. NGINX sürümünü, derleyici sürümünü yazdırın ve kod parametrelerini yapılandırın:

    nginx -V
    
    # nginx version: nginx/1.13.3 (Fedora)
    # built by gcc 6.3.1 20161221 (Red Hat 6.3.1-1) (GCC)
    # built with OpenSSL 1.1.0f  25 May 2017
    # TLS SNI support enabled
    # configure arguments: --prefix=/etc/nginx . . .
    # . . .
    
  12. NGINX sistemi kullanıcısını ve grubunu oluşturun:

    sudo useradd --system --home /var/cache/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
    
  13. Sözdizimini ve olası hataları kontrol edin:

    sudo nginx -t
    # Will throw this error: nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
    # Just create directory
    sudo mkdir -p /var/cache/nginx/ && sudo nginx -t
    
  14. NGINX için bir systemd birim dosyası oluşturun:

    sudo vim /etc/systemd/system/nginx.service
    
  15. Aşağıdaki içeriği kopyalayın / yapıştırın:

    NOT : PIDDosyanın ve NGINX ikili dosyasının konumu, NGINX'in derlenme şekline bağlı olarak farklı olabilir.

    [Unit]
    Description=Nginx - A high performance web server and a reverse proxy server
    Documentation=http://nginx.org/en/docs/
    After=network.target
    
    [Service]
    Type=forking
    PIDFile=/var/run/nginx.pid
    ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
    ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
    ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
    ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /var/run/nginx.pid
    TimeoutStopSec=5
    KillMode=mixed
    
    [Install]
    WantedBy=multi-user.target
    
  16. NGINX'i başlatın:

    sudo systemctl start nginx.service
    
  17. NGINX'in önyüklemede otomatik olarak başlamasını sağlayın:

    sudo systemctl enable nginx.service
    
  18. Yeniden başlatma sonrasında NGINX'in başlatılıp başlatılmayacağını kontrol edin:

    sudo systemctl is-enabled nginx.service
    # enabled
    
  19. NGINX'in çalışıp çalışmadığını kontrol edin:

    sudo systemctl status nginx.service
    ps aux | grep nginx
    curl -I 127.0.0.1
    
  20. NGINX'in otomatik olarak başladığını doğrulamak için VPS'nizi yeniden başlatın:

    sudo shutdown -r now
    
  21. Arkaik dosyaları dizinden kaldırın /etc/nginx/:

    sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
    
  22. İçin sözdizimi vurgulayarak NGINX yapılandırması dosyalarını vimiçine yerleştirin ~/.vim/. NGINX yapılandırma dosyasını düzenlerken size güzel bir sözdizimi vurgulaması sunulacaktır:

    mkdir ~/.vim/
    cp -r ~/nginx-1.13.3/contrib/vim/* ~/.vim/
    
  23. Bir Make conf.d/içinde dizin /etc/nginx/dizinine. Bu dizine sanal sunucuları ve yukarı akışları yerleştirebilirsiniz:

    sudo mkdir /etc/nginx/conf.d/
    
  24. Çıkartılan dizinleri ve dosyaları ana dizininizden kaldırın:

    rm -rf nginx-1.13.3/ openssl-1.1.0f/ pcre-8.41/ zlib-1.2.11/
    

Sonuç

Bu kadar. Artık NGINX'in en yeni sürümüne sahipsiniz. OpenSSL gibi bazı önemli kütüphanelere karşı statik olarak derlenmiştir. Genellikle, sistem OpenSSL sürümü eskidir. OpenSSL'nin daha yeni bir sürümüyle bu yükleme yöntemini kullanarak, TLS 1.3CHACHA20_POLY1305 gibi yeni şifrelerden ve OpenSSL'de (yazma sırasında piyasaya sürülmemiş olan) kullanılabilecek protokollerden yararlanabilirsiniz .1.1.1



Leave a Comment

Bir Fedora 26 LAMP VPSye Directus 6.4 CMS Yükleme

Bir Fedora 26 LAMP VPSye Directus 6.4 CMS Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Directus 6.4 CMS, geliştirici sağlayan güçlü ve esnek, ücretsiz ve açık kaynaklı Başsız İçerik Yönetim Sistemidir (CMS)

Bir Fedora 26 LAMP VPS Üzerine Macun 2.1 Kurulumu

Bir Fedora 26 LAMP VPS Üzerine Macun 2.1 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Paste 2.1, kod, metin ve daha fazlasını depolamak için basit ve esnek, ücretsiz ve açık kaynaklı bir macun uygulamasıdır. İnterall

Subrion 4.1 CMSyi Fedora 26 LAMP VPSye Yükleme

Subrion 4.1 CMSyi Fedora 26 LAMP VPSye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Subrion 4.1 CMS, sezgisel ve net bir içerik getiren güçlü ve esnek bir açık kaynaklı İçerik Yönetim Sistemidir (CMS)

Fedora 30 Üzerinde osTicket Kurulumu

Fedora 30 Üzerinde osTicket Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? osTicket açık kaynaklı bir müşteri destek bilet sistemidir. osTicket kaynak kodu Githubda herkese açık olarak barındırılmaktadır. Bu öğreticide

Bir Fedora 26 LAMP VPS Üzerine TextPattern CMS 4.6.2 Kurulumu

Bir Fedora 26 LAMP VPS Üzerine TextPattern CMS 4.6.2 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? TextPattern CMS 4.6.2, web tasarımcılarına izin veren basit, esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

Fedora 28 Grav CMS Kurulumu

Fedora 28 Grav CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Grav, PHP ile yazılmış açık kaynaklı bir düz dosya CMSdir. Grav kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

Fedora 28 Osclass Kurulumu

Fedora 28 Osclass Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Osclass, herhangi bir teknik bilgi olmadan kolayca sınıflandırılmış bir site oluşturmanıza izin veren açık kaynaklı bir projedir. Onun kaynağı

Fedora 26 LAMP VPSye BigTree CMS Kurulumu

Fedora 26 LAMP VPSye BigTree CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? BigTree CMS 4.2 hızlı ve hafif, ücretsiz ve açık kaynak kodlu, kurumsal düzeyde bir içerik yönetim sistemidir (CMS)

Fedora 28e AWStats Kurulumu

Fedora 28e AWStats Kurulumu

AWStats web trafiğini analiz etmek için yararlı bir araçtır. HTML arayüzüne tarayıcı üzerinden erişilebilir, bu da sizi kimin görüntülediğiyle ilgili kolay bilgiler verir

Fedora 29a HTMLDoc yükleyin

Fedora 29a HTMLDoc yükleyin

Farklı Bir Sistem mi Kullanıyorsunuz? HTMLDoc, Postscript (PDF 1.6) belgelerini doğru yazılmış Köprü Metninden (HTML 3.2) dinamik olarak ayrıştırır. Bu size t

Fedora 26 LAMP VPSye Couch CMS 2.0 Kurulumu

Fedora 26 LAMP VPSye Couch CMS 2.0 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

Linuxta MyCLI Kurulumu (CentOS, Debian, Fedora ve Ubuntu)

Linuxta MyCLI Kurulumu (CentOS, Debian, Fedora ve Ubuntu)

Giriş MyCLI, MySQL ve MariaDB için otomatik tamamlamanızı sağlayan ve SQL komutlarınızın sözdizimine yardımcı olan bir komut satırı istemcisidir. MyCL

Fedora 30 Üzerinde Görev Panosu Nasıl Yüklenir ve Yapılandırılır

Fedora 30 Üzerinde Görev Panosu Nasıl Yüklenir ve Yapılandırılır

Farklı Bir Sistem mi Kullanıyorsunuz? Giriş TaskBoard, yapılması gereken şeyleri takip etmek için kullanılabilen ücretsiz ve açık kaynaklı bir araçtır. Sağlar

Neos CMSyi Fedora 28e Yükleme

Neos CMSyi Fedora 28e Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Neos, CMSsi ve özünde bir uygulama çerçevesi olan bir içerik uygulama platformudur. Bu kılavuz size nasıl kurulum yapacağınızı gösterecektir.

Fedora 31 Üzerinde X-Cart 5 Kurulumu

Fedora 31 Üzerinde X-Cart 5 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? X-Cart, tonlarca özellik ve entegrasyona sahip son derece esnek bir açık kaynaklı e-ticaret platformudur. X-Cart kaynak kodu aceleci

Fedora 26 LAMP VPS Küçük Tiny RSS Okuyucu Nasıl Kurulur

Fedora 26 LAMP VPS Küçük Tiny RSS Okuyucu Nasıl Kurulur

Farklı Bir Sistem mi Kullanıyorsunuz? Tiny Tiny RSS Reader ücretsiz ve açık kaynak kodlu, kendi kendine barındırılan, web tabanlı bir haber akışı (RSS / Atom) okuyucu ve toplayıcıdır.

Microweber Fedora 28 Kurulumu

Microweber Fedora 28 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Microweber açık kaynak kodlu bir sürükle bırak CMS ve online mağaza. Microweber kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size

ImpressPages CMS 5.0ı Fedora 26 LAMP VPSye Yükleme

ImpressPages CMS 5.0ı Fedora 26 LAMP VPSye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? ImpressPages CMS 5.0 basit ve etkili, ücretsiz ve açık kaynaklı, kullanıcı dostu, MVC tabanlı, İçerik Yönetim Sistemidir (CMS)

Fedora 28 Üzerine Kaşe Yükleme

Fedora 28 Üzerine Kaşe Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Cachet PHP ile yazılmış açık kaynaklı bir durum sayfası sistemidir. Cachetin kaynak kodu bu Github deposunda barındırılmaktadır. Thi içinde

Fedora 28 Wiki.js Nasıl Kurulur

Fedora 28 Wiki.js Nasıl Kurulur

Farklı Bir Sistem mi Kullanıyorsunuz? Wiki.js, Node.js, MongoDB, Git ve Markdown üzerine kurulmuş ücretsiz ve açık kaynaklı, modern bir wiki uygulamasıdır. Wiki.js kaynak kodu publicl

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun