nginx

什么是nginx?

nginx是一个高性能的http和反向代理web服务器, 像我们前端包部署的话一般就用nginx进行反向代理(反向代理:我们发送请求到反向代理的服务器,然后由反向代理服务器去目标服务器请求资源再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器的地址,隐藏了真实服务器的IP地址)

nginx的优点

占有内存少,并发能力强,稳定性高,反向代理,负载均衡,当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要多台服务器集群可以使用nginx做反向代理。多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而导致某台服务器闲置的情况。(比如淘宝,微博)

关于nginx配置

大致模板

mian  #全局配置
events {    #工作模式配置
    ....
}
http {      #http设置
    .....
    server {     #服务器主机配置
        location / {
               ....
       },
       location /模块名称/ {
                ....
        }
    }
}

具体模块配置

main  #全局配置
   1:  user 用来指定nginx worker进程运行用户以及用户组,默认nobady账号运行
   2:  error_log  定义错误日志文件的位置和报错日志的级别
   3:  woker_processes  指定nginx要开启的子进程数量 
   4:  pid  用来指定进程id的存储文件的位置

event   #工作模式配置
   1:  worker_connections  指定最大可以同时接收的链接数量
   2:  multi_accept 配置指定nginx在收到一个新连接通知后尽可能多的接受更多的连接

http    #http设置(nginx的核心模块,需要根据硬件信息进行适当的配置)
   1:  include   mime.types 指定当前文件中包含另一个文件的指令
   2:  default_type  application/octet-stream   指定默认处理的文件类型可以是二进制
   3:  sendfile        on;  将文件的回写过程教给数据缓冲去完成,而不是放在应用中完成,对性能提升有好处
   4:  tcp_nopush  on; 让nginx在一个数据包中发送所有的头文件,而不是一个一个单独发
   5:  keepalive_timeout  65;   给客户端分配连接超时间,服务器会在这个时间过关闭连接
   6:  gzip  on;  告诉nginx采用gzip压缩的形式发送数据,减少发送的数据量
   7:  gzip_min_length;设置对数据启用压缩的最少字节数
       
server    #服务器主机配置(虚拟主机,反向代理)
   1:  server   80;  一个虚拟主机的配置,一个http中可以配置多个server;
   2:  server_name   用来指定ip的地址或者域名
   3:  charset:   用于设置路径中配置网页的默认编码格式
   4:  access_log   指定服务器中访问记录日志的地址
   5:  error_log    指定服务器中错误日志的地址

server -> location/    #前台包路由配置
   1:   location/:   匹配访问的根目录
   2:   root:  前台包的位置
   3:   index:    在不指定访问的具体资源时,默认展示的资源文件里诶包

server ->   location  ^~ /模块名称/    #反向代理
   1:    proxy_pass: 反向代理服务器的ip地址
   2:    proxy_redirect off;  重定向被代理服务器的地址
   3:    proxy_set_header (设置请求头传递给后端服务器)
   4:     proxy_read_timeout  设置等待后端应用服务器的时间
   5:    proxy_send_tiomout  设置发送请求超时时间

关于location 路径匹配
   =开头的是精准匹配  只匹配根目录结尾的请求,后面不能带任何字符串
   ^~开头表示url以某个字符串开头,非正则匹配
   ~ 区分大小写的正则匹配
   ~*不区分大小写的正则匹配
   /  通用匹配,如果没有其他匹配,任何请求都会被匹配到
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容