#########################

---Nginx服务器
   -->轻量级的http服务器
   -->反向代理服务器

##########################

---部署Nginx服务器

(1)使用源码包安装nginx软件包

yum -y install gcc pcre-devel openssl-devel   //安装依赖包

tar -xf nginx-1.8.0tar.gz    //解压到当前目录
cd nginx-1.8.0  //进入当前目录
./configure \
>--prefix==/usr/local/nginx \   //指定安装目录
>--with-http_ssl_module     //开启SSL加密功能

.....
.....
make    //编译
make install   //安装

echo $PATH
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/   //制作软连接(快捷方式)
nginx    //启动服务
nginx -s stop  //关闭服务
nginx -s reload //重新加载配置文件
nginx -V     //查看软件信息

ls /usr/local/ngins
conf      --> 配置文件
sbin      --> 启动程序
log       --> 服务日至
html      --> 网页内容目录

(2)升级新版本nginx软件
tar -xf nginx-1.8.0tar.gz
cd nginx-1.8.0 
./configure \    
>..       \
>..                     //安装其他功能
make
cp /nginx-1.8.0/objs/nginx /usr/local/nginx/sbin  //拷贝新版本
make upgrate   //升级

---nginx 制作网页
【nginx】
修改nginx配置文件
/usr/local/nginx/conf/nginx.conf

server {
    listen 80;
    server_name localhost;
}
location / {
    root html;
    index index.html index.htm;
}

echo "192.168.4.5" > /usr/local/nginx/html/index.html

【客户端】
firefox 192.168.4.5
192.168.4.5
########################

---加入用户认证:
修改配置文件
/usr/local/nginx/conf/nginx.conf

server {
    listen 80;
    server_name localhost;
    auth_basic "Input Passwd";
    auth_basic_user_pass "/usr/local/nginx/pass";
}
location / {
    root html;
    index index.html index.htm;
}
pass 目录不用手动创建 可使用 httpd-tools 软件
yum -y install httpd-tools
htpasswd -c /usr/local/nginx/pass tom   //追加用户 不用 -c
passwd :123456
passwd :123456
nginx -s reload

【客户端】
firefox 192.168.4.5
user:tom
passwd:123456
192.168.4.5

##################################

     ---基于域名的虚拟主机

     修改配置文件

     http {
         server {
          listen 80;
          server_name www.a.com;

            location / {
            root html;
            index index.html;
                }
            }
          server {
             listen 80;
             server_name www.b.com;

             location / {
             root web;
             index index.html;
                 }
             }  
         }

         nginx -s reload

         mkdir /usr/local/nginx/web
         echo "www.b.com" > web/index.html

         【验证】
         vim /etc/hosts
         www.a.com 192.168.4.5
         www.b.com 192.168.4.5

         firefox www.a.com
         firefox www.b.com

         #######################################

            -SSL 虚拟主机

            公钥(证书)-- 用于加密
            私钥 ---     用于解密

            openssl grnrsa > private.key   //生成私钥
            openssl rep -new -x509 -key private.key > public.pem //生成公钥
            修改配置文件

            usr/local/nginx/conf/nginx.conf

           server { 
                  listen 443;
                   server_name localhost;

                 ssl_certificate      public.pem;
                 ssl_certificate_key  private.key;

                ssl_session_cache    shared:SSL:1m;
             ssl_session_timeout  5m;

               ssl_ciphers  HIGH:!aNULL:!MD5;
                ssl_prefer_server_ciphers  on;

             location / {
                    root   html;
                    index  index.html index.htm;
             }
          }

        nginx -t

        firefox https://192.168.4.5

        #######################################

        反向代理(调度服务器)(轮询)

        修改配置文件

        /usr/local/nginx/conf/nginx.conf

        http {

           upstream abc {
            #ip hash;   //根据客户端IP分配固定的后端服务器
            server 192.168.4.100 #max_fails=1 fail_timeout=30;//最大失败次数 1次,失败后,暂
                                                停提供服务的时间
            server 192.168.4.200 #weight=2 down;//权重2 访问此页面2次 down 当前server不参与负
                                        载
          }
           server {

            ....
              location {
               proxy_pass http://abc
            ...
                }
                }
             }

             nginx -t

             firefox 192.168.4.5
             firefox 192.168.4.5