负载+HTTPS

负载均衡

负载均衡
建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。简单来说就是压力分摊

主机准备

主机ip地址
web01172.16.1.7
web02172.16.1.8
lb01172.16.1.5

1.首先在负载上要有nginx

写wordpress产品的负载
cat /etc/nginx/conf.d/word_proxy.conf
	upstream word {
	        server 172.16.1.7:80;
	        server 172.16.1.8:80;
	}
	
	server {
	        server_name blog.wordpress.com;
	        listen 80;
	        location / {
	                proxy_pass http://word;
	                include proxy_params;
	        }
	}

172.16.1.7和172.16.1.8上的环境必须一模一样
如何快速克隆呢?

2.创建虚拟用户将web01的nginx,php配置文件拉送过来并将站点目录也给打包压缩过来将服务加入到开机自启和开启服务

	#创建用户组
	groupadd -g 666 www 
	#创建不能登录的虚拟用户		
	groupadd -g 666 -s /sbin/nologin www
	#克隆源
	scp root@172.16.1.7:/etc/yum.repos.d/* /etc/yum.repos.d/ 
	#安装php和nginx
	yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb nginx
	#将被克隆的机器的配置文件进行拷贝
	rsync -avz --delete root@172.16.1.7:/etc/nginx /etc/ 
	rsync -avz --delete root@172.16.1.7:/etc/php-fpm.d/* /etc/php-fpm.d/
	#将站点目录打包压缩推送到远端
	[root@web01 ~]# tar czf code.tar.gz /code/
	rsync -avz root@172.16.1.7:~/code.tar.gz ./
	tar xf code.tar.gz -C /
	systemctl enable nginx php-fpm
	systemctl start nginx php-fpm

3.配置知乎的负载

   vim /etc/nginx/conf.d/zh_proxy.conf
	upstream zh {
	        server 172.16.1.7:80;
	        server 172.16.1.8:80;
	}
	
	server {
	        server_name zh.zhihu.com;
	        listen 80;
	        location / {
	                proxy_pass http://zh;
	                include proxy_params;
	        }
	}

4.jpress的负载

vim /etc/nginx/conf.d/java.conf
	upstream java {
	        server 172.16.1.9:8080;
	}
	
	server {
	        listen 80;
	        server_name jp.jpress.com;
	        location / {
	                proxy_pass http://java;
	                include proxy_params;
	        }
	}

5.编写本地hosts文件

在这里插入图片描述

在这里插入图片描述

6.将网站做成HTTPS

1.第一步要生成ssl
mkdir /etc/nginx/ssl_key -p && cd /etc/nginx/ssl_key
2.openssl genrsa -idea -out server.key 2048 ##密码输入1234
##一路随缘按WC (注意此证书为假证书不可乱来哦)
3.openssl req -days 36500 -x509 \
-sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt

7.修改负载和web端的配置文件

#wordpress产品负载上的conf:
    upstream word {
        server 172.16.1.7:443;
        server 172.16.1.8:443;
}

server {
        server_name blog.oldboy.com;
        listen 80;
        return 302 https://$server_name$request_uri;
}
server {
        server_name blog.oldboy.com;
        listen 443;
        ssl on;
            ssl_certificate   ssl_key/server.crt;
            ssl_certificate_key  ssl_key/server.key;
    location / {
            proxy_pass https://word;
            include proxy_params;
    }
}

#wordpress产品web端上的配置文件:
server {
    listen 443;
    server_name blog.oldboy.com;
    root /code/wordpress;
    index index.php index.html;
    ssl on;
         ssl_certificate   ssl_key/server.crt;
         ssl_certificate_key  ssl_key/server.key;
         
    location ~ \.php$ {
        root /code/wordpress;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
    }
}

#负载上的知乎配置文件:
    upstream zh {
        server 172.16.1.7:443;
        server 172.16.1.8:443;
 }

    server {
        server_name zh.oldboy.com;
        listen 80;
        return 302 https://$server_name$request_uri;
}
    server {
        server_name zh.oldboy.com;
        listen 443;
                ssl on;
                ssl_certificate   ssl_key/server.crt;
                ssl_certificate_key  ssl_key/server.key;
        location / {
                proxy_pass https://zh;
                include proxy_params;
        }
}

#web端上的配置文件:
server {
    server_name zh.oldboy.com;
    listen 443;
    root /code/zh;
    index index.php index.html;
    ssl on;
            ssl_certificate   ssl_key/server.crt;
            ssl_certificate_key  ssl_key/server.key;
    location ~ \.php$ {
        root /code/zh;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

#配置jpress的负载配置文件:
    upstream java {
        server 172.16.1.9:8080;
}

server {
        listen 80;
        server_name jp.oldboy.com;
        return 302 https://$server_name$request_uri;
}
server {
        listen 443;
        server_name jp.oldboy.com;
                ssl on;
                ssl_certificate   ssl_key/server.crt;
                ssl_certificate_key  ssl_key/server.key;
        location / {
        proxy_pass http://java;
        include proxy_params;
        }
}

8.将原本的hosts的ip改为负载ip就ok了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值