计划开一个新坑, 主要是复现qinguoyi/TinyWebServer项目,并且使用其它模块提升性能。
本文开发服务器配置:腾讯云轻量级服务器,CPU - 2核 内存 - 2GB,操作系统 Ubuntu Server 18.04.1 LTS 64bit
打开端口
需要打开服务器3306、8000-10000端口!
安装MySQL
下载MySQL
sudo apt install mysql-server
确定MySQL已成功下载
查看用户名和密码
sudo cat /etc/mysql/debian.cnf
在这里,我的用户名是 debian-sys-main,密码是 uUakoE1X8Ei6TqLJ
登录MySQL
mysql -u debian-sys-maint -p
如果每次都需要输入用户名和密码,比较麻烦(我的MySQL版本为5.7.35)
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
刷新权限
FLUSH PRIVILEGES;
创建数据库
查看当前数据库
show databases;
建立一个数据库,在这里我建立了一个名为serverdb的数据库
create database serverdb;
切换为该数据库
use serverdb;
创建user表
CREATE TABLE user(
username char(50) NULL,
passwd char(50) NULL
)ENGINE=InnoDB;
添加数据,这里插入一个用户名为ggbond、密码为123456的数据
INSERT INTO user(username, passwd) VALUES('ggbond', '123456');
下载、修改、编译代码
为了简单起见,本文使用TinyWebServer- raw_version版本
git clone git@github.com:qinguoyi/TinyWebServer.git
修改main.c中的数据库初始化信息
// root 123456修改为你的服务器数据库的登录名和密码
// serverdb修改为你创建的库名
connPool->init("localhost", "root", "123456", "serverdb", 3306, 8);
修改http_conn.cpp中的root路径
// 修改为root文件夹所在路径
const char *doc_root = "/home/TinyWebServer-raw_version/root";
编译代码,其中 10000 是 端口号
./server 10000
make时出现mysql.h找不到的报错,mysql.h:没有那个文件或目录编译中断。
解决方案:缺少libmysqlclient-dev
ubuntu:sudo apt-get install libmysqlclient-dev
centos: yum install mysql-devel
登录网站
http://192.128.121.236:10000
成功跑通项目!
总结
通过项⽬作者的指示,我们终于把项⽬跑起来了,然后就可以对作者的项⽬进⾏功能测试了。