nginx常见知识点总结

1.nginx的反向代理
互联网中直接将服务器暴露在外面是很危险的,一旦被攻破后果不堪设想。代理服务器的出现,保护了真实的服务器,可以说特别重要了。nginx就是一个代理服务器。客户端发来http请求,先经过nginx的转发给后端服务器处理后,再将结果返回给客户端。此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

2.nginx还可以进行负载均衡
nginx可以向后端转发

3.nginx进行动态分离
静态文件可以有nginx处理,动态文件可以转发后端的php,java之类的服务器来处理

4.nginx的配置文件
配置文件分为全局块、events块、http块三大部分。

5.nginx的优点
1.高并发。静态小文件
2.占用资源少。2万并发、10个线程,内存消耗几百M。
3.功能种类比较多。web,cache,proxy。
4.支持epoll模型,使得nginx可以支持高并发。
5.nginx 配合动态服务,nginx——fastcgi 的方式运行PHP,jsp
6.利用nginx可以对IP限速,可以限制连接数。
7.配置简单,更灵活。

6.nginx的编译安装
./configure --prefix=/data/nginx-1.10.1 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module
测试配置文件的正确性:/webservers/nginx -t
启动nginx :/webservers/nginx
进程里查看nginx
ps -ef|grep nginx
查看编译参数:
/webservers/nginx -V
重新平滑启动nginx:/webservers/nginx -s reload

7.nginx配置文件
worker_processes 1; #进程数
events {
worker_connections 1024; #每个进程最大连接数
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server { #虚拟主机配置开始了,特备重要
listen 80; #监听端口
server_name localhost; #主机名称
location / {
root html; #设置根目录
index index.html index.htm; #设置首页文件
}
error_page 500 502 503 504 /50x.html; #错误页面显示
location = /50x.html {
root html;
}
}
}

8.nginx启动状态监控
location /status {
stub_status on; #表示开启stubStatus的工作状态统计功能。
access_log off; #access_log off; 关闭access_log 日志记录功能。
auth_basic “status”; #auth_basic 是nginx的一种认证机制。
auth_basic_user_file conf/htpasswd; #用来指定密码文件的位置。
}

9.nginx负载均衡配置
upstream jcy.com{
ip_hash;#保证一位用户固定访问一台主机
server 192.168.0.108:5000 fail_timeout=2s max_fails=1;#后端服务器的两台主机
server 192.168.0.106:5000 fail_timeout=2s max_fails=1;
}

server {
listen 80;
server_name 192.168.0.101;

location / {
	proxy_pass http://jcy.com;    #进行后端转发
	proxy_redirect default;
	proxy_connect_timeout 2s;
}

10.处理php请求的配置
server{
listen 80;
server_name www.jcy.com;
root /webservers/nginx/html; # 准备存放代码工程的路径
location / {
index index.php; #跳转到www.example.com/index.php
autoindex on;
}
#当请求网站下php文件的时候,反向代理到php-fpm
location ~ .php${
include /usr/local/etc/nginx/fastcgi.conf; #加载nginx的fastcgi模块
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000; #nginx fastcgi进程监听的IP地址和端口
}
}

11.nginx全局变量

a r g s : 这 个 变 量 等 于 请 求 行 中 的 参 数 , 同 args:这个变量等于请求行中的参数,同 argsquery_string。
i s a r g s : 如 果 已 经 设 置 is_args: 如果已经设置 isargs:args,则该变量的值为"?",否则为""。
c o n t e n t l e n g t h : 请 求 头 中 的 C o n t e n t − l e n g t h 字 段 。 • content_length: 请求头中的Content-length字段。 • contentlengthContentlengthcontent_type: 请求头中的Content-Type字段。
d o c u m e n t u r i : 与 document_uri: 与 documenturiuri相同。
d o c u m e n t r o o t : 当 前 请 求 在 r o o t 指 令 中 指 定 的 值 。 • document_root: 当前请求在root指令中指定的值。 • documentrootroothost: 请求主机头字段,否则为服务器名称。
h t t p u s e r a g e n t : 客 户 端 a g e n t 信 息 。 • http_user_agent: 客户端agent信息。 • httpuseragentagenthttp_cookie: 客户端cookie信息。
l i m i t r a t e : 这 个 变 量 可 以 限 制 连 接 速 率 。 • limit_rate: 这个变量可以限制连接速率。 • limitraterequest_method: 客户端请求的动作,通常为GET或POST。
r e m o t e a d d r : 客 户 端 的 I P 地 址 。 • remote_addr: 客户端的IP地址。 • remoteaddrIPremote_port: 客户端的端口。
r e m o t e u s e r : 已 经 经 过 A u t h B a s i c M o d u l e 验 证 的 用 户 名 。 • remote_user: 已经经过Auth Basic Module验证的用户名。 • remoteuserAuthBasicModulerequest_body_file`: 客户端请求主体的临时文件名。
r e q u e s t u r i : 请 求 的 U R I , 带 参 数 • request_uri: 请求的URI,带参数 • requesturi:URIrequest_filename: 当前请求的文件路径,由root或alias指令与URI请求生成。
s c h e m e : 所 用 的 协 议 , 比 如 h t t p 或 者 是 h t t p s , 比 如 r e w r i t e ( . + ) scheme: 所用的协议,比如http或者是https,比如rewrite ^(.+) schemehttphttpsrewrite(.+) $scheme://example.com 1 r e d i r e c t ; 。 • 1 redirect;。 • 1redirect;server_protocol: 请求使用的协议,通常是HTTP/1.0或HTTP/1.1。
s e r v e r a d d r : 服 务 器 地 址 , 在 完 成 一 次 系 统 调 用 后 可 以 确 定 这 个 值 。 • server_addr: 服务器地址,在完成一次系统调用后可以确定这个值。 • serveraddrserver_name: 服务器名称。
s e r v e r p o r t : 请 求 到 达 服 务 器 的 端 口 号 。 • server_port: 请求到达服务器的端口号。 • serverportrequest_uri: 包含请求参数的原始URI,不包含主机名,如:/foo/bar.php?arg=baz,它无法修改。
u r i : 不 带 请 求 参 数 的 当 前 U R I , uri: 不带请求参数的当前URI, uriURIuri不包含主机名,如/foo/bar.html可能和最初的值有不同,比如经过重定向之类的。它可以通过内部重定向,或者使用index指令进行修改。不包括协议和主机名,例如/foo/bar.html。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值