前言
对Nginx做了简要的介绍,及其特性,以及其在Linux上的配置。
Nginx概述
Nginx 是一个前端的运行静态网页的代理服务器(后端是Tomcat),也是一个 IMAP/POP3/SMTP 代理服务器,占用内存少,并发能力强。
中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等
在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品。,据报告能支持高达 50,000 个并发连接数。
什么是代理服务器
发起请求的客户端和后台服务器之间的一块跳板,正向代理可以隐藏客户端,反向代理可以隐藏后端服务器。
正向代理
用户知道目标服务器(比如www.baidu.com),但是由于某种原因无法直接访问。这时需要连接代理服务器,由代理服务器访问目标地址
反向代理
Nginx向后端N多个服务器中的一个发送请求,并将结果进行返回
负载均衡
服务器集群,增加服务器数量,然后将原先请求单个服务器的情况改为将请求分发到多个服务器上,将负载分发到多个服务器上.
负载均衡调度算法:
- 轮询:按时间顺序逐一分配到不同的后端服务器
- 加权轮询:可在配置server的后面加weight=number, number值越高,分配概率就越大
- ip_hash:每个请求按访问IP的hash分配,这样来自同一IP固定访问同一服务器
- least_hash:最少链接数,那个机器连接数最少就分配给那个机器
动静分离
现在基本都实现了动静分离
以把动态页面和静态页面有不同的服务器来解析,减少服务器压力,加快解析速度。将 java 后端程序部署在独立的服务器上,Nginx 代理访问后端服务
Linux安装Nginx
需要安装 gcc
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
手动下载.tar.gz 安装包 地址:http://nginx.org/en/download.html
通过Xftp上传到Linux指定目录
解压
tar -zxvf 文件包
cd 进入解压目录
安装依赖
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-deve
指定安装位置
./configure --prefix=/……/nginx
make
make install
安装成功,启动 nginx
cd /……/nginx/sbin
./nginx
重载配置文件
./nginx -s reload
停止
./nginx -s quit 或 ./nginx -s stop
查看 nginx 进程
ps -ef | grep nginx
启动后访问服务器地址80端口:出现Welcome to nginx!
负载均衡配置实例
#gzip on;
upstream newsserver{
server 114.116.41.243:9966 weight=1;
server 114.116.41.243:9999 weight=1;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /admin/{
proxy_pass http://newsserver;
}