分布式云盘
基于nginx作为反向代理和轻量级web服务器,fastcgi作为中间过渡,后台使用c/c++语言,分布式解决方案用fastdfs,配合内存数据库redis和关系型数据库mysql来实现表单存储的一个云盘项目
汝之宿命
这个作者很懒,什么都没留下…
展开
-
小工具:linux下生成指定大小的文件 dd
接触是在测试fdfs时候,发现upload里面的固定几个测试文件没有,结果open失败了,所以需要字节先创建,就接触到了dd1 要求:生成一个5k大小的文件命令::dd if=/dev/zero of=text bs=5k count=1参数说明:if= 指定输入文件,若不指定则从标准输入读取。这里指定为/dev/zero是Linux的一个伪文件,它可以产生连续不断的null流(二进制的0)of= 生成的新文件名字bs= 生成的文件大小(k,m,G都可以作为单位)count= 表明分几次原创 2020-08-05 18:06:05 · 437 阅读 · 0 评论 -
工具Navicat出现错误2013
这个错误是因为再填写信息的时候,常规的地方应该填的是127.0.0.1 的地址,用户名是你MySQL服务器的,和密码。ssh去连接的地方才是填的你的远程服务器的ip,密码是你linux的登陆密码。原创 2020-08-02 13:08:18 · 5161 阅读 · 0 评论 -
关于spawn-fcgi的坑
首先,之前的时候项目运行过程中,发现对于upload的cgi执行情况是:能够成功启动,但是对于返回的情况是错误的,发现是函数调用有问题:函数调用错误然后去看了spawn-fcgi的源码,很短600多行,然后理解了一下工作原理。首先他的主要原理就是:创建一个socket然后bind端口和开始监听等待(nginx来自于客户端的请求,在nginx.conf配置文件中配置好了的)然后开始创建fork一个子进程,然后将子进程的标准输入重定向到了监听的端口。然后父进程关闭。如此方式,就能首先通过子进程..原创 2020-06-08 20:52:53 · 681 阅读 · 0 评论 -
5.22记录cloud disk的错误
翻译过来就是代理过快终止,在读取响应内容的时候。云盘的方式是:客户端上传文件然后服务端首先是建立连接,然后通过fastcgi实现对于上传操作的处理,处理之后将respon消息发送回客户端。本来是在cgi中将print重定向到客户端的,但是此时错误:upload cgi程序都在返回响应的时候关闭了。...原创 2020-05-22 17:30:54 · 619 阅读 · 0 评论 -
问题:上传成功后,出现的文字不对
在c端上传成功后,显示:这是返回的部分有问题,看一下upload.cgi里面的方式。原创 2020-05-20 15:36:52 · 192 阅读 · 0 评论 -
问题:启动cgi程序时候缺少libmysqlclient.so.20
缺少这个动态库,启动不起来这个cgi程序,搞了一天终于好了。完美!下载资源链接:原创 2020-05-20 11:22:11 · 472 阅读 · 1 评论 -
4.CGI与fastcgi(spawn—fcgi)
首先,cgi是处理web服务器的动态请求的一种方式,通过fork一个进程来处理一个请求。但是效率是很低下的,频繁的创建和销毁线程。所以通过一个中间层 fastcgi 来进行对cgi程序的管理: 这种方式的话就是通过 fastcgi 来对于cgi进程管理,使得一个cgi程序就能主管一个功能模块!web服务器启动的时候启动fastcgi进程管理器, 然后该管理器启动多个cgi 解释器(就是执行功能块),如此,当从客户端来了请求,并且来到了fastcgi,通过该进程管理器去连接一个cgi解释器,然后执行原创 2020-05-18 21:00:39 · 432 阅读 · 0 评论 -
03.3nginx的使用
启动的可执行文件在usr/bin/nginx停止:nginx -s stop暴力马上终止服务器nginx -s quit非暴力退出(等待当前操作结束后退出)重新加载:nginx -s reload在nginx.conf中 去配置模块location /auth{ root html; index auth.html; }是将HTML文件放在html目录中,而这个就是 /usr/local/nginx 来找对应的index文件的。3.main 代表整个配置文件 ht原创 2020-05-18 10:17:40 · 140 阅读 · 0 评论 -
03.2win下启动nginx作为反向代理模块
将win下的nginx作为反向代理服务器(没有服务器的苦.注意在启动时候,他的所在路径不能有中文字符~否则报错修改部分upstream xxx.test{server 被代理的服务器ip:port; }server{ listen 80; server_name lxz.com;location / {proxy_pass http://xxx.test;#nginx内置的...原创 2020-05-01 21:39:41 · 148 阅读 · 0 评论 -
03.1fastDFS的nginx模块
一,在分布式文件系统中安装nginx服务器来提供关于上传和下载的服务,可以更加的方便.安装在fastDFS中的storage中, 这样浏览器就可以通过tracker 获知要下载的文件的地址,然后直接来链接这个storage所在的服务器,不用通过接受链接的web服务器来转发.如: 浏览器直接输入,http://192.168.31.109/group1/M00/00/00/wKgCbFem0l2...原创 2020-05-01 19:08:38 · 145 阅读 · 0 评论 -
02.3数据库的使用与nginx的配置
内存数据库和持久性数据库的交互:首先先看缓存中有没有数据,有的话在缓存取,没有的话再从持久性数据库取,取到缓存中后,再从缓存取。 【附带压缩指令】 tar 参数解析:解压:-z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。-x 从档案文件中释放文件。-v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。-...原创 2020-05-01 14:12:51 · 991 阅读 · 0 评论 -
02.2数据库mysql
持久化数据库:MYSQL搭建数据库:指令在线安装命令:sudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev查看结果:netstat -tap | grep mysql 如果处于监听状态。就ok2,开关数据库(看当前用户选择s...原创 2020-04-30 17:49:00 · 121 阅读 · 0 评论 -
02.1数据库redis的使用
一,字符串set key value 设置key对应的值为string类型的valueget key 获取key对应的value值,如果key不存在返回nilKEYS pattern 查找所有符合给定模式pattern(正则表达式)的 keyEXISTS key 返回key是否存在,如果存在返回1,不存在返回0DEL key 删除一个key值TYPE key 返...原创 2020-04-29 21:23:59 · 143 阅读 · 0 评论 -
02. 数据库的选择
1. 缓存数据库为了应对访问次数多的数据如果从磁盘数据库存取的话消耗时间长的状况,采用更快的缓存数据库。redis是我的选择,因为他是一个开源的非关系型数据库,将大部分数据存储在内存中,并且 redis基于内存操作,读写速度很快,100000读写/秒,可以作为内存型缓存服务器,提供持久化存储方案(通过aof的always配置)...原创 2020-04-29 17:42:24 · 416 阅读 · 0 评论 -
1.基础组件的安装
安装FastDFS前,需要安装libfastcommon,安装动态库。下载源码包之后需要进入目录中,如果有readme就看看里面流程。有configure就运行它,或者先 ./make.sh ,然后再sudo ./make.sh install可执行程序默认会安装到/usr/bin中安装成功后,自动在/etc/fdfs中添加三个配置文件:client.conf.samplestorage...原创 2020-04-29 15:12:27 · 184 阅读 · 0 评论