Score:1

วิธีเปิดใช้งาน http/2 จากแพ็คเกจ Centos/yum

ธง cn

ฉันใช้ Apache เวอร์ชันต่อไปนี้บน Centos 7:

httpd.x86_64 2.4.6-97.el7.centos.5 @updates

httpd-tools.x86_64 2.4.6-97.el7.centos.5 @updates

นี่คือแพ็คเกจเริ่มต้นที่มาพร้อมกับระบบ ฉันต้องการรองรับ http/2 แต่คำแนะนำที่ฉันพบทำให้ฉันต้องสร้าง/กำหนดค่าซอฟต์แวร์ด้วยพารามิเตอร์นั้น อย่างไรก็ตาม ฉันใช้แพ็คเกจมาตรฐานเพื่อความสะดวกในการอัปเดต มีวิธีการเปิดใช้งานคุณสมบัตินี้และยังคงใช้แผนผังการอัปเดตเดียวกันหรือไม่ หรือมีแพ็คเกจ / repo ที่ดีกว่าให้ใช้? หรือมีวิธีใดที่ฉันสามารถกำหนดค่าการติดตั้งที่มีอยู่เพื่อเปิดใช้งาน http 2.0 ฉันดูและไม่เห็น mod_http2.so - มีวิธีติดตั้งแล้วเปิดใช้งานผ่านการกำหนดค่าหรือไม่ ดังนั้นฉันจึงไม่ต้องสร้าง Apache ใหม่ตั้งแต่เริ่มต้น

หมายเหตุ: มีคำถามที่มีอยู่ ( HTTP/2 บน CentOS 7 บน Apache พร้อม PHP7 ) เกี่ยวกับเรื่องนี้ แต่อายุ 5 ปีและฉันหวังว่าจะได้รับคำตอบที่อัปเดตมากขึ้นเนื่องจากในขณะที่มีการกล่าวว่า http/2 ไม่เสถียร/รองรับ

djdomi avatar
za flag
หากไม่ได้เปิดใช้งานโดยค่าเริ่มต้นบนเดเบียน คุณต้องเพิ่มโมดูลเพิ่มเติมใน apache yum ควรจะค้นหาได้ แต่ฉันไม่คุ้นเคยกับมัน
in flag
เนื่องจากเวอร์ชันพื้นฐานของการแจกจ่ายไม่ได้รับการอัปเดตฟีเจอร์สำหรับแพ็คเกจของตน มีเพียงการแก้ไขด้านความปลอดภัยเท่านั้น คำถามที่เชื่อมโยงจึงน่าจะเป็นปัจจุบัน
Aussie avatar
cn flag
คำตอบแรกของคำถามนี้เป็นคำตอบที่ดีกว่าสำหรับทั้งสองคำถาม
Score:1
ธง cl
A.B

โดยค่าเริ่มต้น CentOS7 จะติดอยู่กับ Apache httpd 2.4.6 ซึ่งไม่มีไฟล์ mod_http2.so โมดูลเพื่อใช้ HTTP/2

ต่อไปนี้เป็นวิธีการดำเนินการกับซอฟต์แวร์ที่รองรับและไม่มีการคอมไพล์ใหม่:

  • เปิดใช้งาน ที่เก็บคอลเลคชันซอฟต์แวร์

    แพ็คเกจเหล่านี้รองรับแพ็คเกจเพิ่มเติมรวมถึงแพ็คเกจที่มีอยู่แล้วในเวอร์ชันใหม่กว่า พวกเขาติดตั้งในไดเร็กทอรีแยกต่างหาก (โดยปกติคือ /เลือก/rh) จะได้ไม่ไปชนกับรุ่นเดิม นอกจากนี้ยังหมายความว่าต้องใช้ความพยายามมากขึ้นอีกเล็กน้อยในการใช้คุณสมบัติบางอย่าง

    ยำติดตั้ง centos-release-scl
    

    สิ่งนี้จะติดตั้งที่เก็บใหม่พร้อมแพ็คเกจเพิ่มเติม

  • ติดตั้ง httpd24

    ยำติดตั้ง httpd24
    

    ซึ่งส่วนใหญ่จะดึงแพ็คเกจจริง httpd24-httpd และที่สำคัญสำหรับคำตอบนี้จะดึงกลับกัน httpd24-libnghttp2: ไลบรารีที่ใช้โปรโตคอล HTTP/2

  • กำหนดค่าการติดตั้งที่ใหม่กว่าในไดเร็กทอรีการกำหนดค่าของตนเอง

    ชอบมากมาย สจล แพ็คเกจ แพ็คเกจนี้มีไว้สำหรับติดตั้งโดยไม่ชนกับแพ็คเกจที่กำลังแทนที่ แทนที่จะอัปเดต ไฟล์การกำหนดค่าส่วนใหญ่มักพบใน /etc/httpd ขณะนี้พบใน /opt/rh/httpd24/root/etc/httpd.

    ดังนั้น โปรดคัดลอกและดัดแปลง (หากมีการอ้างอิงไดเร็กทอรีแบบสัมบูรณ์ในการกำหนดค่า ฯลฯ) การตั้งค่าในตำแหน่งใหม่: /opt/rh/httpd24/root/etc/httpd

    เวอร์ชันนี้มาพร้อมกับการเปิดใช้งาน HTTP/2:

    # 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
    
  • ตรวจสอบไวยากรณ์ ฯลฯ

    นี่เป็นส่วนหนึ่งของลักษณะเฉพาะของ SCL ต้องเรียกใช้คำสั่งเตรียมการเพื่อใช้เส้นทางและไลบรารีที่ถูกต้องสำหรับส่วนประกอบที่เพิ่มเข้ามา

    แบบโต้ตอบ (แต่สามารถเรียกใช้คำสั่งแบบไม่โต้ตอบได้ทันทีแทน):

    # scl เปิดใช้งาน httpd24 -- bash -l
    

    เชลล์ใหม่สืบทอดสภาพแวดล้อมเพิ่มเติม:

    # 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
    

    และตอนนี้สามารถเรียกใช้คำสั่งเช่น:

    # httpd -v
    เวอร์ชันเซิร์ฟเวอร์: Apache/2.4.34 (Red Hat)
    สร้างเซิร์ฟเวอร์: 1 กุมภาพันธ์ 2022 14:11:48 น
    
  • สลับบริการไป

    ระบบ บริการถูกสร้างขึ้นเพื่อใช้สภาพแวดล้อมใหม่นี้แล้ว ดังนั้นจึงไม่จำเป็นต้องใช้สิ่งใดที่เกี่ยวข้องกับสัญลักษณ์แสดงหัวข้อย่อยก่อนหน้านี้

    ปิดการใช้งาน systemctl -- ตอนนี้ httpd
    เปิดใช้งาน systemctl -- ตอนนี้ httpd24-httpd
    
Aussie avatar
cn flag
ขอบคุณสำหรับการตอบรับที่ยอดเยี่ยม!
A.B avatar
cl flag
A.B
หากสามารถแก้ไขคำถามของคุณได้ โปรดอย่าลังเลที่จะทำเครื่องหมายคำตอบนั้นเป็นคำตอบที่ยอมรับ
Score:-1
ธง za

ดูคำแนะนำของ Red Hat / Fedora ที่นี่: https://www.ubuntupit.com/how-to-enable-http-2-in-apache-on-linux-system/

in flag
โปรดอย่าโพสต์ลิงก์เฉพาะคำตอบ พวกเขาจะไร้ประโยชน์เมื่อลิงค์ตาย ให้โพสต์สาระสำคัญของลิงก์และเพิ่มลิงก์สำหรับอ้างอิงแทน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา