Điểm:1

Làm cách nào để bật http/2 từ Gói Centos/yum?

lá cờ cn

Tôi đang chạy phiên bản Apache sau trên 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

Đây là gói mặc định đi kèm với hệ thống. Tôi muốn có thể hỗ trợ http/2 nhưng các hướng dẫn mà tôi tìm thấy yêu cầu tôi xây dựng/cấu hình phần mềm với tham số đó. Tuy nhiên, tôi đang sử dụng gói tiêu chuẩn để dễ cập nhật. Có cách nào để bật tính năng này mà vẫn sử dụng cùng một cây cập nhật không? Hoặc có gói/repo nào tốt hơn để sử dụng không? Hoặc có cách nào để tôi có thể định cấu hình cài đặt hiện có để bật http 2.0 không? Tôi đã xem và không thấy mod_http2.so - có cách nào để cài đặt và sau đó kích hoạt nó thông qua cấu hình để tôi không phải xây dựng lại Apache từ đầu không?

LƯU Ý: Có một câu hỏi hiện có ( HTTP/2 trên CentOS 7 trên Apache với PHP7 ) về vấn đề này nhưng nó đã được 5 năm và tôi hy vọng có câu trả lời cập nhật hơn vì tại thời điểm đó, người ta nói rằng http/2 không ổn định/được hỗ trợ

djdomi avatar
lá cờ za
nếu không được bật theo mặc định trên debian, bạn cần thêm một mô-đun bổ sung vào apache, yum sẽ có thể tìm thấy nó nhưng tôi không quen với nó
lá cờ in
Vì các phiên bản cơ sở của các bản phân phối không nhận được các bản cập nhật tính năng cho các gói của chúng, chỉ có các bản sửa lỗi bảo mật, nên câu hỏi được liên kết có thể vẫn còn hiện tại.
Aussie avatar
lá cờ cn
Câu trả lời đầu tiên cho câu hỏi này là một câu trả lời tốt hơn nhiều cho cả hai câu hỏi.
Điểm:1
lá cờ cl
A.B

CentOS7 theo mặc định bị kẹt với Apache httpd 2.4.6 không cung cấp mod_http2.so mô-đun để triển khai HTTP/2.

Đây là cách thực hiện với phần mềm được hỗ trợ và không cần biên dịch lại:

  • kích hoạt Kho lưu trữ bộ sưu tập phần mềm

    Đây là những gói bổ sung được hỗ trợ bao gồm các phiên bản mới hơn của các gói hiện có. Họ cài đặt trong một thư mục riêng biệt (thường là /opt/rh) để chúng không xung đột với phiên bản gốc. Điều này cũng có nghĩa là có thêm một chút nỗ lực để sử dụng một số tính năng của chúng.

    yum cài đặt centos-phát hành-scl
    

    Điều này sẽ cài đặt một kho lưu trữ mới với các gói bổ sung

  • Cài đặt httpd24

    yum cài đặt httpd24
    

    phần lớn sẽ kéo gói thực tế httpd24-httpd và quan trọng hơn đối với câu trả lời này, sẽ lần lượt kéo theo httpd24-libnghttp2: Một thư viện triển khai giao thức HTTP/2.

  • định cấu hình cài đặt mới hơn trong các thư mục cấu hình của riêng nó

    Giống như nhiều SCL các gói, gói này được thiết kế để cài đặt mà không xung đột với gói mà nó thay thế, thay vì cập nhật gói đó. Hầu hết các tệp cấu hình thường được tìm thấy trong /etc/httpd bây giờ được tìm thấy trong /opt/rh/httpd24/root/etc/httpd.

    Vì vậy, vui lòng sao chép và điều chỉnh (nếu có một số tham chiếu thư mục tuyệt đối trong cấu hình, v.v.) các cài đặt ở vị trí mới: /opt/rh/httpd24/root/etc/httpd

    Phiên bản này được bật 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
    
  • xác minh cú pháp, v.v.

    Đây là một phần của đặc thù SCL. Người ta phải chạy các lệnh chuẩn bị để sử dụng đúng đường dẫn và thư viện cho các thành phần được thêm vào.

    Tương tác (nhưng thay vào đó, một lệnh không tương tác có thể được chạy ngay lập tức):

    # scl kích hoạt httpd24 -- bash -l
    

    Shell mới kế thừa môi trường bổ sung:

    # 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
    

    và bây giờ có thể chạy các lệnh như:

    # httpd -v
    Phiên bản máy chủ: Apache/2.4.34 (Mũ đỏ)
    Máy chủ được tạo: ngày 1 tháng 2 năm 2022 14:11:48
    
  • Chuyển đổi dịch vụ

    hệ thống các dịch vụ đã được thực hiện để sử dụng môi trường mới này, vì vậy không có gì liên quan đến dấu đầu dòng trước đó là cần thiết ở đây

    vô hiệu hóa systemctl --now httpd
    bật systemctl --now httpd24-httpd
    
Aussie avatar
lá cờ cn
Cảm ơn vì phản hồi tuyệt vời!
A.B avatar
lá cờ cl
A.B
Nếu nó giải quyết được câu hỏi của bạn, vui lòng đánh dấu câu trả lời là câu trả lời được chấp nhận.
Điểm:-1
lá cờ za

Xem hướng dẫn Red Hat/Fedora tại đây: https://www.ubuntupit.com/how-to-enable-http-2-in-Apache-on-linux-system/

lá cờ in
Vui lòng không đăng câu trả lời chỉ liên kết. Chúng trở nên vô dụng khi liên kết chết. Thay vào đó, hãy đăng bản chất của liên kết và thêm liên kết để tham khảo.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.