Puncte:1

Cum să activez http/2 dintr-un pachet Centos/yum?

drapel cn

Rulez următoarea versiune de Apache pe Centos 7:

httpd.x86_64 2.4.6-97.el7.centos.5 @actualizări

httpd-tools.x86_64 2.4.6-97.el7.centos.5 @actualizări

Acesta este pachetul implicit care a venit împreună cu sistemul. Vreau să pot suporta http/2, dar instrucțiunile pe care le-am găsit îmi cer să construiesc/configurez software-ul cu acel parametru. Cu toate acestea, folosesc un pachet standard pentru a facilita actualizarea. Există vreo modalitate de a activa această funcție și de a folosi în continuare același arbore de actualizare? Sau există un pachet/repo mai bun de folosit? Sau există vreo modalitate prin care pot configura instalarea existentă pentru a activa http 2.0? M-am uitat și nu am văzut mod_http2.so - există vreo modalitate de a-l instala și apoi de a-l activa prin configurare, astfel încât să nu fie nevoie să reconstruiesc Apache de la zero?

NOTĂ: Există o întrebare existentă ( HTTP/2 pe CentOS 7 pe Apache cu PHP7 ) despre asta, dar are 5 ani și sper la un răspuns mai actualizat, deoarece la momentul respectiv se spunea că http/2 nu era la fel de stabil/suportat

djdomi avatar
drapel za
dacă nu este activat implicit pe Debian, trebuie să adăugați un modul suplimentar la apache, yum ar trebui să îl puteți găsi, dar nu sunt familiarizat cu el
drapel in
Deoarece versiunile de bază ale distribuțiilor nu primesc actualizări de caracteristici pentru pachetele lor, ci doar remedieri de securitate, întrebarea legată este cel mai probabil încă actuală.
Aussie avatar
drapel cn
Primul răspuns la această întrebare este un răspuns mult mai bun la ambele întrebări.
Puncte:1
drapel cl
A.B

CentOS7 este blocat în mod implicit cu Apache httpd 2.4.6, care nu oferă mod_http2.so modul pentru implementarea HTTP/2.

Iată cum se face cu software-ul acceptat și fără recompilare:

  • activați Depozitul de colecții de software

    Acestea sunt pachete suplimentare acceptate, inclusiv versiuni mai noi ale pachetelor existente. Se instalează într-un director separat (de obicei /opt/rh) astfel încât să nu se ciocnească de versiunea originală. Acest lucru înseamnă, de asemenea, că există un efort mai mare pentru a folosi unele dintre funcțiile lor.

    yum instalează centos-release-scl
    

    Aceasta va instala un nou depozit cu pachetele suplimentare

  • Instalare httpd24

    yum instalează httpd24
    

    care în mare parte va trage pachetul real httpd24-httpd și mai important pentru acest răspuns, va trage pe rând httpd24-libnghttp2: O bibliotecă care implementează protocolul HTTP/2.

  • configurați instalarea mai nouă în propriile directoare de configurare

    Ca mulți SCL pachete, acest pachet este destinat să fie instalat fără a intra în conflict cu pachetul pe care îl înlocuiește, mai degrabă decât să-l actualizeze. Majoritatea fișierelor de configurare se găsesc de obicei în /etc/httpd se găsesc acum în /opt/rh/httpd24/root/etc/httpd.

    Deci, vă rugăm să copiați și să adaptați (dacă există niște referințe absolute de directoare în configurații etc.) setările peste noul loc: /opt/rh/httpd24/root/etc/httpd

    Această versiune vine cu HTTP/2 activat:

    # grep -r http2 /opt/rh/httpd24/root/etc/httpd/
    /opt/rh/httpd24/root/etc/httpd/conf.modules.d/00-base.conf:LoadModule http2_module modules/mod_http2.so
    
  • verifica sintaxa etc.

    Aceasta face parte din particularitățile SCL. Trebuie să rulați comenzi pregătitoare pentru a utiliza calea și bibliotecile corecte pentru componentele adăugate.

    Interactiv (dar o comandă non-interactivă ar putea fi executată imediat):

    # scl enable httpd24 -- bash -l
    

    Noul shell moștenește un mediu suplimentar:

    # printenv |grep /opt/rh
    MANPATH=/opt/rh/httpd24/root/usr/share/man:
    LIBRARY_PATH=/opt/rh/httpd24/root/usr/lib64
    LD_LIBRARY_PATH=/opt/rh/httpd24/root/usr/lib64
    PATH=/opt/rh/httpd24/root/usr/bin:/opt/rh/httpd24/root/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/ bin:/sbin:/bin:/root/bin
    PKG_CONFIG_PATH=/opt/rh/httpd24/root/usr/lib64/pkgconfig
    

    și acum poate rula comenzi precum:

    # httpd -v
    Versiunea serverului: Apache/2.4.34 (Red Hat)
    Server construit: 1 februarie 2022 14:11:48
    
  • Comutați serviciul

    systemd serviciile sunt deja făcute pentru a utiliza acest nou mediu, așa că nu este nevoie de nimic legat de marcatorul precedent aici

    systemctl dezactivați --acum httpd
    systemctl activare --acum httpd24-httpd
    
Aussie avatar
drapel cn
Mulțumesc pentru răspunsul excelent!
A.B avatar
drapel cl
A.B
Dacă ți-a rezolvat întrebarea, nu ezitați să marcați răspunsul ca răspuns acceptat.
Puncte:-1
drapel za

Consultați instrucțiunile Red Hat / Fedora aici: https://www.ubuntupit.com/how-to-enable-http-2-in-apache-on-linux-system/

drapel in
Vă rugăm să nu postați doar răspunsuri pe link. Ele devin inutile atunci când legătura moare. În schimb, postați esența linkului și adăugați linkul pentru referință.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.