C++ TinyWebserver 部署到Linux下,并运行(Vmware的虚拟机Ubuntu20.04)

整合:(2条消息) c++ 经典服务器开源项目 Tinywebserver的使用与配置(百度智能云服务器安装ubuntu18.04可用公网ip访问)_yingLGG的博客-CSDN博客

(2条消息) Mysql初始化mysql_secure_installation_多敗筆的博客-CSDN博客

C++ TinyWebserver 部署到Linux下,并运行(使用的是Vmware的虚拟机运行Ubuntu20.04) - star_fish - 博客园 (cnblogs.com)

1. Tinyweb server项目地址:https://github.com/qinguoyi/TinyWebServer

需要用到sudo apt-get install git   g++环境用来编译:sudo apt-get install build-essential

2. 首先进行mysql的安装:

sudo apt-get install mysql-server

进行初始化配置

sudo mysql_secure_installation

配置项较多,全翻译成中文

保护MySQL服务器部署。
使用空白密码连接到MySQL。
验证密码组件可用于测试密码
提高安全性。密码强度检查
只允许用户设置
足够安全。是否要设置验证密码组件?
按y | y表示是,按任何其他键输入No:y

密码验证策略有三个级别:
低长度>=8
中等长度>=8,数字、混合大小写和特殊字符
强长度>=8,数字,混合大小写,特殊字符和字典文件
请输入0=低,1=中,2=强:0

请在此处设置root用户的密码。
新密码:youpasswd
重新输入新密码:youpasswd

密码估计强度:50
您想用提供的密码继续吗?(按y | y表示是,按任何其他键表示否):y

默认情况下,MySQL安装有一个匿名用户,
允许任何人登录MySQL而不必
为他们创建的用户帐户。这只是为了
测试,并使安装变得更加顺利。
您应该在进入生产之前删除它们
环境。
删除匿名用户?(按y | y表示是,按任何其他键表示否):y

成功。

通常,只允许根用户从
“本地主机”。这确保了有人不能猜到
来自网络的根密码。
不允许远程根用户登录?(按y | y表示是,按任何其他键表示否):y

成功。

默认情况下,MySQL附带一个名为“test”的数据库
任何人都可以访问。这也仅用于测试,
在投入生产前应将其移除
环境。
删除测试数据库并访问它?(按y | y表示是,按任何其他键表示否):y

-正在删除测试数据库。。。
成功。

-正在删除对测试数据库的权限。。。
成功。

重新加载特权表将确保所有更改
到目前为止,将立即生效。
现在重新加载特权表?(按y | y表示是,按任何其他键表示否):y

成功。

全部完成!

3. 检查mysql状态

systemctl status mysql.service

C++ TinyWebserver 部署到Linux下,并运行(Vmware的虚拟机Ubuntu20.04)_第1张图片

进入mysql

sudo mysql -u root -p

根据 Tinyweb server 中readme操作mysql,这里其实就是写sql语句了
分别包括创建数据库 yourdb,use相当于进入这个数据库,创建user表

	create database yourdb;
	USE yourdb;
    CREATE TABLE user(
        username char(50) NULL,
        passwd char(50) NULL
    )ENGINE=InnoDB;
    INSERT INTO user(username, passwd) VALUES('name', 'passwd');

编译Tinywebserver,首先需要确认main.cpp里的数据库和你mysql数据库配置相同。
查看数据库名称和密码

	cd /etc/mysql
	sudo gedit debian.cnf

C++ TinyWebserver 部署到Linux下,并运行(Vmware的虚拟机Ubuntu20.04)_第2张图片

然后打开main.cpp修改对应配置

C++ TinyWebserver 部署到Linux下,并运行(Vmware的虚拟机Ubuntu20.04)_第3张图片

  编译Tinywebserver(编译运行)

cd Tinywebserver
sh ./build.sh

在make server中遇到问题: 

C++ TinyWebserver 部署到Linux下,并运行(Vmware的虚拟机Ubuntu20.04)_第4张图片

解决方法:Tinyweb server中issue有解决方法: 

(make时出现mysql.h找不到的报错,mysql.h:没有那个文件或目录编译中断。

解决方案:缺少libmysqlclient-dev
ubuntu:sudo apt-get install libmysqlclient-dev
centos: yum install mysql-devel)

(2)make server

(3)./server 

(4)至此就已经运行了服务器了,在Ubuntu内部访问:

首先查询Ubuntu的ip地址(ifconfig查看),然后使用浏览器:输入ip(查到的ip地址):9006(打开的端口号)

注意要用冒号+端口号

你可能感兴趣的:(linux,ubuntu,服务器)