共计 1390 个字符,预计需要花费 4 分钟才能阅读完成。
nginx 是干嘛用的?Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 是一款轻量级的 Web 服务器 / 反向代理服务器及电子邮件 (IMAP/POP3) 代理服务器,在 BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,我国大陆大部分网站都有使用 nginx。
nginx 有什么用?
1、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型
2、作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP 代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
3、作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
nginx 正向代理和反向代理区别介绍
正向代理是一个位于客户端和原始服务器 (origin server) 之前的服务器,为了从原始服务器获取内容,客户端向代理发送一个请求并指定目标,然后代理服务器向原始服务器转交请求并将获得的内容返回给客户端。客户端必须设置正向代理服务器。
nginx 反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理发送普通请求,接着反向代理将判断向何处 (后端节点) 转交请求,并将获得的内容返回给客户端。
通常的代理服务器,只用于代理内部网络对 Internet 的连接请求,客户机必须指定代理服务器,并将本来要直接发送到 Web 服务器上的 http 请求发送到代理服务器中,当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式成为反向代理服务。
从上面内容可以看出,Nginx 正向代理和反向代理最关键的两点区别为是否指定目标服务器和客户端是否要做设置。
此外,Nginx 正向代理和反向代理在用途上也有明显的区别。正向代理用途是为了在防火墙内的局域网提供访问 Internet 的途径,还可以使用缓冲特性减少网络使用率。反向代理的用途是将防火墙后面的服务器提供给 Internet 用户访问,同时还可以完成诸如负载均衡等功能。
Nginx 还可以作为静态 Web 服务器来部署静态资源。这里所说的静态资源是指在服务端真实存在,并且能够直接展示的一些文件,比如常见的 html 页面、css 文件、js 文件、图片、视频等资源。
相对于 Tomcat,Nginx 处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到 Nginx 中。
将静态资源部署到 Nginx 非常简单,只需要将文件复制到 Nginx 安装目录下的 html 目录中即可。
server {
listen 80; #监听端口
server_name localhost; #服务器名称
location / {#匹配客户端请求 url
root html; #指定静态资源根目录
index index.html; #指定默认首页
}
}