作业一:nginx服务
1.二进制安装nginx

2.作为web服务修改配置文件

3.让配置生效,验证配置

 [root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0 
[root@localhost ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux 

[root@localhost ~]# yum install -y epel-release
[root@localhost ~]# yum install -y nginx 

作为web服务修改配置文件
在server中location中加(更改网站根目录)
        location / {
            root /var/www/html;
            index index.html;
        }
[root@localhost nginx]# mkdir /var/www/html -p
[root@localhost nginx]# echo web1 > /var/www/html/index.html 

[root@localhost nginx]# systemctl start nginx.service 
[root@localhost nginx]#  systemctl reload nginx.service 
[root@localhost nginx]# netstat -lntup |grep nginx 
[root@localhost nginx]#  systemctl enable nginx.service 

让配置生效,验证配置
浏览器访问 NFS, web,负载均衡,Nginx yum 源码安装-LMLPHPhttp://192.168.2.2

[root@localhost nginx]# curl http://127.0.0.1
web1
[root@localhost nginx]# curl NFS, web,负载均衡,Nginx yum 源码安装-LMLPHPhttp://192.168.2.2
web1

作业二:nfs服务
二进制安装nfs
作为共享存储挂载在三台web的网站根目录下
实现,在任意一台web上修改的结果,其余两台都可以看到

 nfs服务器: NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2
yum -y install rpcbind nfs-utils
[root@bogon ~]#  systemctl enable rpcbind.service
[root@bogon ~]# systemctl start rpcbind.service
[root@bogon ~]# cat /etc/exports
/share NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.0/24(rw,sync)
[root@bogon ~]# chmod -R o+rwx /share
[root@bogon ~]# systemctl enable nfs-server.service
[root@bogon ~]# systemctl start nfs-server.service
[root@bogon ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/share NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.0/24
[root@bogon ~]# exportfs
/share        NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.0/24

web1服务器:NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.3
yum -y install rpcbind nfs-utils
[root@bogon ~]#  systemctl enable rpcbind.service
[root@bogon ~]# systemctl start rpcbind.service
[root@bogon ~]# showmount -e NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2
Export list for NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2:
/share NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.0/24
[root@bogon ~]# mkdir /var/www/html/share -p
[root@bogon ~]# mount -t nfs NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2:/share  /var/www/html/share/
[root@bogon ~]# df -h 
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   18G  4.8G   13G   28% /
devtmpfs                 222M     0  222M    0% /dev
tmpfs                    237M     0  237M    0% /dev/shm
tmpfs                    237M  5.0M  233M    3% /run
tmpfs                    237M     0  237M    0% /sys/fs/cgroup
/dev/sda1                497M  159M  339M   32% /boot
tmpfs                     48M     0   48M    0% /run/user/0
tmpfs                     48M     0   48M    0% /run/user/1000
NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2:/share        18G  4.8G   13G   28% /var/www/html/share

web2服务器:NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.4
yum -y install rpcbind nfs-utils
[root@bogon ~]#  systemctl enable rpcbind.service
[root@bogon ~]# systemctl start rpcbind.service
[root@bogon ~]# showmount -e NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2
Export list for NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2:
/share NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.0/24
[root@bogon ~]# mkdir /var/www/html/share -p
[root@bogon ~]# mount -t nfs NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2:/share  /var/www/html/share/
[root@bogon ~]# df -h 
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   18G  4.8G   13G   28% /
devtmpfs                 222M     0  222M    0% /dev
tmpfs                    237M     0  237M    0% /dev/shm
tmpfs                    237M  5.0M  233M    3% /run
tmpfs                    237M     0  237M    0% /sys/fs/cgroup
/dev/sda1                497M  159M  339M   32% /boot
tmpfs                     48M     0   48M    0% /run/user/0
tmpfs                     48M     0   48M    0% /run/user/1000
NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2:/share        18G  4.8G   13G   28% /var/www/html/share

web3服务器:NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.5
yum -y install rpcbind nfs-utils
[root@bogon ~]#  systemctl enable rpcbind.service
[root@bogon ~]# systemctl start rpcbind.service
[root@bogon ~]# showmount -e NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2
Export list for NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2:
/share NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.0/24
[root@bogon ~]# mkdir /var/www/html/share -p
[root@bogon ~]# mount -t nfs NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2:/share  /var/www/html/share/
[root@bogon ~]# df -h 
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   18G  4.8G   13G   28% /
devtmpfs                 222M     0  222M    0% /dev
tmpfs                    237M     0  237M    0% /dev/shm
tmpfs                    237M  5.0M  233M    3% /run
tmpfs                    237M     0  237M    0% /sys/fs/cgroup
/dev/sda1                497M  159M  339M   32% /boot
tmpfs                     48M     0   48M    0% /run/user/0
tmpfs                     48M     0   48M    0% /run/user/1000
NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.2:/share        18G  4.8G   13G   28% /var/www/html/share

测试:
web1:
[root@bogon share]# echo "123" > /var/www/html/share/1.txt
web2:
[root@bogon ~]# cat /var/www//html/share/1.txt 
123
web3:
[root@bogon ~]# cat /var/www//html/share/1.txt 
123

作业三:nginx反向代理三台web
实现基于轮询的方式调度三台web,并验证结果
实现基于权重的方式调度三台web,并验证结果
实现基于hash的方式调用三台web,并验证结果

 (1)
Nginx反向代理:实现基于轮询的方式
http {
    upstream  pythonweb{
       server NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.3:80;
       server NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.4:80;
       server NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.5:80;
    }
  server{
   location / {
     proxy_pass NFS, web,负载均衡,Nginx yum 源码安装-LMLPHPhttp://pythonweb;
   }
  }
[root@bogon ~]# systemctl reload nginx.service 
[root@bogon ~]# systemctl restart nginx.service 
(2)
Nginx反向代理:实现基于权重的方式
http {
    upstream  pythonweb{
       server NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.3:80  weight=3;
       server NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.4:80;
       server NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.5:80;
    }
  server{
   location / {
     proxy_pass NFS, web,负载均衡,Nginx yum 源码安装-LMLPHPhttp://pythonweb;
   }
  }
[root@bogon ~]# systemctl reload nginx.service 
[root@bogon ~]# systemctl restart nginx.service 

(2)
Nginx反向代理:实现基于权重的方式
http {
    upstream  pythonweb{
       ip_hash;
       server NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.3:80;
       server NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.4:80;
       server NFS, web,负载均衡,Nginx yum 源码安装-LMLPHP192.168.2.5:80;
    }
  server{
   location / {
     proxy_pass NFS, web,负载均衡,Nginx yum 源码安装-LMLPHPhttp://pythonweb;
   }
  }
[root@bogon ~]# systemctl reload nginx.service 
[root@bogon ~]# systemctl restart nginx.service 

作业四:nginx反向代理+三台web+nfs共享存储实现集群配置

 作业2中nfs共享的目录是/var/www/html/share

作业3中nginx反向代理+3台web发布的目录是/var/www/html
将3台web的发布目录修改即可:
作为web服务修改配置文件
在server中location中加(更改网站根目录)
        location / {
            root /var/www/html/share;
            index index.html;
        }
[root@bogon share]# cat /var/www/html/share/index.html 
web123
[root@bogon html]# systemctl restart nginx.service 
浏览器测试

作业五:源码安装nginx,并按照作业一描述的那样去测试使用

 [root@bogon ~]# mkdir /application
[root@bogon ~]# yum erase nginx  -y
[root@bogon ~]# yum install gcc-* glibc-* openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
[root@bogon ~]# wget NFS, web,负载均衡,Nginx yum 源码安装-LMLPHPhttp://nginx.org/download/nginx-1.11.10.tar.gz
[root@bogon ~]# tar xf nginx-1.11.10.tar.gz 
[root@bogon ~]#cd nginx-1.11.10/
[root@bogon nginx-1.11.10]# ls -l 
总用量 704
drwxr-xr-x. 6 1001 1001   4096 3月  20 19:34 auto
-rw-r--r--. 1 1001 1001 274992 2月  14 23:36 CHANGES
-rw-r--r--. 1 1001 1001 419007 2月  14 23:36 NFS, web,负载均衡,Nginx yum 源码安装-LMLPHPCHANGES.ru
drwxr-xr-x. 2 1001 1001   4096 3月  20 19:34 conf
-rwxr-xr-x. 1 1001 1001   2481 2月  14 23:36 configure
drwxr-xr-x. 4 1001 1001     68 3月  20 19:34 contrib
drwxr-xr-x. 2 1001 1001     38 3月  20 19:34 html
-rw-r--r--. 1 1001 1001   1397 2月  14 23:36 LICENSE
drwxr-xr-x. 2 1001 1001     20 3月  20 19:34 man
-rw-r--r--. 1 1001 1001     49 2月  14 23:36 README
drwxr-xr-x. 9 1001 1001     84 3月  20 19:34 src
./configure --sbin-path=/application/nginx/nginx --conf-path=/application/nginx/nginx.conf --pid-path=/application/nginx/nginx.pid --with-http_ssl_module
make
make install
启动:/application/nginx/nginx
检测:/application/nginx/nginx -t
停止:/application/nginx/nginx -s stop
重载:/application/nginx/nginx -s reload 
配置文件:/application/nginx/nginx.conf 
vim /application/nginx/nginx.conf 
   location / {
            root   /var/www/html/share;
            index  index.html index.htm;
        }
重载:/application/nginx/nginx -s reload 
 
05-08 08:31