概述
Nginx 和 OpenResty
何大炮关注
0.0972018.09.11 21:15:08字数 889阅读 9,046
Nginx
Nginx 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。
1、处理响应请求很快
2、高并发连接
3、低的内存消耗
4、具有很高的可靠性:
5、高扩展性
6、热部署
master 管理进程与 worker 工作进程的分离设计,使得 Nginx 具有热部署的功能,可以在 7 × 24 小时不间断服务的前提下,升级 Nginx 的可执行文件。也可以在不停止服务的情况下修改配置文件,更换日志文件等功能。
7、自由的 BSD 许可协议
Nginx 日志主要有两种:access_log(访问日志) 和 error_log(错误日志)。
Nginx的location参数有具体的匹配规则:
- 首先精确匹配 =
- 其次前缀匹配 ^~
- 其次是按文件中顺序的正则匹配
- 然后匹配不带任何修饰的前缀匹配。
- 最后是交给 / 通用匹配
- 当有匹配成功时候,停止匹配,按当前匹配规则处理请求
Nginx 静态文件服务:最重要的就是缓存,利用好了Nginx的缓存,我们就可以提高响应速度,同时在服务器宕机的时候返回缓存中的旧文件而不是500。
正向代理:客户端用到的代理服务器就是正向代理。
反向代理:隔绝服务器和所有客户端,接受所有客户端请求,转发给相应的内部服务器。Nginx就是一个典型的反向代理。
负载均衡:利用多台服务器提供单一服务。提高了服务器的处理能力,同时,当有服务器宕机的时候,可以提供备用服务器,起到很好的容错作用。
负载均衡常用算法: 轮询(默认);ip_hash(共享session);fair(响应时间快就分配);url_hash;least_conn(最少连接负载均衡);hash。
陷阱和常见错误
OpenResty
OpenResty(也称为 ngx_openresty)是一个全功能的 Web 应用服务器。它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。
通过揉和众多设计良好的 Nginx 模块,OpenResty 有效地把 Nginx 服务器转变为一个强大的 Web 应用服务器,开发人员可以使用 Lua 编程语言对 Nginx 核心以及现有的各种 Nginx C 模块进行脚本编程。
OpenResty 充分利用 Nginx 的事件模型来进行非阻塞 I/O 通信。不仅仅是和 HTTP 客户端间的网络通信是非阻塞的,与MySQL、PostgreSQL、Memcached 以及 Redis 等众多远方后端之间的网络通信也是非阻塞的。
ngx_openresty 目前有两大应用目标:
- 通用目的的 web 应用服务器。在这个目标下,现有的 web 应用技术都可以算是和 OpenResty 或多或少有些类似,比如 Nodejs, PHP 等等。ngx_openresty 的性能(包括内存使用和 CPU 效率)算是最大的卖点之一。
- Nginx 的脚本扩展编程,用于构建灵活的 Web 应用网关和 Web 应用防火墙。有些类似的是 NetScaler。其优势在于 Lua 编程带来的巨大灵活性。
最后
以上就是激情玉米为你收集整理的Nginx 和 OpenRestyNginx 和 OpenResty的全部内容,希望文章能够帮你解决Nginx 和 OpenRestyNginx 和 OpenResty所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复