云盘项目——Nginx、Http协议、FastCGI

在学习云盘项目总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

12-云盘项目- 03天  Nginx、Http协议、FastCGI

目录:
一、学习目标
二、复习
二、Nginx、Http协议、FastCGI
1、为什么要使用cgi
2、http协议回顾
3、cgi和fastCGI的工作模式
4、fastCGI介绍
5、fastCGI和spawn-fcgi的安装
6、spawn-fcgi是如何工作的
7、nginx配置fastcgi
8、nginx和fastCGI - spawn-fcgi协工作演示
9、通过部署web界面实现文件的上传操作步骤
10、文件上传流程演示
11、post提交数据的四种方式
12、nginx和fastcgi的部署总结

 

一、学习目标

FastCGI、spawn-fcgi、部署web页面实现文件上传操作

 

二、复习

nginx知识点回顾

 

二、Nginx、Http协议、FastCGI

1、为什么要使用cgi

 

2、http协议回顾

》http的get和post请求

    

GET中:/test为指令,和后边的数据通过?间隔。

GET的数据块没有内容,POST的数据块有内容。

测试:

(1)在QT运行http项目,弹出“Http协议”对话框,然后选择IP,输入端口;点击“启动服务器”;

(2)修改 “表单.html”中<form method="post" action="http://192.168.82.32/test">,保存;

(3)在浏览器中打开“表单.html”,在对话框随便输入内容后,点击提交后,在QT“Http协议”对话框可以看到下图数据:

 

3、cgi和fastCGI的工作模式

 

4、fastCGI介绍

   

 

5、fastCGI和spawn-fcgi的安装

文件准备:fcgi-2.4.1-SNAP-0910052249.tar.gz、spawn-fcgi-1.6.4.tar.gz

(1)上传至Linux后,解压缩(tar zxvf fcgi-2.4.1-SNAP-0910052249.tar.gz)后,切换到目录(fcgi-2.4.1-SNAP-0910052249)下,执行>./configure

会生成Makefile,>make 后报错

分析:c++编译需要用到EOF,而EOF由于版本升级的原因,更放在stdio.h中,所以需要在fcgio.cpp/fcgio.h中增加头文件#include <stdio.h>

如何在众多目录中找到fcgio.cpp/fcgio.h呢?(>find ./ -name "fcgio.cpp")

在fcgio.cpp中增加头文件#include <stdio.h>

保存退出后,在执行>make 后,然后安装 >sudo make install

(2)解压缩(tar zxvf spawn-fcgi-1.6.4.tar.gz)后,切换到目录(spawn-fcgi-1.6.4)下执行>./configure;会生成Makefile,在执行>make 后,然后安装 >sudo make install

 

6、spawn-fcgi是如何工作的

 

7、nginx配置fastcgi

练习:

配置—nginx.conf

说明fastcgi.conf和nginx.conf在同一级目录下;fastcgi.conf 存放是环境变量:

 

8、nginx和fastCGI - spawn-fcgi协工作演示

(1)编写1个fcgi程序:

将fcgi-2.4.1-SNAP-0910052249目录下的 echo.c 拷贝至家目录:

分析echo.c


补充:打开另一终端,搜索>grep "environ" /usr/include/unistd.h -r -n


 

(2)编译出来的程序名 a.out

编译 >gcc echo.c -lfcgi

(3)spawn-fcgi -a IP -p 端口 -f fastcgi程序

>spawn-fcgi -a 127.0.0.1 -p 9001 -f ./a.out

注意:这里的IP和端口要和上面配置—nginx.conf中写的对应!!!


如果执行不成功?>ldd a.out

然后打开>vi /etc/ld.so.conf,增加:

再执行>sudo ldconfig,>ldd a.out 就可以看到动态库后边有对应的路径了。


(4)在Linux下启动Nginx:>sudo nginx

(5)点击“表单.html”通过浏览器打开网页:

随便输入数据,点击“提交”,会跳转:

分析页面数据,看程序echo.c的main可知,执行getenv(只有post请求,环境变量才有数据!)没有数据,然后输出:No data from standard inpurt,然后main程序结尾的printEnv打印了环境变量(fastcgi.conf 存放是环境变量)

(6)对比测试——get与post

1)更改“表单.html”中提交方法为post,保存退出

2)点击“表单.html”通过浏览器打开网页,随便输入数据,点击“提交”,会跳转(可以看到地址栏中没有数据项,而且页面内容增加了请求长度、进程ID,和数据块,而且QUERY_STRING没有了数据,CONTENT_TYPE增加了值,CONTENT_LENGTH增加了值……)

 

9、通过部署web界面实现文件的上传操作步骤

文件准备zyfile2.tar.gz,解压缩

 

10、文件上传流程演示

 

 

 

11、post提交数据的四种方式

 

12、nginx和fastcgi的部署总结

 

 

在学习云盘项目总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于搭建入门级免费私有云盘NAS,基于Syncthing的扩展篇,我可以为你提供一些指导。 首先,你需要确保已经完成了基础篇的搭建,也就是成功安装和配置了Syncthing。接下来,我们可以开始扩展功能。 1. 安装额外的设备:将更多的设备添加到你的私有云盘中。这可以是其他计算机、手机或平板电脑。你只需在每个设备上安装Syncthing,并使用相同的设备ID和共享文件夹配置进行连接。 2. 设置文件版本控制:Syncthing支持文件版本控制,可以方便地恢复之前的文件版本。要启用该功能,你需要在Syncthing的配置文件中添加以下行: ``` <versioning> <type>internal</type> <params> <keep>5</keep> </params> </versioning> ``` 这将使Syncthing保留最近的5个版本。你可以根据需要调整此数字。 3. 添加其他共享文件夹:除了默认的共享文件夹外,你还可以添加其他文件夹进行共享。在Syncthing界面中,点击“添加设备”按钮,然后选择要共享的文件夹。配置共享文件夹的名称和路径后,将其添加到需要访问该文件夹的设备上。 4. 配置高级选项:Syncthing还提供了许多高级选项,例如文件忽略模式、文件冲突解决方案等。你可以在Syncthing的配置文件中进行相应的设置。详细的配置选项可以在Syncthing的官方文档中找到。 这些是扩展你的私有云盘NAS的一些基本步骤。希望对你有所帮助!如果你有进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值