分布式文件系统(三)

Ngix

1、作用:

作为web服务器:解析HTTP协议

反向代理服务器:反向代理

邮件服务器:解析邮件相关协议

更快、高扩展(低耦合)、高可靠、、低内存消耗、热部署、最自由的BSD许可协议

2、正向代理和反向代理

正向代理:学校的局域网、VPN(为用户服务)

反向代理:(为服务器服务)

  1. 客户端给服务器发送请求,连接服务器,用户不知道服务器地址,只有反向代理服务器地址是公开的
  2. 请求发给反向代理服务器
  3. 反向代理服务器将请求转发给后边的WEB服务器:N台,反向代理器会转发请求轮询进行
  4. WEB服务器会受到请求处理,得到结果
  5. WEB服务器将处理结果发送反向代理服务器
  6. 反向代理服务器将结果转发给客户端

3、域名、IP地址:域名绑定IP:一个域名只能绑定一个IP,一个IP能被多个域名

4、DNS解析

5、URL和URI:URL是URI的一种

6、ngix配置文件

7、ngix使用

1、部署静态网页

web服务器
# 部署静态网页
1. 制作出来, 并且部署到对应的资源目录中
2. 根据客户端的请求, 在服务器端添加对应的 location处理指令 - nginx.conf
3. 重新加载nginx.conf配置文件
客户端请求的url: http://xxxx.com/hello/login.html
- 去掉协议: http
- 去掉域名/IP:
- 去掉端口
- 去掉尾部的文件名

反向代理服务器

1. 找到反向代理服务器 的配置文件: nginx.conf
2. 找模块 http -> server
server{
listen: 80; # 客户端访问反向代理服务器的时候使用的端口
server_name: localhost; # 域名, 客户端访问反向代理服务器时候, 使用的地址
# 配置如何转发, 根据客户端的请求的url找到对应的转发指令
location /
{
# 设置转发地址
proxy_pass http://test.com;
}
location /login
{
# 设置转发地址
proxy_pass http://test.com;
}
}
# 设置代理
upstream test.com
{
# web服务器的地址信息
server 192.168.1.100:80;
server 192.168.1.101:80;
}
# 192.168.1.100 web服务器
http->server
server{
location /
{

        root xxx;
}

http协议复习
请求消息:(客户端)浏览器发给服务器的东西
四部分: 请求行, 请求头, 空行, 请求数据
请求行: 说明请求类型, 要访问的资源, 以及使用的http版本
请求头: 说明服务器要使用的附加信息
空行: 空行是必须要有的, 即使没有请求数据
请求数据: 也叫主体, 可以添加任意的其他数据
get:
第一行: 请求行(包含请求数据)
第2-9行: 请求头(键值对)
第10行: 空行
get方式提交数据, 没有第四部分, 提交的数据在请求行的第二部分, 提交的数据会全部显示在地址栏
中

post
第一行: 请求行
第2 -12行: 请求头 (键值对)
第13行: 空行
第14行: 提交的数据

提交数据最好用post

响应消息:服务器发给客户端的数据
四部分: 状态行, 消息报头, 空行, 响应正文
状态行: 包括http协议版本号, 状态码, 状态信息
消息报头: 说明客户端要使用的一些附加信息
空行: 空行是必须要有的
响应正文: 服务器返回给客户端的文本信息

第一行:状态行
第2 -11行: 响应头(消息报头)
第12行: 空行
第13-18行: 服务器给客户端回复的数据

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作

fastCGI

通用网关接口(Common Gateway Interface/CGI)描述了客户端和服务器程序之间传输数据的一种标准,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI 独立于任何语言的,CGI 程序可以用任何脚本语言或者是完全独立编程语言实现,只要这个语言可以在这个系统上运行。

 

快速通用网关接口(Fast Common Gateway Interface/FastCGI)是通用网关接口(CGI)的改进,描述了客户端和服务器程序之间传输数据的一种标准。FastCGI致力于减少Web服务器与CGI 程式之间互动的开销,从而使服务器可以同时处理更多的Web请求。与为每个请求创建一个新的进程不同,FastCGI使用持续的进程来处理一连串的请求。这些进程由FastCGI进程管理器管理,而不是web服务器。 

spawn-fcgi启动:

        span-fcgi -a IP地址 -p  端口 -f fastcgi可执行程序

        ip和端口应该和ngix的fastcgi-pass配置项相同

        - nginx: localhost -> IP: 127.0.0.1
        - nginx: 127.0.0.1 -> IP: 127.0.0.1
        - nginx: 192.168.1.100 -> IP: 192.168.1.100

fastcgi程序怎么写:

fastcgi已经把标准输入和标准输出重定向到了通信的套接字fd中,所以读写数据读写终端就行,这个描述符对用户不可见

// http://localhost/login?user=zhang3&passwd=123456&age=12&sex=man
// 要包含的头文件
#include "fcgi_config.h" // 可选
#include "fcgi_stdio.h" // 必须的, 编译的时候找不到这个头文件, find->path , gcc -I

ldd app//可以看到程序有没有连接到库,如果库确实,就find库的路径加到 /etc/ld.so.conf 最后执行ldconfig

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值