jjjzw 发表于 2024-4-19 13:55

Linux简易WebServer服务端


# 结构
这两天网上冲浪,发现据说cpper几乎人手一个的webserver项目我居然没有!于是打算搞一个!

学习了一点webserver结构和工作流程,加上epoll异步IO框架,设计出了如下所示的结构:

[!(https://s21.ax1x.com/2024/04/19/pkSpG4S.md.png)](https://imgse.com/i/pkSpG4S)

以及模仿muduo库设计的一个异步日志系统

[!(https://s21.ax1x.com/2024/04/19/pkSp8N8.md.png)](https://imgse.com/i/pkSp8N8)

# 编译&运行
依赖:
+ gcc/g++
+ cmake
+ linux

## 编译
根据所安装cmake版本修改CMakeLists.txt中的cmake最小版本号
```bash
mkdir build && cd build
cmake ..
make -j2
sudo make install
```

## 运行
```bash
sudo ./webserver
```

## 查看日志
```bash
cat /var/log/webserver/log.log
```

[!(https://s21.ax1x.com/2024/04/19/pkSF9wn.md.png)](https://imgse.com/i/pkSF9wn)

# 代码

(https://github.com/Icingworld/WebServer)

# MORE

和别人的webserver比起来,我写的还是相当粗糙的,只是能跑而已,以及有更多优化和拓展工作可以做。我的结构框架是学了两天epoll后突发奇想设计出来的,和muduo等库和框架相比有很大差距,还望论坛大佬们不吝赐教,提出建议,也欢迎到项目地址提issue !

ashirogimuto 发表于 2024-4-19 14:11

向大佬学习

zzhlei 发表于 2024-4-19 14:39

感谢你与我分享你的经验和见解,我现在有了更多的思考和启发。

coolcalf 发表于 2024-4-19 15:00

c++干这个可不划算,nodejs或者go,也就两三行代码搞定。

houdongen 发表于 2024-4-19 15:09

coolcalf 发表于 2024-4-19 15:00
c++干这个可不划算,nodejs或者go,也就两三行代码搞定。

窗口我都X掉了,又打开来给你评论{:1_921:}

lcg2014 发表于 2024-4-19 15:37

python -m http.server 8001

kittylang 发表于 2024-4-19 16:07

?cpper人手一个webserver?这不是遭罪嘛

xingyuanbao 发表于 2024-4-19 16:09

lcg2014 发表于 2024-4-19 15:37
python -m http.server 8001

python2 顽固分子python -m SimpleHTTPServer 8001:lol

yusasa 发表于 2024-4-19 16:38

谢谢分享啊

Charlotte0 发表于 2024-4-19 17:25

感谢大大分享{:1_887:}
页: [1] 2
查看完整版本: Linux简易WebServer服务端