赞
踩
目录
nginx是一个开源的 高性能 高可靠的web和反向代理服务器 它可以很高效的进行反向代理和负载均衡 其主要特点:成本低 稳定性高 可以跨平台 内存小 并发能力高(前端项目拿nginx进行代理访问)
主要就是一个请求发送过来 nginx通过反向代理服务器收到请求 再通过内网的IP地址 发送给 内部网络的其中一台服务器进行处理 然后把结果放回给Internet上请求的客户端
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
2.1 官网下载
2.2在liunx上面直接下载
wget http://nginx.org/download/nginx-1.25.1.tar.gz
- tar -zxf nginx-1.25.1.tar.gz /usr/java
- #把解压后的文件放在/home/java下面
make&&make install
有离开目录“/home/java/nginx-1.25.1”就表示安装成功
- #进入nginx目录
- cd /usr/local/nginx/sbin
-
- 启动nginx
- ./nginx
这样就表示nginx启动成功
运行nginx默认首页
也可以浏览器访问nginx 虚拟机的ip地址:80(80端口是nginx的默认端口)
如果有访问进去是禅道或者其他页面 请修改端口号
nginx常用命令
- #启动nginx
- cd /usr/local/nginx/sbin
- ./nginx
- 或者
- systemctl start nginx
- 关闭nginx
-
- systemctl stop nginx
- 查看状态
- systemctl status nginx
- 重启
- systemctl restart nginx
nginx得配置文件
listen:端口号 一个配置文件中可以设置多个listen 多个不同的端口号
location:访问的地址图中访问的是html的index.html的静态页面
error_page :是出现错误的时候访问html目录下面的50x.html页面
- server{
-
- listen 8080;
- #hhh.com这里我配置的是本地域名
- server_name hhh.com
- location/{
- proxy_pass http://httpds/;
-
- }
-
- }
在上图中 我使用一个虚拟机来当作反向代理服务器 去访问其他两个不同的服务器
down
- localhost:80 down
- #这个服务器 不参与负载均衡
backup
- localhost:80 backup
- #作为预备的服务器
max_fails和fail_timeout
- localhost:80 max_fails=6 fail_timeout=11
- #访问6次失败后 服务暂停11秒 (默认10秒)
1轮询(默认情况下)
2权重(加权轮询)
- localhost:80 weight=10
- localhost:80 weight=5
- 多次访问的比例 接近2:1 不一定就是2:1
3ip_hash:根据ip分配方式
- upstream httpds {
- ip_hash;
- server 193.187.176.122:90
- server 193.187.176.123:90
- }
- #ip_hash 的作用就比如 一个用户访问过一个服务器后 保存这个用户的信息后 再去访问的时候也是这个服务器 防止再一次去登录 或者再一次去让服务器保存信息
4least_conn:依据最少的连接方式
- upstream httpds {
- least——conn;
- server 193.187.176.122:90
- server 193.187.176.123:90
- }
- #least——conn的作用就是把请求发给连接数较少的服务器 从而更好地达到负载均衡的效果
5url_hash:依据url分配方式
- upstream httpds {
- hash &request_uri;
- server 193.187.176.122:90
- server 193.187.176.123:90
- }
- #根据url的hash结果来分配请求 让每一个url访问同一个服务器 配合缓存命中来使用 从导致不必要的下载 比如 一个请求 访问了一台服务器 缓存了数据 再次请求时 也会访问这台服务器 从而从缓存中读取数据
6fair:依据响应时间方式
- upstream httpds {
- fair;
- server 193.187.176.122:90
- server 193.187.176.123:90
- }
- #采用的是根据页面大小 加载时间长短进行负载均衡
如上图 当你的请求去访问一个动态的jsp jsp里面包含img 等等 不需要每一次去访问这个页面的时候 都要去下载这个img 此时就可以把 这个静态资源放在反向代理服务器上面 让每一次去访问别的服务器的ip地址的时候 可以直接在反向代理器上面访问静态资源 可以加速访问的速度
以上是我对nginx的理解 nginx最重要的是他的反向代理 和负载均衡 :降低单台服务器的压力 也可以把多个请求配置在一台服务器上面 都是通过修改nginx反向代理服务器来实现的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。