Docker容器内启动 TinyWebServer 项目

   日期:2024-12-26    作者:2bcze 移动:http://3jjewl.riyuangf.com/mobile/quote/53874.html

看到这个项目,想学学 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,到这里你应该可以启动了,没启动算我的


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号