分享好友 最新动态首页 最新动态分类 切换频道
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,到这里你应该可以启动了,没启动算我的

最新文章
战术深度:如何在游戏中应用“一枪战三母2-1”
一枪战三母2-1,这个标题从字面上看让人产生了好奇,它是涉及枪战、战斗策略还是其他什么类型的内容呢?针对这个关键词,我们不难发现它与某些具体战斗的场景或战术分析相关。因此,本文将结合实际战术操作,深入解析“一枪战三母2-1”所涉
财险公司“13精”综合竞争力排名榜:太保蝉联第一 非车优势日益凸显!
  原标题:2020年财险公司“13精”综合竞争力排名榜:太保蝉联第一,非车优势日益凸显!  来源:13个精算师    其实,分析一家保险公司,单看保费或者单看利润,难免稍显片面。  为了综合去看一家险企的经营情况,我们从风险、盈
适合平民玩家长期玩的手游哪个好玩(十大耐玩平民前十名)
今天小编为大家带来的是十大耐玩平民手游推荐,不仅画面精美酷炫,还有超多的惊喜福利可以免费领取,更有丰富的游戏类型任各位小伙伴选择,玩法丰富,有喜欢的朋友就来18183手游网看看吧,感受全新的游戏体验。适合平民玩家长期玩的手游01|
网店销售“大师同款” 不正当竞争应赔偿
建盏是产于福建省南平市的一种黑釉瓷器,建窑建盏烧制技艺是国家级非物质文化遗产之一,孙建兴是“建窑建盏烧制技艺”国家级非物质文化遗产代表性项目代表性传承人,“孙建兴”注册商标核定使用商品为第21类,包括瓷器、瓷、陶瓷、陶器等,
如何 百度快速收录 加速百度收录秘诀:优化策略助您快速上榜
如何实现百度快速收录:全面策略与实战指南在当今互联网信息爆炸的时代,网站被搜索引擎快速收录并排名靠前,对于任何企业或个人而言都至关重要百度作为中国最大的搜索引擎,其收录速度和排名机制直接影响着网站的曝光度和流量那么,如何实
考研流行病与卫生统计学就业方向
在如今的就业市场中,卫生统计学研究生就业方向越来越受到关注。随着公共卫生领域的发展,数据分析和统计方法在卫生政策、疾病控制和健康管理等方面的重要性日益凸显。本文将分享一些关于卫生统计学研究生的就业方向,希望能为正在求职的你
纯干货!磁盘分盘后怎么合回去?盘点3招分区合并技巧
磁盘分区管理是电脑维护中的一项重要任务,合理的分区可以提高数据管理效率和系统性能,在众多分区操作需求中,将分区合并回去是一个常见的需求。磁盘分盘后怎么合回去?以下是几种常用的磁盘分区合并方法,将帮助您快速轻松将磁盘合并。Wi
自定义帖子中的Wordpress ACF关系
Wordpress ACF(Advanced Custom Fields)关系是指在Wordpress中使用ACF插件来创建和管理自定义字段,并在帖子(Post)中建立关系。ACF是一款非常流行的Wordpress插件,它允许用户通过简单的界面来创建和管理自定义字段,而无需编写任何代
百度风云排行榜,游戏界的热力榜单揭秘
在浩瀚的网络世界中,百度风云排行榜以其独特的魅力,成为了众多玩家、游戏厂商以及行业分析师的关注焦点,就让我们一起走进这个神秘的排行榜,探寻其中的奥秘与魅力。一、百度风云排行榜的诞生与意义百度风云排行榜,顾名思义,是依托于百
信用钱包逾期严重如何协商解决
在现代社会信用钱包已成为人们日常生活中不可或缺的一部分无论是线上购物还是线下消费它都为咱们的支付途径提供了极大的便利。由于各种起因如个人经济状况的变化、对账单的忽视等使用者可能将会面临信用钱包逾期的疑问。一旦逾期不仅会产生
相关文章
推荐文章
发表评论
0评