ubuntu下编译安装libwebsockets

ubuntu下编译安装libwebsockets


1.libwebsockets官网及GitHub地址

libwebsockets官网:https://www.libwebsockets.org/

GitHub地址:https://github.com/warmcat/libwebsockets

2.确保cmake、openssl安装成功

源码安装或是apt-get安装都可以。
我这里选择apt-get安装,方便一些。

sudo apt-get install cmake
sudo apt-get install openssl 
sudo apt-get install libssl-dev

注意:apt-get安装openssl时还需要安装libssl-dev,否则会在后面找不到头文件,编译libwebsockets时提示找不到ssl.h等,此外,还需要注意openssl的版本好像要大于1.0.0,libwebsockets使用的openssl的版本有最低要求,具体参见官网说明。

3.Ubuntu下下载、编译及安装

准备好环境后就可以下载、编译及安装libwebsockets了:

git clone https://github.com/warmcat/libwebsockets.git
cd libwebsockets
mkdir build
cd build
cmake ..
make
sudo make install

3.结果

只要准备好openssl、cmake等的安装,在Ubuntu下安装没有什么大的问题:

loon@loon-virtual-machine:~/work/libwebsockets/build$ cmake ..
...
 LWS_AVOID_SIGPIPE_IGN = OFF
 LWS_WITH_STATS = OFF
 LWS_WITH_SOCKS5 = OFF
 LWS_HAVE_SYS_CAPABILITY_H = 
 LWS_HAVE_LIBCAP = 
 LWS_WITH_PEER_LIMITS = OFF
 LWS_HAVE_ATOLL = 1
 LWS_HAVE__ATOI64 = 
 LWS_HAVE_STAT32I64 = 
 LWS_HAS_INTPTR_T = 1
 LWS_WITH_EXPORT_LWSTARGETS = ON
---------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/loon/work/libwebsockets/build
loon@loon-virtual-machine:~/work/libwebsockets/build$ make
...
[ 94%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/server/lejp-conf.c.o
[ 95%] Linking C shared library lib/libwebsockets.so
[ 95%] Built target websockets_shared
Scanning dependencies of target test-server-extpoll
[ 96%] Building C object CMakeFiles/test-server-extpoll.dir/test-apps/test-server.c.o
[ 97%] Linking C executable bin/libwebsockets-test-server-extpoll
[ 97%] Built target test-server-extpoll
Scanning dependencies of target test-lejp
[ 98%] Building C object CMakeFiles/test-lejp.dir/test-apps/test-lejp.c.o
[ 99%] Linking C executable bin/libwebsockets-test-lejp
[ 99%] Built target test-lejp
Scanning dependencies of target test-client
[ 99%] Building C object CMakeFiles/test-client.dir/test-apps/test-client.c.o
[100%] Linking C executable bin/libwebsockets-test-client
[100%] Built target test-client
loon@loon-virtual-machine:~/work/libwebsockets/build$ sudo make install
...
-- Installing: /usr/local/share/libwebsockets-test-server/libwebsockets.org-logo.png
-- Installing: /usr/local/share/libwebsockets-test-server/http2.png
-- Installing: /usr/local/share/libwebsockets-test-server/wss-over-h2.png
-- Installing: /usr/local/share/libwebsockets-test-server/lws-common.js
-- Installing: /usr/local/share/libwebsockets-test-server/test.html
-- Installing: /usr/local/share/libwebsockets-test-server/test.css
-- Installing: /usr/local/share/libwebsockets-test-server/test.js
-- Installing: /usr/local/share/libwebsockets-test-server/private/index.html
-- Installing: /usr/local/share/libwebsockets-test-server/lws-ssh-test-keys
-- Installing: /usr/local/share/libwebsockets-test-server/lws-ssh-test-keys.pub
-- Installing: /usr/local/lib/cmake/libwebsockets/LibwebsocketsConfig.cmake
-- Installing: /usr/local/lib/cmake/libwebsockets/LibwebsocketsConfigVersion.cmake
-- Installing: /usr/local/lib/cmake/libwebsockets/LibwebsocketsTargets.cmake
-- Installing: /usr/local/lib/cmake/libwebsockets/LibwebsocketsTargets-release.cmake

4.测试

安装完成后,可以直接使用libwebsockets提供的测试程序直接测试:

loon@loon-virtual-machine:~/work/libwebsockets/build$ libwebsockets-test-
libwebsockets-test-client          libwebsockets-test-server
libwebsockets-test-fuzxy           libwebsockets-test-server-extpoll
libwebsockets-test-lejp

比如libwebsockets-test-server:

loon@loon-virtual-machine:~/work/libwebsockets/build$ libwebsockets-test-server
[2018/09/08 11:06:57:1378] NOTICE: libwebsockets test server - license LGPL2.1+SLE
[2018/09/08 11:06:57:1388] NOTICE: (C) Copyright 2010-2018 Andy Green <andy@warmcat.com>
Using resource path "/usr/local/share/libwebsockets-test-server"
[2018/09/08 11:06:57:1403] NOTICE: Creating Vhost 'default' port 7681, 5 protocols, IPv6 off

运行服务后访问服务器端的7681端口即可,当然也可以指定端口和资源,这里不再细说了。

5.最后

目前在Ubuntu16.04 64位下测试完成后,我通过交叉编译也移植了libwebsockets到openwrt下了(mips的cpu架构),运行效果还可以。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
很抱歉,我没有找到关于Ubuntu 22编译安装Apache的相关信息。目前最新的Ubuntu版本是Ubuntu 20.04 LTS。你可以参考之前提到的文章和中的步骤,根据你的Ubuntu版本选择合适的Apache版本进行安装编译。确保按照顺序安装所需的依赖库(如pcre、apr和apr-util),以确保编译过程中的支持关系。另外,也要注意根据具体操作系统的要求安装相应的软件包,例如对于没有apr-iconv的操作系统需要安装APR iconv。编译过程中可能会遇到一些错误,例如在编译apr-util时需要安装build-essential(gcc-c ),以避免XML相关错误。完成编译后,可以使用命令启动Apache,并确保相应的路径和命令正确。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ubuntu16.04 linux 编译安装apache2.4.33的教程详解](https://download.csdn.net/download/weixin_38547409/12842910)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Ubuntu 源码编译安装apache](https://blog.csdn.net/weixin_40277264/article/details/119240419)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昵称系统有问题

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值