群集搭建【LNMP+负载均衡+高可用+跳板机】(一)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 群集搭建【LNMP+负载均衡+高可用+跳板机】

项目需求

       实验目标:根据拓扑图搭建环境,安装论坛,创建证书通过https访问,实现负载均衡与高可用。通过代理服务器实现跳板机功能,可以远程访问mysql主机、nfs主机、web主机。

       拓扑图如下:

 

       实验思路:根据拓扑图给出的信息,先搭建web服务器然后配置mysql、php、nfs,最后搭建代理服务器实现负载均衡。

LNMP部署

web1部署

一、创建证书

1. nginx部署

1. [root@web1 ~]# rpm -ivh /media/nginx-rpm/* --nodeps --force
2. 
3. [root@web1 ~]# systemctl start nginx
4. 
5. [root@web1 ~]# systemctl enable nginx

2. 模拟创建私钥(本地当CA)

1. [root@web1 ~]# mkdir /etc/nginx/ssl_key
2. 
3. [root@web1 ~]# cd /etc/nginx/ssl_key
4. 
5. [root@web1 ssl_key]# openssl genrsa -idea -out server.key 2048

3. 生成证书,去掉私钥密码。(过程中会填写国家、省会、公司、邮箱等,随意填写即可)

[root@web1 ssl_key]# openssl req -days 3650 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt

 

二、创建论坛

       编辑配置文件,使用证书,指定根目录。

1. [root@web1 ssl_key]# cd /etc/nginx/conf.d/
2. [root@web1 conf.d]# rm -rf default.conf
3. [root@web1 conf.d]# vim blog.conf
4. server {
5.         listen 443 ssl;
6.         server_name blog.benet.com;
7.         ssl_certificate ssl_key/server.crt;
8.         ssl_certificate_key ssl_key/server.key;
9.         root /wordpress;
10.         index index.php index.html;
11. 
12. 
13.         location ~ \.php$ {
14.                 root /wordpress;
15.                 fastcgi_pass 192.168.1.10:9000;         //php服务器主机
16.                 fastcgi_index index.php;
17.                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
18.                 include fastcgi_params;
19.                 }
20.         }
21. server {
22.         listen 80;
23.         server_name blog.benet.com;
24. #       rewrite .* https://blog.benet.com;         //指定重定向(http转https)
25. #       rewrite .* https://$host$request_uri redirect;
26. #       rewrite .* https://$server_name$request_uri redirect;
27.         rewrite .* https://$server_name$1 redirect;         //四条都可以重定向,一条即可。
28.         }
29. [root@web1 conf.d]# systemctl restart nginx

mysql部署

1. [root@mysql ~]# rpm -ivh /media/mysql5.6-rpm/* --nodeps --force
2. [root@mysql ~]# systemctl start mysqld
3. [root@mysql ~]# systemctl enable mysqld
4. [root@mysql ~]# mysqladmin -uroot password
5. New password:         //请输入新密码
6. Confirm new password:          //请输入新密码
7. [root@mysql ~]# mysql -uroot -p123
8. //省略部分内容
9. mysql> create database blog;
10. Query OK, 1 row affected (0.00 sec)
11. 
12. 
13. mysql> grant all on blog.* to blog@'%' identified by '123456';
14. Query OK, 0 rows affected (0.00 sec)

php部署

1. [root@php ~]# rpm -ivh /media/php-rpm/* --nodeps --force
2. 
3. [root@php ~]# vim /etc/php-fpm.d/www.conf
4. 
5. listen = 192.168.1.10:9000         //修改为php本机IP
6. 
7. listen.allowed_clients = 192.168.1.7,192.168.1.8     //修改为web主机IP
8. 
9. [root@php ~]# systemctl start php-fpm
10. 
11. [root@php ~]# systemctl enable php-fpm

nfs部署

一、创建共享目录

1. [root@nfs ~]# yum -y install nfs-utils rpcbind
2. 
3. [root@nfs ~]# cp -rp /media/wordpress-4.9.4-zh_CN.zip /
4. 
5. [root@nfs ~]# cd /
6. 
7. [root@nfs /]# unzip wordpress-4.9.4-zh_CN.zip //解压共享软件包
8. 
9. [root@nfs /]# vim /etc/exports
10. 
11. /wordpress 192.168.1.0/24(rw,sync,no_root_squash) //发布共享目录
12. 
13. [root@nfs /]# chmod -R 777 /wordpress
14. 
15. [root@nfs /]# systemctl start rpcbind nfs
16. 
17. [root@nfs /]# systemctl enable rpcbind nfs

二、挂载目录

1. web1挂载

1. [root@web1 ~]# showmount -e 192.168.1.11 //检查目录是否正常共享
2. 
3. Export list for 192.168.1.11:
4. 
5. /wordpress 192.168.1.0/24
6. 
7. [root@web1 ~]# mkdir /wordpress
8. 
9. [root@web1 ~]# mount -t nfs 192.168.1.11:/wordpress /wordpress //web1挂载目录

 

2. PHP挂载

1. [root@php ~]# mkdir /wordpress
2. 
3. [root@php ~]# mount -t nfs 192.168.1.11:/wordpress/ /wordpress //PHP挂载目录

 

LNMP测试

       修改测试机hosts文件通过域名访问。

[root@client ~]# echo  "192.168.1.7 blog.benet.com" >> /etc/hosts

       访问浏览器blog.benet.com可以直接转到https,这就是上面重定向的作用。因为本机创建的证书,所以会有风险警告,点击高级。

       后面就是论坛的安装页面了,点击开始,输入数据库名、用户名密码及mysql服务器IP后点击提交,点击现在安装。

 

       输入论坛信息后,点击安装,安装完成后点击登录就可以输入管理员用户密码登录了。

       登录后就可以进行对论坛的编辑了。


相关文章
|
4月前
|
负载均衡 NoSQL 应用服务中间件
搭建高可用及负载均衡的Redis
【7月更文挑战第10天】
131 1
|
4月前
|
负载均衡 安全 Cloud Native
云上负载均衡:构建高可用、高性能的网络应用架构
与云原生技术深度融合:随着云原生技术的普及和发展未来的云上负载均衡将更加紧密地与云原生技术相结合。例如与Kubernetes等容器编排平台集成实现自动化的服务发现和路由管理;与Serverless架构结合提供无缝的流量接入和请求处理能力。 安全性能提升:面对日益严峻的网络安全威胁云上负载均衡将更加注重安全性能的提升。通过引入加密传输、访问控制、DDoS防护等安全措施确保网络流量的安全性和隐私性;同时还将建立完善的安全监控和应急响应机制以应对各种安全事件和突发事件。 支持多协议和多场景:未来的云上负载均衡将支持更多种类的网络协议和应用场景以满足不同用户和业务的需求。例如支持HTTP/2、
232 0
|
4月前
|
负载均衡 算法 Java
实现高可用和可扩展的负载均衡系统的Java方法
实现高可用和可扩展的负载均衡系统的Java方法
|
5月前
|
负载均衡 应用服务中间件 开发工具
技术笔记:nginx和keeplive实现负载均衡高可用
技术笔记:nginx和keeplive实现负载均衡高可用
|
6月前
|
存储 缓存 运维
解密一致性哈希算法:实现高可用和负载均衡的秘诀
解密一致性哈希算法:实现高可用和负载均衡的秘诀
746 0
|
6月前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
125 0
|
6月前
|
负载均衡 应用服务中间件 API
Nginx配置文件详解Nginx负载均衡Nginx静态配置Nginx反向代理
Nginx配置文件详解Nginx负载均衡Nginx静态配置Nginx反向代理
162 4
|
5月前
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
117 2
|
4月前
|
负载均衡 算法 应用服务中间件
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
57 1
|
4月前
|
运维 负载均衡 算法
SLB与NGINX的异同是什么
SLB与NGINX的异同是什么
402 2