微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx 入门

首先了解一下两个概念:正向代理、反向代理

正向代理:你的电脑访问的时候,你要去哪台服务器,FQ的时候,vpn(就是正向代理的过程)去告诉你应该访问那台服务器。

反向代理:你访问到服务器之后,这个服务器再分发,分发到不同的服务器或者端口,这个就是反向代理

Nginx 现在用的最多的就是反向代理。

Nginx 是什么?

ngnix  就是处于缓存、负载均衡、代理的中间服务。可以做静态服务器,也可以做代理分发功能

附上一张apache和ngnix对比图:

看起来Nginx更好。所以很多会选择Nginx

使用Nginx,其实Nginx就是个配置生成服务器的,Nginx就是个静态语音,是一个包,通过编译,编译完生成一个应用程序,就可以跑起来啦,

Nginx版本在<=1.9.11的时候,·完全是一个静态语言,每改一些东西的时候,就需要重新编译,重新运行,担当>1.9.11就可以动态加载,如果你有新模块,就不需要重新编译,直接通过语法,新增一些包。

功能:线程池(预先生成线程池来处理任务),Nginx模块丰富可以支持http2(通过配置文件)等。

Nginx的生态系统:

附图:

推荐使用tengine,很快

 

Nginx入门:

linux环境下编译命令:

 

make命令就是编译;

make install 安装;

Nginx启动之后,可以使用的以下命令控制:

Nginx -S

-s 意思是向主进程发送信号,signal可以为以下四个钟的一个

stop:快速关闭

quit::优雅关闭

reload:重新加载配置文件

reopen:重新打开日志文件

Nginx  及其模块的工作方式由配置文件决定。认情况下,配置文件名为Nginx.conf,放在/usr/local/Nginx/conf、/etc/Nginx或者/usr/local/etc/Nginx文件夹中。

常规站点配置:

Nginx配置文件

注释:

注释以#开头

指令:

eg:

worker_processes    1; 指令名  指令值

还可以是指令块:以"{"和"}"组成的区块,

eg:

http{
    server{
    }
}

组织和包含:

include  file|mask

eg:

include  mime.types

Nginx内置很多变量,可以去Nginx官网搜索,不需要特意记。

Nginx命令:

daemon on|off   //启用或者禁用守护进程模式

error_log  file|stderr 等等   //配置错误日志位置及级别   很有用的,可以多了解一下。

user  user [group]  //设置运行ngnix进程的用户和组,如果不指定组,则其与user同名

log_not_found    on|off   //开启或者禁用404记录

worker_processes  number|auto  //定义worker进程的数量

worker_connections   number  //定义一个worker进程的最大连接数

区块结构:

http:为HTTP服务器提供配置上下文

server:表示开始设置的虚拟主机的配置

location:为某个请求URL(路径)建立配置

server 命令:

listen 设置web服务监听套接字的IP地址或者端口号

listen  address[:port] [other]

server_name  name  ...  //设置虚拟机的名称

location  为某个请求URI建立配置

location [ = | ~ | ~* | ^~ ]  url { ... }

location  @name { ... }

=修饰符  url定位必须与指定的模式精准匹配(不能使用正则表达式)  相当于写死了

无修饰符:uri必须以指定模式开始,不可以使用正则表达式

~修饰符:客户端请求的url与指定的正则表达式匹配必须区分大小写

 

~*修饰符:客户端请求的url与指定的正则表达式匹配,不区分大小写

^~修饰符:如果最大的前缀匹配的路径以^~开始,那么Nginx不再校验检查正则表达式

@修饰符:定义命名location区段,这些区段客户端不能访问,只能又内部产生的请求访问

优先级:修饰符的优先级

eg:

 

学完以上命令看一下一个测试例子

 

Nginx模块部分:

 

rewtite模块 :

 

 

index模块 :

 

 

Upstream模块 :

 

 

Proxy模块 :

 

 

Rwallp模块 :

 

 

Gzip模块 :

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐