Nginx功能介绍
1、 正向代理与反向代理
反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理 服务器
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求转发到 反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是反向代理服务器的地址,隐藏了真实服务器的地址。
反向代理如下:
范例:使用 nginx 反向代理 www.123.com 直接跳转到127.0.0.1:8080
①、启动一个 tomcat,浏览器地址栏输入 127.0.0.1:8080,出现如下界面
②、通过修改本地 host 文件,将 www.123.com 映射到 127.0.0.1
127.0.0.1 www.123.com
配置完成之后,我们便可以通过 www.123.com:8080 访问到第一步出现的 Tomcat初始界面。
那么如何只需要输入 www.123.com 便可以跳转到 Tomcat初始界面呢?便用到 nginx的反向代理。
③、在 nginx.conf 配置文件中增加如下配置:
server {
listen 80;
server_name www.123.com;
location / {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm index.jsp;
}
}
如上配置,我们监听80端口,访问域名为www.123.com,不加端口号时默认为80端口,故访问该域名时会跳转到127.0.0.1:8080路径上。
nginx配置文件详情:
nginx.conf中的配置项可以分为三大部份,分别是全局部份、events部份、http部份。http部份中又包含了1个或多个server块,每个server块中又会包含1个或多个location块。具体结构如下:
#全局部份
……
#events部份
events
{
……
}
#http部份
http
{
……
server{
……
location [patten]
{
}
}
server{
……
location [patten]
{
}
location [patten]
{
}
}
}
全局部份
全局部份用来配置通用的设置,主要有以下几项:
user nobody nobody;
配置允许nginx服务器运行的用户和用户组,nobody表示所有用户都可以运行。
worker_processes 2;
配置nginx运行最多可以产生的worker process数