查看模块 严格来说, nginx 自带是没有针对负载均衡后端节点的健康检查的,但是可以通过默认自带的 ngx_http_proxy_module 模块和 ngx_http_upstream_module 模块中的相关指令来完成当后端节点出现故障时,自动切换到下一个节点来提供访问 注释: 注释: proxy_cache : 引用前面定义的缓存区 my-cache。 $upstream_cache_status这个变量来显示缓存的状态,我们可以在配置中添加一个 http 头来显示这一状态,
 Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
 在高连接并发的情况下,Nginx是Apache服务器不错的替代品。一、yum安装nginx
1、添加nginx到yum源
[root@nginx-lb ~]# vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=https://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true 2、安装nginx
[root@nginx-lb ~]# yum -y install nginx 3、启动nginx
[root@nginx-lb ~]# systemctl start nginx [root@nginx-lb ~]# systemctl enable nginx Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. [root@nginx-lb ~]# systemctl status nginx ● nginx.service - nginx - high performance web server    Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)    Active: active (running) since Mon 2020-06-15 19:37:34 CST; 1h 21min ago      Docs: https://nginx.org/en/docs/  Main PID: 7280 (nginx)    CGroup: /system.slice/nginx.service            ├─7280 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf            └─7281 nginx: worker process Jun 15 19:37:34 localhost.localdomain systemd[1]: Starting nginx - high performance web server... Jun 15 19:37:34 localhost.localdomain systemd[1]: Started nginx - high performance web server. [root@nginx-lb ~]# netstat -anpt | grep nginx tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7280/nginx: master 4、修改节点的默认首页
[root@nginx-lb ~]# echo  "<h1>nginx-web11111111</h1>" > /usr/share/nginx/html/index.html 二、源码安装nginx
1、安装前提软件环境
[root@nginx-lb ~]# yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel 2、复制nginx和缓存包到/usr/src/,解压
[root@nginx-lb ~]# useradd -s /sbin/nologin nginx [root@nginx-lb ~]# cd /usr/src [root@nginx-lb ~]# ls debug      nginx-1.12.0.tar.gz           kernels         ngx_cache_purge-2.3.tar.gz     nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz  [root@nginx-lb ~]# tar zxf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz  [root@nginx-lb ~]# tar zxf ngx_cache_purge-2.3.tar.gz  [root@nginx-lb ~]# tar zxf nginx-1.12.0.tar.gz  3、编译安装nginx
[root@nginx-lb ~]# cd /usr/src/nginx-1.12.0 [root@nginx-lb ~]#  ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx  --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module  --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client  --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi  --with-pcre --add-module=../ngx_cache_purge-2.3 --with-http_flv_module  --add-module=../nginx-goodies-nginx-sticky-module-ng-08a395c66e42  &&make&&make install 4、添加nginx系统服务并启动
[root@nginx-lb ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ [root@nginx-lb ~]# mkdir -p /var/tmp/nginx/client [root@nginx-lb ~]# chown -R nginx:nginx /var/tmp/nginx [root@nginx-lb ~]# vim /etc/init.d/nginx #!/bin/bash # chkconfig: 2345 99 20 # description: Nginx Service Control Script PROG="/usr/local/nginx/sbin/nginx" PIDF="/usr/local/nginx/logs/nginx.pid" case "$1" in  start) netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null  if [ $? -eq 0 ] then echo "Nginx service already running." else $PROG -t &> /dev/null  if [ $? -eq 0 ] ; then $PROG echo "Nginx service start success." else $PROG -t  fi fi ;;  stop) netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null  if [ $? -eq 0 ] then kill -s QUIT $(cat $PIDF) echo "Nginx service stop success." else echo "Nginx service already stop" fi ;;  restart) $0 stop  $0 start  ;;  status) netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null  if [ $? -eq 0 ] then echo "Nginx service is running." else echo "Nginx is stop." fi ;;   reload) netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null  if [ $? -eq 0 ] then $PROG -t &> /dev/null  if [ $? -eq 0 ] ; then kill -s HUP $(cat $PIDF) echo "reload Nginx config success." else $PROG -t  fi else echo "Nginx service is not run." fi ;;  *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac [root@nginx-lb ~]# chmod +x /etc/init.d/nginx  [root@nginx-lb ~]# chkconfig --add nginx  [root@nginx-lb ~]# chkconfig nginx on [root@nginx-lb ~]# systemctl start nginx 5、查看版本
[root@nginx-lb ~]# nginx -v nginx version: nginx/1.12.0 [root@nginx-lb ~]# nginx -V nginx version: nginx/1.12.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)  built with OpenSSL 1.0.2k-fips  26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --with-pcre --add-module=../ngx_cache_purge-2.3 --with-http_flv_module --add-module=../nginx-goodies-nginx-sticky-module-ng-08a395c66e42 三、基础配置
1、负载均衡与健康检查
http {     include       mime.types;     default_type  application/octet-stream; upstream backend {     sticky;     server 192.168.1.11:80 weight=1 max_fails=2 fail_timeout=10s;     server 192.168.1.138:80 weight=1 max_fails=2 fail_timeout=10s; } …… } 
 weight : 轮询权值也是可以用在 ip_hash 的,默认值为 1
 max_fails : 允许请求失败的次数,默认为 1。当超过最大次数时,返回 proxy_next_upstream模块定义的错误。
 fail_timeout : 有两层含义,一是在 10s 时间内最多容许 2 次失败;二是在经历了 2 次失败以后, 10s 时间内不分配请求到这台服务器。server { ……         location / {             root   html;             index  index.html index.htm;             proxy_pass https://backend; } …… } 2、追踪客户端呢原始ip
server { ……         location / {             root   html;             index  index.html index.htm;             proxy_pass https://backend;             proxy_redirect off; #追踪客户端呢原始ip是否开启             proxy_set_header Host $host;             proxy_set_header X-Real-IP $remote_addr;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; } …… } 3、启用nginx缓存
http { ……     #access_log  logs/access.log  main;         proxy_buffering on;          proxy_temp_path /usr/local/nginx/proxy_temp; #         proxy_cache_path /usr/local/nginx/proxy_cache levels=1:2 keys_zone=my-cache:100m inactive=600m max_size=2g; …… } server { ……         location / { ……             proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;    proxy_cache my-cache;             proxy_cache_valid 200 304 301 302 8h;             proxy_cache_valid 404 1m;             proxy_cache_valid any 1d;             proxy_cache_key $host$uri$is_args$args;             expires 30d; } …… } 
 proxy_buffering on; 代理的时候,开启或关闭缓冲后端服务器的响应。当开启缓冲时, nginx 尽可能快地从被代理的服务器接收响应,再将它存入缓冲区中。
 proxy_temp_path : 缓存临时目录。后端的响应并不直接返回客户端,而是先写到一个临时文件中,然后被 rename 一下当做缓存放在 proxy_cache_path 。 0.8.9 版本以后允许 temp和 cache 两个目录在不同文件系统上(分区),然而为了减少性能损失还是建议把它们设成一个文件系统上。
 proxy_cache_path: 设置缓存目录,目录里的文件名是 cache_key 的 MD5 值。
 levels=1:2 keys_zone=my-cache:50m 表示采用 2 级目录结构, 第一层目录只有一个字符,是由 levels=1:2 设置,总共二层目录,子目录名字由二个字符组成。Web 缓存区名称为 my-cache,内存缓存空间大小为 100MB,这个缓冲 zone 可以被多次使用。文件系统上看到的缓存文件名类似于 /usr/local/nginx1.10/proxy_cache/c/29/b7f54b2df7773722d382f4809d65029c 。
 inactive=600 max_size=2g 表示 600 分钟没有被访问的内容自动清除,硬盘最大缓存空间为2GB,超过这个大学将清除最近最少使用的数据。
 proxy_cache_valid : 为不同的响应状态码设置不同的缓存时间,比如 200、 302 等正常结果可以缓存的时间长点,而 404、 500 等缓存时间设置短一些,这个时间到了文件就会过期,而不论是否刚被访问过。
 proxy_cache_key : 定义如何生成缓存的键, 设置 web 缓存的 key 值, nginx 根据 key 值 md5哈希存储缓存
 $upstream_cache_status 包含以下几种状态:
 ·MISS 未命中,请求被传送到后端
 ·HIT 缓存命中
 ·EXPIRED 缓存已经过期请求被传送到后端
 ·UPDATING 正在更新缓存,将使用旧的应答
 ·STALE 后端将得到过期的应答expires : 在响应头里设置 Expires:或 Cache-Control:max-age,返回给客户端的浏览器缓存失效时间。
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
 官方软件产品操作指南 (170)
官方软件产品操作指南 (170)