kangle环境是一款国产的WEB服务器是跨平台、轻量级、易上手、功能强大的高性能web和反向代理服务器软件。kangle的适用平台也很广泛如:Linux、Windows、Freebsd等等这些平台都可以编译安装。

在GitHub的页面查看发现作者还在更新,这里就要尝鲜安装一下。

使用环境 Debian 12.5

这里的参考脚本来源:funnycups/kangle

一键脚本安装

不想折腾的伙伴,可以使用脚本一键安装,脚本来源GitHub。

1curl -s https://raw.githubusercontent.com/funnycups/kangle/main/install.sh|bash

安装相关依赖

1apt update -y
2apt install -y git cmake make curl wget zip unzip build-essential zlib1g zlib1g-dev libssl-dev\
3 libevent-dev libjpeg-dev libpng-dev libtiff-dev pkg-config autoconf bison re2c libxml2-dev libsqlite3-dev\
4 libcurl4-gnutls-dev libfreetype-dev libonig-dev

安装kangle支持的新特征

HTTP3 和 zstd 支持

 1#brotli
 2wget https://github.com/google/brotli/archive/refs/tags/v1.0.9.tar.gz -O brotli.tar.gz
 3tar zxf brotli.tar.gz
 4rm -rf brotli.tar.gz
 5cd brotli-1.0.9
 6mkdir out
 7cd out
 8cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF ..
 9cmake --build . --config Release --target install
10
11#zstd
12git clone https://github.com//zstd
13
14#pcre
15wget jaist.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz?viasf=1 -O pcre.tar.gz
16tar zxf pcre.tar.gz
17rm -rf pcre.tar.gz
18cd pcre-8.45
19mkdir build
20cd build
21cmake -DCMAKE_C_FLAGS=-fPIC DCMAKE_CXX_FLAGS=-fPIC ..
22make && make install

安装kangle环境

 1# kangle
 2git clone https://github.com/litespeedtech/lsquic
 3cd lsquic && git submodule update --init --recursive
 4cd ~/install
 5git clone https://github.com/google/boringssl
 6git clone https://github.com/keengo99/kangle
 7cd kangle
 8git submodule update --init --recursive
 9mkdir build
10cd build
11mkdir -p /vhs/kangle
12cmake -DCMAKE_INSTALL_PREFIX=/vhs/kangle -DZSTD_DIR=~/install/zstd -DENABLE_BROTLI=ON -DBORINGSSL_DIR=~/install/boringssl -DLSQUIC_DIR=~/install/lsquic ..
13make && make install
14
15#kangle service
16touch /lib/systemd/system/kangle.service;
17cat >>/lib/systemd/system/kangle.service<<EOF
18[Unit]
19Description=Kangle Web Service
20After=syslog.target network.target
21[Service]
22Type=forking
23ExecStart=/vhs/kangle/bin/kangle
24ExecStop=/vhs/kangle/bin/kangle -q
25[Install]
26WantedBy=multi-user.target
27EOF
28
29ln -s /lib/systemd/system/kangle.service /etc/systemd/system/multi-user.target.wants/kangle;
30systemctl daemon-reload;
31systemctl enable kangle;

安装kwebp组件

 1#install kwebp
 2cd ~/install
 3git clone https://github.com/webmproject/libwebp
 4cd libwebp
 5mkdir build && cd build
 6cmake .. -D CMAKE_C_FLAGS=-fPIC
 7make && make install
 8cd ~/install
 9git clone https://github.com/keengo99/kwebp
10cd kwebp
11mkdir build && cd build
12cmake .. -DKANGLE_DIR=/vhs/kangle -DLIBWEBP_DIR=~/install/libwebp
13make
14make install

安装Kwaf组件

1#install kwaf
2cd ~/install
3git clone https://github.com/keengo99/kwaf
4cd kwaf
5sed -i "s/set(CMAKE_INSTALL_PREFIX \${KANGLE_DIR})//" CMakeLists.txt
6mkdir build && cd build
7cmake .. -DKANGLE_DIR=~/install/kangle -DCMAKE_INSTALL_PREFIX=/vhs/kangle
8make
9make install

部分配置参数

1#set etc config
2cd /vhs/kangle/etc
3wget -O config.xml https://raw.githubusercontent.com/funnycups/kangle/main/config.xml
4
5#start Kangle
6systemctl start kangle

安装完成,浏览器打开 IP:3311 进行访问/