许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  ngnx高级知识详解

ngnx高级知识详解

阅读数 5
点赞 0
article_banner

在centos上安装 jdk  ,yum -y list jdk 查看一下,之后yum -y install 查看有的,右击, java -sersion查看安装后的版本

安装tomcat 先用 yum search tomcat 查询那些可以安装

动静分离静态资源最好放放在一个目录下,如果不大放在程序目录下
 

通过匹配可以找出哪些是动态访问和静态访问,以jsp,php等结尾的一般为动态资源

nginx 深度学习

动静分离

通过中间件把动态请求和静态请求分离,减少不必要的请求消耗,有些请求页面不需要计算的

对于客户端可以减少请求延时

这样的请求消耗很大

Nginx的rewrite规则

实现url重写及重定向

使用场景:

1.url访问跳转,支持开发设计(页面跳转,兼容性开发,展示效果)

2.seo优化

3.维护,后台维护,流量转发

3.安全

语法:rewrite regex//正则表达式 peplacement[flag]//替换的东西 flag是标识

context: server  ,location,if

例:rewrite ^(.*)$/pages/maintain.html break

$表示结尾打错了

不是去匹配


flag

浏览器会永远记住永久性

last还会重定向一次,break立马结束


!-f $request_filename//表示是否有这个页面路径

Rewrite规则优先级 显示server 在HTTP,最后location

nginx高级模块


介绍一些理解难度较高的Nginx模块

secure_link_module模块

1.远远高级于前面学习的防盗链,客户访问

一。定制并应许检查请求的链接的真实性以及保护资源未经授权访问

二限制链接生效周期

配置语法,secure_link expression//表达式;secure_link_md5 expression;

例:

客户端进行加密,跟请求过来的匹配,如果相同就没问题,imooc代表家没问,只有在服务端是明文状态

geoip_module模块

基于 ip  地址匹配MaxMind GeoIP二进制文件,读取ip所在的地域信息

yum install naginx-module- geoip 快速下载安装(区分国内国外),也可以基于国内城市地域做http规则

会安装在/etc/nginx/modules/

因为geoip是基于maxmind里数据表格文件定义的,所以需要下载maxmind文件

一个国家一个城市,解压

在conf文件中用来读取那两个文件

remote_addr表示访问的信息,这样就会吐出该ip的信息country国家

HTTPS服务

http:数据不安全,没有加密,容易被盗用,数据内容劫持串改

对称加密:发送方加密,接收方解密, 密钥  是一样的

非对称加密:发送方加密,接收方解密,密钥不是一样的,公钥,和私钥

https加密原理

生成密钥和CA签名证书

查看自己的服务器有没有OpenSSL

用openssl version查看

在Nginx上用nginx -V查看有没有with-http-ssl-module这个模块

首先用openssl生成秘钥,通过秘钥生成ca证书的签名文件csr文件,之后把秘钥和csl文件一并打包发送给对应的签名机构利用你公司的域名,相关机构等信息进行ca证书签名,得到ca签名证书

步骤一:生成key秘钥

步骤二:生成证书签名请求文件(csr文件)

步骤三,生成证书签名文件(CA文件)

openssl genrsa -idea//对称加密算法 -out//key文件  jesonc.key 1024 // 加密位数,回车后输入密码,一定要记住

生成一个文件步骤一完成

步骤二openssl req -new -key jesonc.key -out jesonc.csr//把步骤一生成的key文件out成一个csr文件(请求文件),需要输入刚刚密码,填写相关信息。步骤二完成。


注意证书过期时间,-days//默认一个月,肯定不行3650十年 -in加入,out成一个crt文件输入密码生成ca签证

有了签名文件就可以来配置https服务了

ssl 表示是否开启ssl服务请求响应

ssl的签名文件,ssl的签名密码文件,有了这三个就可以搭建了

监听是443

直接生成crt签名证书,不用生成csr文件

-sha256 表示自签要求的算法  -newkeyrsa:2048 表示位数                    //上面的要输入密码,这个不用因为这个价了keyout会生成一个新的key文件和crt文件

这个可以通过拷贝的方式去掉保护码

https服务优化

因为它是在http之前建立ssl握手,论证就多出了一个连接,论证就会会消耗服务端cpu资源和io资源的 ,性能没有http高。

方法一,激活keepalive长连接,能处理更多请求,减少请求

方法二。设置ssl session  缓存

在server中设置keepalive_timeout   更长 和  ssl_session_cache 共享缓存更大些

Nginx与lua开发

在企业在代码迭代升级的时候往往需要让客户感知,让错误减少,就需要结合lua实现代码灰色发布

Nginx+Lua优势

充分的结合Nginx的并发处理epoll优势和lua的轻量实现简单的功能高并发场景  epoll是处理大批量文件 socket槽

Nginx内核是epoll模型,非阻塞io的方式,快速争强访问并发

安装lua

yum install lua

敲lua就能进入解释器环境,可以print(。。。)输出

或者也可以用脚本文件书写,chmod a+rx ./test.lua给与对于可执行的环境,执行的权限,之后执行./test.lua就好了

注释:--行注释,--[[...]]块注释

变量写法很多种 直接赋值。。。

布尔只有nil和false 数字0,空字符全是true

没有特殊说明全是全局变量,前面加log就是局部变量

~=  表示不等于

io.read表示从终端读取客户输入的数据,字符串拼接“..”,

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空