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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 群集搭建【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后点击提交,点击现在安装。

 

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

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


相关文章
|
3月前
|
存储 缓存 运维
解密一致性哈希算法:实现高可用和负载均衡的秘诀
解密一致性哈希算法:实现高可用和负载均衡的秘诀
174 0
|
4月前
|
Kubernetes 负载均衡 监控
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
|
5月前
|
tengine Kubernetes Cloud Native
Tengine-Ingress 高性能高可用的云原生网关
Tengine-Ingress 高性能高可用的云原生网关
|
6月前
|
负载均衡 算法 网络协议
Keepalived+LVS搭建高可用负载均衡
Keepalived+LVS搭建高可用负载均衡
187 1
|
6月前
|
负载均衡 关系型数据库 PostgreSQL
Pgpool-II实现高可用+读写分离+负载均衡(八)---- 维护工具
Pgpool提供了一些维护工具,用于日常观察Pgpool运行状态、上线、下线节点等操作。主要有:pcp_stop_pgpool,pcp_node_count,pcp_node_info,pcp_health_check_stats,pcp_proc_count,pcp_proc_info,pcp_detach_node,pcp_attach_node,pcp_recovery_node,pcp_promote_node,pcp_pool_status,pcp_watchdog_info,pcp_reload_config
192 0
|
23天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
35 0
|
4月前
|
负载均衡 应用服务中间件 nginx
百度搜索:蓝易云【Nginx和tomcat实现负载均衡教程】
至此,你已经成功地使用Nginx和Tomcat实现了负载均衡。Nginx将根据配置的负载均衡策略将客户端请求分发到多个Tomcat服务器上,以提高系统的性能和可用性。请注意,在实际生产环境中,还需要进行其他配置和优化,如健康检查、会话保持等,以满足具体的需求。
35 0
|
4月前
|
负载均衡 安全 前端开发
百度搜索:蓝易云【Nginx与Tomcat负载均衡-动静分离教程】
这些是将Nginx与Tomcat结合使用实现负载均衡和动静分离的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
49 1
|
13天前
|
负载均衡 应用服务中间件 nginx
Nginx 负载均衡
Nginx 负载均衡
23 2
|
3月前
|
负载均衡 Java 应用服务中间件