分享好友 最新动态首页 最新动态分类 切换频道
Docker容器内启动 TinyWebServer 项目
2024-12-26 22:22

看到这个项目,想学学 https://github.com/qinguoyi/TinyWebServer(旧版项目的readme:https://github.com/qinguoyi/TinyWebServer/tree/raw_version

但是配环境搞了一天,才启动成功,所以记录一下


本人只有windows笔记本,不想用笨重的vmware来启动,那就用个docker吧

准备一个装好了mysql-server的docker容器

个人用的镜像,包含了比较多的东西,想的是减少开容器后的apt install过程

用nvidia/cuda完全是没必要的,这个项目又用不到cuda,也可以用其他的容器

之所以用dockerfile给镜像装好mysql-server,是因为我在实验的时候,在容器内执行apt-get install mysql-server 会报错说无法创建符号链接的问题,而用dockerfile提前把它装进镜像就不会有这个报错……

把以下代码(可以删掉一些,编译会快一点,否则apt-get install 会耗大概二十分钟吧)写入一个空文件夹的一个新建文件Dockerfile中

 

然后执行 docker build -t my-cuda-ubuntu:v0 .

启动容器

docker run --name mycuda -it --gpus=all -p 127.0.0.1:32123:12321 my-cuda-ubuntu:v0

把容器的12321端口,绑定的宿主机的32123端口。因此项目的server的端口就应该改为12321端口

进入docker容器,可以用vscode的docker扩展,右键附加到vscode

把项目文件夹复制到容器内

GitHub - qinguoyi/TinyWebServer: :fire: Linux下C++轻量级WebServer服务器

自己下载,然后拖到容器内

启动mysql服务

终端执行 service mysql start (这个容器没有sudo命令,没有sudo也可以执行

// 刚刚学到了,可以在终端执行 mysql_secure_installation,来修改一些配置

查看mysql密码

终端输入 cat /etc/mysql/debian.cnf

修改项目配置

就是照着项目的readme修改对应值

  • 重构版项目
    • main.cpp 修改 user, passwd, databasename

    • config.cpp 修改 PORT为12321

  • 旧版项目
    • main.c 修改这里 connPool->init(...,修改用户名、密码、数据库名。具体看旧版项目的readme

    • http/http_conn.cpp 修改这里const char *doc_root =  具体看旧版项目的readme

进入mysql创建数据库和表,插入web服务的用户密码

照着readme执行。终端输入 mysql进入mysql的控制终端,然后进入以下内容

 

启动server

  • 新版
    • https://blog.csdn.net/weixin_45084217/article/details/server
  • 旧版
    • https://blog.csdn.net/weixin_45084217/article/details/server 12321

浏览器进入该web服务

在宿主机的浏览器中,键入 localhost:32123 即可

此时也可以在启动了的项目里面找到log信息

ok,到这里你应该可以启动了,没启动算我的

最新文章
華為巴黎旗艦店舉辦GoPaint全球創作活動
/美通社/ -- 華為在其巴黎旗艦店(巴黎歌劇院旁)成功舉辦了GoPaint全球創作活動。本次活動由兩位才華橫溢的插畫師Mayada和Kenza主導,旨在通過可在華為MatePad系列設備上使用的GoPaint應用展現數字藝術的潛力以及實現創作的便捷性。該活動
科技通报“小拉抢单器新款怎么用教程”其实确实有挂
小拉抢单器新款怎么用教程是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。抢单可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义抢单系统规律,只需要输入自己
盘点即将上市的新款手机 你更喜欢哪一款?
点击上方电脑爱好者关注我们转眼2019年已经过半,手机圈的竞争也即将进入下半场,5G、折叠屏、UFS3.0、屏幕摄像头、全身无开孔设计等元素都会一一在新品中呈现。作为消费者,咱们暂时无需将目光投的太远,如果聚焦当下,将于近期上市的新款
高效SEO排名神器,助您网站流量翻倍,率飙升
推荐一款SEO快速排名软件,助您高效优化网站,快速提升流量与,让您的网站在搜索引擎中脱颖而出。随着互联网的快速发展,越来越多的企业开始重视网络营销,而SEO(搜索引擎优化)作为网络营销的重要组成部分,已经成为了企业提高网站流量、
深圳一医生被曝拒诊,耽误患者!官方回应 | 医脉3分钟
今天的医疗圈发生了哪些与你有关的大事?更新、更全的医学动态3分钟一网打尽今日关键词:韩语学生,轻断食,职业病类别,创新医疗器械来源 | 医脉通作者 |晚报君新闻60秒➤76岁老人被接到医院“免费”做手术,家属投诉并质疑医院@第一帮帮
潮州企业网站排名优化,提升品牌影响力的关键策略,潮州 企业
潮州企业网站排名优化是提升品牌影响力的重要策略。通过优化网站内容、提升用户体验、加强社交媒体营销、建立优质外链等方式,可以提高网站在搜索引擎中的排名,从而吸引更多潜在客户。定期更新网站内容、优化关键词、提高网站速度等也是关
漫画台苹果版免费
在众多的漫画阅读平台中,“漫画台”作为其中一个优秀的漫画阅读渠道,深受大家的喜欢和青睐。为了给更多的用户提供便捷、流畅的手机阅读体验,“漫画台”推出了全新的苹果版(iphone)应用,用户可以轻松在苹果商店中免费下载。下面就让我
用AI挑战5分钟一篇PPT!Kimi的这个功能绝了!打工人福音,效率提升80%!(附教程)
大家好,我是程序员X小鹿,前互联网大厂程序员,自由职业2年+,也一名 AIGC 爱好者,持续分享更多前沿的「AI 工具」和「AI副业玩法」,欢迎一起交流~俗话说,在职场,不管干得怎么样&
词典分词算法详解:从基础到高效实现
2. 词典分词 2.1 什么是词2.2 词典2.3 切分算法2.4 字典树2.5 基于字典树的其它算法2.6 HanLP的词典分词实现中文分词:指的是将一段文本拆分为一系列单词的过程,这些单词顺序拼接后等于原文本。中文分词算法大致分为基于词典
从销售到 AI 算法工程师 | 转行人工智能大模型(含面经&裁员幸存指南)
我叫王东,90后,和大家分享一下我的人工智能转型之路。 农学毕业,投身互联网做销售 机遇难求,养殖梦碎 我是土生土长的农村人,小时候经常和小鱼小虾打交道,上大学的时候就选择了农学专业,
相关文章
推荐文章
发表评论
0评