{"id":16330313,"url":"https://github.com/forthespada/mypoorwebserver","last_synced_at":"2025-05-16T14:04:59.986Z","repository":{"id":37335249,"uuid":"230074753","full_name":"forthespada/MyPoorWebServer","owner":"forthespada","description":"一款可运行的基于C++ 实现的WebServer服务器，基于《TCPIP网络编程》和《Linux高性能服务器编程》实现的服务器项目。","archived":false,"fork":false,"pushed_at":"2022-04-28T05:57:45.000Z","size":1855,"stargazers_count":1307,"open_issues_count":5,"forks_count":213,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-12T10:59:40.686Z","etag":null,"topics":["cpp","webserver"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/forthespada.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-25T09:03:19.000Z","updated_at":"2025-04-12T05:51:05.000Z","dependencies_parsed_at":"2022-07-12T11:55:08.142Z","dependency_job_id":null,"html_url":"https://github.com/forthespada/MyPoorWebServer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forthespada%2FMyPoorWebServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forthespada%2FMyPoorWebServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forthespada%2FMyPoorWebServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forthespada%2FMyPoorWebServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forthespada","download_url":"https://codeload.github.com/forthespada/MyPoorWebServer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254544146,"owners_count":22088807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","webserver"],"created_at":"2024-10-10T23:18:57.992Z","updated_at":"2025-05-16T14:04:59.963Z","avatar_url":"https://github.com/forthespada.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch3 align=\"center\"\u003e一款可运行的基于C++11 实现的HTTP服务器\u003c/h3\u003e\n\n\n\n### 1、简介\n\n#### 0、插入一条更新\n\n给大家一个思路，我把基于C++版本的项目删除，只留下以前写的基于C的项目，如果能够在C的基础上将之改写为C++版本，就变成你的项目了。\n\n按照 【2、编译】中的步骤还是可以顺利运行的，可以自行尝试~\n\n#### 1、由来\n\n该项目是基于C++ 实现的HTTP服务器，也就是那种烂大街的WebServe服务器，不过由于是自己动手做的，所以还是很有意义的就上传上来了。\n\n该项目也是阿秀自己在2020年找工作时简历上的第二个项目。\n\n关于项目的详细功能介绍请看该文章的项目描述处：[一份百投百中的计算机校招简历是如何迭代足足26版的？](https://mp.weixin.qq.com/s?__biz=Mzg2MDU0ODM3MA==\u0026mid=2247484253\u0026idx=1\u0026sn=df7ade24514881e60a40cde578d2b3da\u0026chksm=ce25ff20f95276364a71e649141ca4c53c97f1fc1cc913a20c67586cdf620317f978e928e2b7\u0026scene=126\u0026sessionid=1608343657\u0026key=83b7fdc2e28db9650cdc10bacd0a0f097ad16beb02d6dbc1e0e4005a484887cafb0e46484f047c1977e805b3430b2ad1975ace69a7c15bf87e649d62ca22923d629791ccb42607a6796faaed8c3361146e45b35b3b1fe45833cecff96a6ccabd23a5e2787b976cc47ba6ba838af73496f0887ccdab42410c9100edc577fd1443\u0026ascene=1\u0026uin=MTU0MTg3NjkyOA%3D%3D\u0026devicetype=Windows+10+x64\u0026version=62090538\u0026lang=zh_CN\u0026exportkey=AR%2FnqNBKRjClxG%2FcoguEL7Y%3D\u0026pass_ticket=%2FfKkpK2i7c7MrCBoE0fGp%2FiMhDilgMJjoVfqMtz%2Bc7zLa%2BEIbDVllJxkTqtHUO03\u0026wx_header=0)\n\n（如果有需要简历模板的同学可以看一下上面这篇文章的文末处，有我个人的简历模板下载方式）\n\n#### 2、其余\n\n如果还有对该项目有疑问的同学可以加我个人微信：**coderxiu2**，我会在工作之余进行免费答疑。\n\n最好在看过文末的两本书即《TCPIP网络编程》和《Linux高性能服务器编程》或者对于C++网络编程有一定了解后，再来进行实践本项目。\n\n### 2、编译\n\n请严格按照下面步骤进行编译\n\n#### 1、编译准备工作\n\n文件夹中的 post.html 以及 post.cgi 文件需要一定的权限才可以执行。\n\n所以需要先进行权限给予。\n\n第一步、克隆项目并给予足够权限，打开命令行依次输入下述命令：\n\n~~~c\ngit clone  https://github.com/forthespada/MyPoorWebServer\n\ncd  httpdocs\n\nsudo chmod 600 test.html\n\nsudo chmod 600 post.html\n\nsudo chmod +X post.cgi\n~~~\n\n在进行sudo命令时，需要输入Linux下的sudo命令。\n\n如下图所示：\n\n![](./image/1.png)\n\n如果忘记自己设置的sudo密码，可以按照如下教程进行密码重置：[sudo密码重置](https://blog.csdn.net/TravisPan/article/details/88682529?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_v2~rank_aggregation-1-88682529.pc_agg_rank_aggregation\u0026utm_term=linux%E5%BF%98%E8%AE%B0sudo%E5%AF%86%E7%A0%81\u0026spm=1000.2123.3001.4430)\n\n#### 2、编译执行\n\n依次输入下述命令即可。\n\n~~~c\ncd  ../\n\nmake\n\n./myhttp\n~~~\n\n#### 3、整体过程图\n\n\n\n1、项目默认端口号是6379，如像下图地址栏所示，默认显示的界面是是test.html界面。\n\n2、运行成功后默认显示的为test.html界面，同时同一路径下还有 post.html界面，可以将地址栏的“**test.html**”改成“**post.html**”来进行查看。\n\n\n\n![](./image/2.png)\n\n![](./image/3.png)\n\n![](./image/4.png)\n\n![](./image/5.png)\n\n#### 4、整体框架图\n\n![](./image/myhttp.png)\n\n#### 6、参考资料\n\n《TCPIP网络编程》-韩国-尹圣雨\n\n《Linux高性能服务器编程》-中国-游双\n\nhttps://www.cnblogs.com/qiyeboy/p/6296387.html\n\nhttps://www.jianshu.com/p/18cfd6019296\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforthespada%2Fmypoorwebserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforthespada%2Fmypoorwebserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforthespada%2Fmypoorwebserver/lists"}