班级同学作为苏信集团云数据中心定向培训班,现在培训已经结束了。大家现在要开始做第一个数据中心实践项目。
公司需要搭建一个内部的论坛,要求这个论坛无论什么时间访问都可以。
方案设计:
- 网络拓扑规划
- 设备选型:网络设备(路由器,交换机,防火墙,负载均衡设备,监控设备)存储设备(磁盘阵列)服务器(服务器,终端机,监控机)
- 操作系统选型(centos,乌班图)
无人值守操作系统部署安装PXE
4.操作系统软件部署上线(产品上线)
5.系统优化
单机安装基于LAMPweb架构的论坛软件
在一台机器的一块硬盘上同时部署了 前端web服务器和后端数据库服务器,数据和前端页面在同一块硬盘上
任务一:选择一个虚拟机命名为Nfs,配置nfs开放读写权限,创建共享目录/论坛,创建测试文件ceshi,添加内容nihao,在Apache1和Apache2两台主机上创建挂载点/guazai,将共享目录挂载上。测试在Apache1上修改共享文件,去Apache2上查看文件内容是否改变。
任务二:在NFS服务端上配置vsftpd服务,上传软件包到共享目录,然后在apache1和apache2上挂载共享目录到apache的网站根目录/var/www/html
注:上传论坛包后,发现前端页面数据没有独立存储设备,所有我需要在/luntan这个目录上挂载独立存储设备(通常选用硬件磁盘阵列或软件raid)
任务三:选择一个虚拟机命名为mysql,配置基础环境,安装mariadb*
注:考虑到用户数据安全问题,所以mysql的数据目录也要挂载一个raid,但是因为mysql启动后会在数据目录里面创建部分运行基本数据,挂载存储设备会造成数据覆盖问题。
通常建议:先创建数据存放目录,载目录上挂载存储,在去安装mysql对应软件
在数据库安装使用前,修改数据库的默认数据存放目录
- 创建目录:mkdir 目录名
- 磁盘阵列:mdadm -C /dev/md5 -l 5 – n 3 -x 1 /dev/sd{b,c,d,e}
- 格式化硬盘:mkfs -t ext4 /dev/md5
- 挂载存储设备(分区,lvm, raid) 到目录下: mount 设备路径 目录路径
- 安装数据库软件: yum install -y mariadb*
- 修改目录所属: chown mysql. mysql目录名(第一步创建的目录)
- 修改配置文件: vi /etc/my. cnf 修改datadir参数值为对应目录绝对路径
- 启动服务: systemctl start mariadb
- 为远程主机授予访问数据库的权限;(分号分号分号!)
Grant all privileges on *.* to ‘root’@’%’ identified by ‘123456’;
刷新权限立刻生效:flush privileges;
任务四:现在因为用户流量的增多,达到了apache的负载上线,使用我们需要多台apache来处理用户访问信息。所以在apache的主机前需要添加一台代理服务器,代理服务器需要具备:高负载和分流功能。因为我们是论坛,是一个web,所以在众多负载均衡软件中nginx是较为合适的。
软件安装:yum install -y nginx
配置开启nginx的反向代理功能
修改配置文件开启代理功能:/etc/nginx/conf.g/default.conf
修改配置文件确认代理的主机是那些:/etc/nginx/nginx.conf
重启服务
验证:在浏览器上输入http://nginxip访问,多次刷新
查看apache的/var/log/httpd/access_log 查看最后一行 确认访问者ip为nginxip
负载均衡
- 种类:软/硬件负载均衡 本地/全局负载均衡
- Ip负载均衡是基于特定的TCP/IP技术实现的负载均衡。
- 硬件设备的主要产品是F5-BIG-IP-GTM(简称F5),软件产品主要有LVS,HAProxy,NginX。其中LVS,HAProxy可以工作在4-7层,NginX工作在7层。
- Nginx/LVS/Haproxy是目前使用最广泛的三种 负载均衡软件
- Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件代理服务器。
高可用:HA,是分布式系统架构设计中必须要考虑的因素,它通常是指,通过设计减少系统不能提供服务的时间
- 工程上通常用平均无故障时间(MTTF)来度量系统的可用性。
集群:集群是由一些互相连结在一起的计算机构成的一个并行或分布式系统。
- 优点:高可伸缩性,高可用性,高科管理性
- 集群分类:高可用集群,负载均衡集群,存储集群,高性能计算集群
常见集群框
-
6.上线测试
-
7.交接文档与交接培训
- 创建目录: mkdir 目录名
挂载存储设备(分区,lvm,raid)到目录下: mount 设备路径 目录路径
格式化硬盘
挂载到目录上
进入vi /etc/fstab 进行自动挂载
为远程主机授予访问数据库的权限;(分号分号分号!)
Grant all privileges on *.* to ‘root’@’%’ identified by ‘123456’;
刷新权限立刻生效:flush privileges;
一.操作系统选型
1.关闭防火墙:systemctl stop firewalld.service
关闭防火墙随机启动 Systemctl disable firewall.service
2.临时关闭selinux:setenforce 0
开机不启动:vi /etc/selinux/config 将参数修改为SELINUX=disabled
3.虚拟网络编辑器设置为NAT模式,且关闭“使用本地DHCP服务将IP地址分配给虚拟机
在虚拟机属性,设置网络适配器的“网络连接”为“NAT模式(N):用于共享主机的IP地址”
5. 输入:yum install -y httpd tftp tftp-server dhcp syslinux
安装httpd、tftp-server、dhcp-server、syslinux软件包
6.搭建并启动DHCP 输入:vi /etc/dhcp/dhcpd.conf
7.启动dhcpd服务:systemctl start dhcpd
查看dhcpd服务运行状态:systemctl status dhcpd
创建软件包存放目录: mkdir /var/www/html/Centos
将光驱挂载到此文件目录下: mount /dev/sr0 /var/www/html/Centos
编辑挂载点: vi/etc/fstab
在文档末尾输入; /dev/sr0 /var/www/html/Centos iso9660 defaults 0 0
9.生成需要的文件并启动tftp服务
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /var/www/html/Centos/isolinux/{vmlinuz,*.c32,initrd.img} /var/lib/tftpboot/
创建pxelinux.cfg文件目录:mkdir /var/lib/tftpboot/pxelinux.cfg
创建default文件:vi /var/lib/tftpboot/pxelinux.cfg/default
10.启动tftp服务:systemctl start tftp
systemctl enable tftp
查看tftp服务运行状态:systemctl status tftp
11.生成ks.cfg文件:cp /root/anaconda-ks.cfg /var/www/html/ks.cfg
对ks.cfg文件进行编辑:vim /var/www/html/ks.cfg
12.修改文件权限,启动http服务
修改ks.cfg权限:chmod a+r /var/www/html/ks.cfg
启动httpd服务:systemctl start httpd
查看http服务状态:systemctl status httpd
二、PXE客户端配置
二.操作系统软件部署上线
开机不启动防火墙:systemctl disable firewalld
关闭selinux:setenforce 0
永久关闭selinux:vi /etc/selinux/config
将参数SELINUX改成disabled
配置IP地址(实现网络服务要有IP)
五个修改参数:
BOOTPROTO=
IPADDR=IP地址
NETMASK=子网掩码
GATEWAY=网关
ONBOOT=YES
注:ONBOOT一定要改成YES,这样才能激活网卡,只有在激活网卡才能连接网络,进行网络通讯
查看IP
配置文件:vi /etc/resolv.com
2)配置好yum源
配置本地源(使用的核心原则:不与存在相同软件但是不同版本的源交叉使用)
清空原有仓库文件:rm -rf /etc/yum.repos.d/*
配置新的仓库文件:vi /etc/yum.repos.d/仓库文件名.repo
添加内容:【源标识】不与文件中其他源标识重名
Name(与源标识仓库名称一样)
enabled=1
gpgcheck=0
baseurl (本地用file:// 网络用http:// https:// ftp:// mirrors://)
注:本地指向的是存有软件包的目录
进行挂载:mount /dev/sr0 /mnt
自动挂载:vi /etc/fstab
在最后一行添加:/dev/sr0 /mnt iso9660 defaults 0 0
查看是否挂载成功:df -hT
配置完成后保存退出,清空原有源缓存:yum clean all
重新生成新的缓存,验证yum源是否可用
可能会出现的问题
进入/etc/yum.repos.d的文件中
ls查看内容并删除多余源:rm -rf C*
3)安装httpd mariadb* php php-mysql
4) mariadb的使用
- 安装数据库软件:yum install -y mariadb*
- 修改目录所属:chown mysql.mysql 目录名(第一步创建的目录)
- 修改配置文件:vi etc/my.cnf 修改datadir参数值为对应目录绝对路径
- 启动服务:systemctl start mariadb
- 搭建并启动http服务
- 关闭防火墙:systemctl stop firewalld
- 数据库配置文件:/etc/my.cnf
- 服务名称:mariadb
- 端口号:tcp 3306
- 启动服务:systemctl start mariadb
- 创建数据库访问密码:mysql_secure_installation
- 访问数据库:mysql -hIP地址 -u用户名 -p密码 -P端口号
- 本地访问:mysql -uroot -p密码
- 显示数据库信息:show databases;(注:最后一定要加分号)
- 退出数据库:exit;(注:最后一定要加分号)
- 修改默认端口号:/etc/my.cnf 在【mysqld】下一行添加 port=新端口号
- 端口范围1-65535(1024以内不要写,因为有人用)
- 重启服务:systemctl restart mariadb
- 进入本地访问查看数据库信息
.php设置默认识别的web服务器
- 查看当前系统安装的php版本:php --version
- Vi /etc/php.d 双击tab键
- 罗列信息:rpm -ql php
- vi /etc/httpd/conf.d/php.conf (默认不用改)
三.网站产品部署上线
- 上传软件包到/var/www/html上传方式:使用软件上传或搭建自有的vsftpd服务
- 安装vsftpd服务:yum install -y vsftpd
- 进入:vi /etc/vsftpd/vsftpd.conf 修改参数anon_upload_enable=YES
- 修改目录/var/ftp/pub让所有人都有写权限:chmod 777 /var/ftp/pub
- 重启vsftpd服务:systemctl restart vsftpd
- 客户端访问就可以上传文件:打开任意一个目录,在地址栏输入 ftp://服务器ip 将压缩包拖入pub文件夹中
- 复制压缩包到/var/www/html
输入命令:cp /var/ftp/pub/Discuz_X3.2_SC_UTF8.zip /var/www/html
- 删除Centos :rm -rf Centos/
- 解压软件包到/var/www/html中:unzip 软件包路径 -d /var/www/html
- 查找unzip: yum search unzip
- 安装unzip服务:yum install -y unzip
- 再进行一次解压:unzip 软件包路径 -d /var/www/html
- 将安装引导程序复制/移动到网站根目录下:
mv /var/www/html/upload/* /var/www/html
- 进入/var/www/html查看一下有没有复制过来
- 重新启动服务:systemctl restart httpd
- 如果没有重启服务就会出现无法访问页面
- 在浏览器网址上输入: http://服务器ip(用英文输入)
- 给文件加权限:chmod -R 777 /var/www/{html,config,data,uc_client, uc_server}
- 再返回到浏览器刷新一下
- 选择全新安装
- 设置数据库密码和管理员密码
-
- 点右下角进入论坛
-
再次开启论坛需要关闭防火墙和selinux,httpd服务,vsftpd服务,mariadb数据库