一起写webserver 项目(一)
在做整个项目之前建议看完《Linux高性能服务器编程》-中国-游双,这个项目会用到里面的很多知识。
webserver 环境配置
安装Linux环境
webserver作为c++的一个经典项目,虽然烂大街,但是对于网络编程和系统编程非常重要,几乎等同于spring于java,可以不用,但基本要会。
选择一个github的项目 GitHub - qinguoyi/TinyWebServer: :fire: Linux下C++轻量级WebServer服务器
我用的是wsl2子系统,发行版是Debian系统,gcc、g++默认都已经安装了,推荐大家用云服务器,这样项目运行访问时就不必是回环地址,这样更贴合生产环境。
安装MYSQL
使用apt包管理器:
1 | sudo apt-get update |
其他发行版也同理
运行项目
然后就是克隆项目运行
1 | git init ## 将本地仓库初始化 |
测试前确认已安装MySQL数据库(mysql的配置)
1 | // 建⽴yourdb库 |
修改main.cpp中的数据库初始化信息
1 | //数据库登录名,密码,库名 |
随后我们执行
1 | sh ./build.sh |
出现了BUG
这里是缺少mysql库文件,我们去查一下GitHub上的issue,发现作者给了解决方法
执行代码
1 | sudo apt-get install libmysqlclient-dev |
再make一遍,果然不再报库文件缺失,至于warning不用管。
这时候ls一下,可以看到server可运行文件了
1 | ./server |
光标不动了,说明运行成功。
浏览器访问
接下来就是浏览器访问了,在保持服务器运行的情况下,打开浏览器
如果是虚拟机的同学,可以使用回环地址(不知道的翻一下计网的书)
127.0.0.1:9006
云服务器的同学,可以去管理台查一下自己的云服务器的公网IP,然后输入
IP:9006
如果发现打不开,就去服务器实例的防火墙(腾讯云)/安全组(阿里云)里面把9006端口设置为允许
下面开始正式写代码!
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.