整合:(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
进入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
然后打开main.cpp修改对应配置
编译Tinywebserver(编译运行)
cd Tinywebserver
sh ./build.sh
在make server中遇到问题:
解决方法: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(打开的端口号)
注意要用冒号+端口号