跳到主要內容

讓CentOS 支援 HTTP/2 的方法


yum groupinstall "Development Tools"

wget http://www.us.apache.org/dist//apr/apr-1.5.2.tar.gz
wget http://www.us.apache.org/dist//apr/apr-util-1.5.4.tar.gz
wget https://github.com/tatsuhiro-t/nghttp2/releases/download/v1.4.0/nghttp2-1.4.0.tar.gz
wget https://www.openssl.org/source/openssl-1.0.2d.tar.gz
wget http://www.eu.apache.org/dist//httpd/httpd-2.4.18.tar.gz

tar xvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure
make
make install

cd ..
tar xvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --with-apr=/usr/local/apr/
make
make install

cd ..
tar xvf nghttp2-1.4.0.tar.gz
cd nghttp2-1.4.0
./configure
make
make install

cd ..
tar xvf openssl-1.0.2d.tar.gz
cd openssl-1.0.2d
./config shared
make
make install


yum install pcre-devel zlib-devel libxml2-devel


cd ..
tar xvf httpd-2.4.18.tar.gz
cd httpd-2.4.18.tar.gz
cd httpd-2.4.18
make clean
make distclean

./configure --enable-ssl --enable-so --enable-cache --enable-socache-memcache --enable-watchdog --enable-deflate --enable-proxy-html --enable-http --enable-http2 --disable-log-config --enable-log-debug --enable-log-forensic --enable-mime-magic --enable-expires --enable-remoteip --enable-proxy --enable-proxy-fcgi --enable-dav-fs --enable-vhost-alias --with-nghttp2=/usr/local/lib --enable-log-config --with-ssl=/usr/local/ssl/

make
make install


/usr/local/apache2/bin/apachectl start

ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/local/apache2/lib/
ln -s /usr/local/ssl/lib/libssl.so.1.0.0 /usr/local/apache2/lib/
ln -s /usr/local/lib/libnghttp2.so.14 /usr/local/apache2/lib/

留言

這個網誌中的熱門文章

解決Apache 2.2, 關於HTTPS 之下使用PROXY 面對的 proxy server received an invalid response from an upstream server 以及 proxy: pass request body failed 的問題

修改以下 (proxy 以及 從proxy 接收的server): httpd.conf: ----------- 在 Include conf.d/*.conf 的前面加入以下: LimitRequestBody 2147483647  #2Gb Timeout 24000 ProxyTimeout 24000 ProxyBadHeader Ignore ssl.conf ---------- 在各個virtualhost 裡加入以下:     SSLEngine on     SSLProxyEngine on     SSLProxyVerify none     SSLProxyCheckPeerCN off     #SSLProxyCheckPeerName off     SSLProxyProtocol +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2 以下這個只在proxy server 裡的virtualhost 設定     ProxyPass / https://REMOTE_HOST:443/ retry=1 acquire=3000 timeout=3600 Keepalive=On 

解決CentOS 8 的 failed to set locale defaulting to c.utf-8 的問題

這原因是沒有安裝好支援的語言與字型, 特別是UTF8 並沒有被安裝到 因此使用以下指令確認 localedef -i en_US -f UTF-8 en_US.UTF-8 假如出現 "[error] character map file `UTF-8' not found: No such file or directory" 或者 [error] default character map file 'ANSI_X3.4-1968' not found : No such file or directory 那就安裝UTF8 吧 yum whatprovides "*/UTF-8.gz" 如果找到的話 "UTF-8.gz" 的話 yum install "*/UTF-8.gz" -y 再執行一次: localedef -i en_US -f UTF-8 en_US.UTF-8