目录
一、什么是nginx
Nginx是一款轻量级的Web 服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
特点:反向代理 负载均衡 动静分离
二、nginx的功能
(一)、反向代理
在了解反向代理之前先了解正向代理
正向代理: 用于代理内部网络对internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端。
说白了就一句话:正向代理就是代理服务器替代访问方【用户】去访问目标服务器【服务器】
反向代理: 与正向代理相反, 反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器
说白了还是一句话:反向代理就是代替服务器接受用户的请求,从目标服务器中取得用户的需求资源,然后发送给用户
(二)、负载均衡
负载均衡:数据流量分摊到多个服务器上执行,减轻每台服务器的压力,多台服务器共同完成工作任务,从而提高了数据的吞吐量。
(三)、动静分离
动静分离:将静态的资源放到反向代理服务器,节省用户的访问时间
web应用服务器,如:
tomcat
resin
jetty
web服务器,如:
Apache 服务器
Nginx
IIS
区分:web服务器不能解析jsp等页面,只能处理js、css、html等静态资源。
并发:web服务器的并发能力远高于web应用服务器。
三、Nginx的安装
1、 安装nginx的依赖库
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
2、解压安装包
tar -zxvf nginx-1.10.0.tar.gz
3、配置nginx安装包
cd nginx-1.10.0
./configure --prefix=/usr/java/nginx
注意:./configure配置nginx安装到/usr/java/nginx目录下
4、编译并安装
make && make install
5、启动关闭
启动:./nginx
关闭: ./nginx -s stop
(一)、nginx目录结构
(二)、nginx的配置文件介绍
#user nobody;
#工作进程
worker_processes 1;events {
#连接池连接数
worker_connections 1024;
}
#请求方式
http {
#媒体类型
include mime.types;
#默认媒体类型 二进制
default_type application/octet-stream;
#上传文件
sendfile on;
#超时时间
keepalive_timeout 65;#gzip on;
#服务器配置
server {
#监听端口
listen 80;
#监听域名
server_name localhost;
#请求头信息
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#请求映射规则,/代表所有请求路径
location / {
#请求转发地址
#root html;
proxy_pass http://manage.powershop.com:8080;
#欢迎页
#index index.html index.htm;
#转发连接超时时间
proxy_connect_timeout 600;
#转发读取超时时间
proxy_read_timeout 600;
}
}
}