恒也 - 运维博客 - 2023年5月
type: channel
link: https://blog.shnne.com/2023/05/
description: 一个记录学习IT运维的博客站。
items: 集群架构学习整理 - 四层负载均衡（十）
items: 集群架构学习整理 - Nginx四层负载均衡配置（九）
items: 集群架构学习整理 - Keepalived高可用配置（八）
items: 集群架构学习整理 - Nginx负载均衡配置（七）
items: 集群架构学习整理 - 安装mariadb数据库（六）
items: 集群架构学习整理 - 动态web服务器配置（五）
items: 集群架构学习整理 - 备份服务器配置（四）
items: 集群架构学习整理 - NFS服务器配置（三）
items: 集群架构学习整理 - 集群服务器配置（二）
items: 集群架构学习整理 - 基础环境配置优化（一）

集群架构学习整理 - 四层负载均衡（十）
type: item
date: 2023-05-16T15:31:32+08:00
description: LVS四层负载均衡四种模式1.NAT模式2.TUN隧道模式3.DR直接路由，推荐使用4.FULLNAT，完全NATLVS负载均衡实践环境准备 1.MySQL负载均衡 外部IP地址 内部IP地址 角色 备注 L4: 192.168.238.15 172.16.1.15 LVS调度器（Director） 对外提供服务的VIP为192.168.238.17 192.168.238.16 172.16.1.16 LVS调度器（Director） 对外提供服务的VIP为192.168.238.17 192.168.238.51 172.16.1.51 RS1（真实服务器） MySQL 192.168.238.52 172.16.1.52 RS2（真实服务器） MySQL #L4+L7+WEB 大规模web负载均衡 L4: 192.168.238.15 172.16.1.15 LVS调度器（Director） 对外提供服务的VIP为192.168.238.17 192.168.238.16 172.16.1.16 LVS调度器（Director） 对外提供服务的VIP为192.168.238.17 L7: 192.168.238.5 172.16.1.5 LVS调度器（Director） 192.168.238.6 172.16.1.6 LVS调度器（Director） 192.168.238.7 172.16.1.7 RS1（真实服务器） web01 192.168.238.8 172.16.1.8 RS2（真实服务器） web02LVS负载均衡安装#在lb4-01、lb4-02上安装LVS [root@lb4-01 ~]# yum install ipvsadm -y [root@lb4-01 ~]# rpm -qa ipvsadm ipvsadm-1.27-8.el7.x86_64 [root@lb4-01 ~]# modprobe ip_vs #把ipvs加入到内核 [root@lb4-01 ~]# lsmod|grep ip_vs #检查内核是否有ip_vs ip_vs 145458 0 nf_conntrack 143360 1 ip_vs libcrc32c 12644 3 xfs,ip_vs,nf_conntrack [root@lb4-01 ~]# uname -r 3.10.0-1160.83.1.el7.x86_64 [root@lb4-01 ~]# yum install kernel-devel -y [root@lb4-01 ~]# ln -s /usr/src/kernels/3.10.0-1160.83.1.el7.x86_64/ /usr/src/linux [root@lb4-01 ~]# ls -l /usr/src/ lrwxrwxrwx 1 root root 45 Mar 3 10:34 linux -> /usr/src/kernels/3.10.0-1160.83.1.el7.x86_64/ 特别注意： ln命令链接路径要和uname -r输出结果内核版本对应。 如果没有/usr/src/kernels/xx路径,可通过yum install kernel-devel -y安装。场景1：实现MySQL数据库负载均衡###配置LVS虚拟IP（VIP） ifconfig eth1:17 172.16.1.17/24 up #==>简便写法 #route add -host 172.16.1.17 dev eth1 #==添加主机路由，也可不加此行。 ###手工执行配置添加LVS服务并增加两台RS ipvsadm ipvsadm -C #<== -C clear the whole table ipvsadm --set 30 5 60 #<== --set tcp tcpfin udp set connection timeout values #ipvsadm -A -t 172.16.1.17:3306 -s wrr #--add-service -A add virtual service with options ipvsadm -A -t 172.16.1.17:3306 -s wrr -p 20 #dr模式 ipvsadm -a -t 172.16.1.17:3306 -r 172.16.1.51:3306 -g -w 1 ipvsadm -a -t 172.16.1.17:3306 -r 172.16.1.52:3306 -g -w 1 # ipvsadm -a|e -t|u|f service-address -r server-address [options] [root@l…

集群架构学习整理 - Nginx四层负载均衡配置（九）
type: item
date: 2023-05-16T15:28:48+08:00
description: lb4-01、lb4-02 服务器场景1：实现MySQL数据库负载均衡实践1）环境 lb4-01 192.168.238.15 lb4-02 192.168.238.16 2）安装nginx+keepalived 3）生产场景1：实现MySQL数据库负载均衡 四层代理：192.168.238.15 172.16.1.15 DB节点：172.16.1.51 172.16.1.52 步骤： 1.克隆192.168.238.15 2.检查负载的节点正常172.16.1.51 172.16.1.52 3.配置lb4-01 192.168.238.15 4.测试 [root@lb4-01 ~]# vim /etc/nginx/nginx.conf +12 注意要在http标签外面加上如下几行 stream { include /etc/nginx/stream_conf.d/*.conf; } [root@lb4-01 nginx]# mkdir /etc/nginx/stream_conf.d/ [root@lb4-01 nginx]# cd /etc/nginx/stream_conf.d/ [root@lb4-01 stream_conf.d]# cat 01_lb4-mysql.conf upstream mysql { server 172.16.1.51:3306; server 172.16.1.52:3306; } server { listen 3306; proxy_pass mysql; } nginx -t systemctl restart nginx 注意：此场景用于代理各类tcp应用，比如，k8s集群，数据库集群，中间件应用服务器集群。 注意： 1.nginx.conf里不允许多个stream标签。 2.stream标签配置为主配置文件nginx.conf main区段。 3.可以在主配置的stream标签里嵌入include /etc/nginx/stream_conf.d/*.conf; 4.nginx.conf 里的 include /etc/nginx/conf.d/*.conf; 这个要注释掉，不然跟stream 80冲突，要不然stream里的80通过192.168.238.15:80监听 #安装Navicat for MySQL或使用Phpmyadmin进行测试场景2：实现nginx4层+Nginx多七层代理+多Web节点大并发： www:192.168.238.15----->192.168.238.5/192.168.238.6----->172.16.1.7/172.16.1.8 不需要高并发：blog:192.168.238.5/192.168.238.6----->172.16.1.7/172.16.1.8 四层代理：192.168.238.15 172.16.1.15 四层代理：192.168.238.16 172.16.1.16 L7层代理：172.16.1.5 172.16.1.5 L7层代理：172.16.1.6 172.16.1.6 Web节点：172.16.1.7 172.16.1.8 ==1）四层负载均衡(lb4-01) 192.168.238.15： 完整配置如下： [root@lb4-01 stream_conf.d]# cat /etc/nginx/stream_conf.d/06_web.conf upstream proxy_7 { server 192.168.238.5:80; server 192.168.238.6:80; } server { listen 80; proxy_pass proxy_7; #注意，不带HTTP。 #proxy_protocol on; #开启proxy_protocol协议 } 注意别忘了： 1.stream里的监听80端口不能和7层的监听80冲突。 因此，注释结尾 #include /etc/nginx/conf.d/*.conf; 2.指定VIP (keepalived配置) 192.168.238.17:80; nginx -t systemctl restart nginx七层负载均衡(lb01,lb02) #lb01 [root@lb01 conf.d]# cat /etc/nginx/conf.d/05_www.conf upstream www { server 172.16.1.7 weight=1; #默认80端口 server 172.16.1.8 weight=1; } server { listen 80; server_name www.yunwei.com; location / { pro…

集群架构学习整理 - Keepalived高可用配置（八）
type: item
date: 2023-05-16T15:23:00+08:00
description: lb01、lb02服务器规划：HOSTNAME IP 说明lb01 192.168.238.5 Keepalived主服务器（Nginx主负载均衡器）lb02 192.168.238.6 Keepalived备服务器（Nginx辅负载均衡器）web01 192.168.238.7 web01服务器web02 192.168.238.8 web02服务器#部署web01 [root@web01 conf.d]# cat /etc/nginx/conf.d/05_www.conf server { listen 80; server_name www.yunwei.com; root /data/www; location / { index index.html; } } [root@web01 conf.d]# mkdir -p /data/www [root@web01 conf.d]# echo web01 >/data/www/index.html [root@web01 conf.d]# nginx -t [root@web01 conf.d]# systemctl restart nginx [root@web01 conf.d]# curl -H "host:www.yunwei.com" 192.168.238.7 web01#部署web01 [root@web01 conf.d]# cat /etc/nginx/conf.d/05_www.conf server { listen 80; server_name www.yunwei.com; root /data/www; location / { index index.html; } } [root@web01 conf.d]# mkdir -p /data/www [root@web01 conf.d]# echo web02 >/data/www/index.html [root@web01 conf.d]# nginx -t [root@web01 conf.d]# systemctl restart nginx [root@web01 conf.d]# curl -H "host:www.yunwei.com" 192.168.238.8 web02#部署lb01、lb02 [root@lb01 conf.d]# cat /etc/nginx/conf.d/05_www.conf upstream www { server 172.16.1.7 weight=1; server 172.16.1.8 weight=1; } server { listen 80; server_name www.yunwei.com; location / { proxy_pass http://www; proxy_set_header Host $http_host; } } nginx -t systemctl restart nginx #测试 [root@lb01 conf.d]# curl -H "host:www.yunwei.com" 192.168.238.5 web01 [root@lb01 conf.d]# curl -H "host:www.yunwei.com" 192.168.238.5 web02 [root@lb01 conf.d]# curl -H "host:www.yunwei.com" 192.168.238.6 web01 [root@lb01 conf.d]# curl -H "host:www.yunwei.com" 192.168.238.6 web02#安装keepalived #lb01、lb02分别安装keepalived yum install keepalived -y systemctl start keepalived #先不启动，修改过配置文件后在启动#Keepalived配置文件说明 TOP HIERACHY GLOBAL CONFIGURATION VRRPD CONFIGURATION LVS CONFIGURATION(管理LVS的，nginx此处删掉) #Master配置说明。 [root@lb01 keepalived]# cat keepalived.conf global_defs { router_id lb01 #<==id为lb01，不同的keepalived.conf此ID要唯一。 } vrrp_instance VI_1 { #<==实例名字为VI_1，相同实例的备节点名字要和这个相同。 state MASTER #<==状态为MASTER，备节点状态需要为BACKUP。 in…

集群架构学习整理 - Nginx负载均衡配置（七）
type: item
date: 2023-05-16T15:10:02+08:00
description: lb01、lb02 服务器#web01 & web02创建测试 [root@web01 conf.d]# cat 03_test.conf server { listen 80; server_name test.yunwei.com; charset utf-8; root /data/test; location / { index index.html; } } nginx -t systemctl reload nginx mkdir -p /data/test echo 'web01' > /data/test/index.html #注：web02服务器替换web02 chown www.www /data/test -R ll /data/test/index.html 测试 [root@web02 conf.d]# curl -H "host:test.yunwei.com" 172.16.1.7 web01 [root@web02 conf.d]# curl -H "host:test.yunwei.com" 172.16.1.8 web02 #在web01上配置phpmyadmin [root@web01 conf.d]# cat /etc/nginx/conf.d/04_phpmyadmin.conf server { listen 80; server_name phpmyadmin.yunwei.com; root /data/phpmyadmin; index index.php index.html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } nginx -t systemctl reload nginx ### mkdir /data/phpmyadmin -p cd /server/tools wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip unzip phpMyAdmin-5.1.1-all-languages.zip -d /data/phpmyadmin/ cd /data/phpmyadmin/ mv phpMyAdmin-5.1.1-all-languages/* . rmdir phpMyAdmin-5.1.1-all-languages cp config.sample.inc.php config.inc.php vim +30 /data/phpmyadmin/config.inc.php 改为 $cfg['Servers'][$i]['host'] = 'db01.yunwei.com'; #复制程序到web02并添加配置文件 rsync -avz -e "ssh -p 22" /data/phpmyadmin/ root@172.16.1.8:/data/phpmyadmin/ #在web02上配置phpmyadmin [root@web01 conf.d]# cat /etc/nginx/conf.d/04_phpmyadmin.conf server { listen 80; server_name phpmyadmin.yunwei.com; root /data/phpmyadmin; index index.php index.html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } nginx -t systemctl reload nginx #部署lb01 phpmyadmin.yunwei.com虚拟主机反向代理lb01配置 [root@lb01 conf.d]# cat /etc/nginx/conf.d/04_phpmyadmin.conf upstream backend { server 172.16.1.7 weight=1; #默认80端口 server 172.16.1.8 weight=1; #默认80端口 } server { listen …

集群架构学习整理 - 安装mariadb数据库（六）
type: item
date: 2023-05-16T15:04:00+08:00
description: db01服务器[root@db01 ~]$ yum install mariadb-server mariadb -y 启动Mariadb数据库, 并加入开机启动 [root@db01 ~]$ systemctl start mariadb [root@db01 ~]$ systemctl enable mariadb #检查 [root@db01 ~]$lsof -i :3306 [root@db01 ~]$ps -ef|grep mariadb [root@db01 blog]$ mysql #直接进去 给Mariadb配置登陆密码,并设置新密码进行登录数据库 [root@db01 ~]$ mysqladmin -uroot password oldboy123 [root@db01 ~]$ mysql -uroot -poldboy123 [root@db01 ~]$ mysqladmin -uroot -poldboy123 password oldboy #有密码更改密码 #登录MySQL，删除无用的用户 drop user root@'::1'; delete from mysql.user where user=''; delete from mysql.user where host='db01'; delete from mysql.user where host='127.0.0.1'; grant all on *.* to root@'172.16.1.%' identified by 'oldboy123'; select user,host from mysql.user; flush privileges;#php测试,配置hosts文件 #Nginx连接Fastcgi服务器配置如下 [root@web01 blog]$cat /etc/nginx/conf.d/01_blog.conf server { listen 80; server_name blog.yunwei.com; root /data/blog; index index.php index.html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 在/data目录下创建test_php.php文件 [root@web01 ~]$ mkdir /data/blog -p [root@web01 ~]$ cat /data/blog/test_php.php <?php phpinfo(); ?> [root@web01 ~]$ chown -R www.www /data/blog #浏览器测试 http://blog.yunwei.com//test_php.php #mariadb测试 [root@web01 ~]$ cat /data/blog/test_mysql.php <?php $servername = "172.16.1.51"; $username = "root"; $password = "oldboy123"; // 创建连接 $conn = mysqli_connect($servername, $username, $password); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "php连接MySQL数据库成功。"; ?> [root@web01 ~]$ chown -R www.www /data/blog #浏览器测试 http://blog.yunwei.com/test_mysql.php 扩展:企业级应用实战案例：科学授权站点目录权限和属组方法 #（1）生产授权方案（新手可不用）： [root@web01 blog]# chown -R root.root /data/blog [root@web01 blog]# mkdir -p /data/blog/uploads [root@web01 blog]# chown -R www.www /data/blog/uploads #此目录可能没有。 [root@web01 blog]# ll wp-content/ plugins ##blog增加功能 root.root themes ##blog主题皮肤 root.root upl…

集群架构学习整理 - 动态web服务器配置（五）
type: item
date: 2023-05-16T14:56:21+08:00
description: web01、web021、使用官方仓库安装 Nginx#检查/etc/fstab 有没有挂载/data目录，记得先注释，后面会重新指定静态文件目录挂载 #可能优先使用epel里的源，怎么确保我们配置的 官方优先。 [root@web01 ~]$yum -y install yum-plugin-priorities [root@web01 ~]$ rpm -qa yum-plugin-priorities yum-plugin-priorities-1.1.31-54.el7_8.noarch [root@web01 ~]$ cat /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 priority=1 #增加优先参数，使得官方源优先epel源。 #安装Nginx [root@web01 ~]$ yum install nginx -y2、配置Nginx进程运行的用户[root@web01 ~]$ useradd -u1111 www -s /sbin/nologin -M [root@web01 ~]$ sed -i '/^user/c user www;' /etc/nginx/nginx.conf [root@web01 ~]$ grep "^user" /etc/nginx/nginx.conf3、启动Nginx，并将Nginx加入开机自启[root@web01 ~]$ systemctl start nginx [root@web01 ~]$ systemctl enable nginx [root@web01 ~]$ lsof -i:80 #查看端口对应的服务 [root@web01 ~]$ nginx -v #查看版本 nginx version: nginx/1.22.1 [root@web01 ~]$curl 192.168.238.5 # Welcome to nginx!表示正常4、使用第三方扩展源安装php7.4#安装PHP7.4 安装php第三方官方yum源 yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y #安装yum-tools管理工具 yum -y install yum-utils #启用PHP 7.4 Remi存储库 yum-config-manager --enable remi-php74 #安装php扩展服务包 rpm -e $(rpm -qa|grep php) yum install php74-php php74-php-cli php74-php-common php74-php-devel php74-php-embedded php74-php-gd -y yum install php74-php-mcrypt php74-php-mbstring php74-php-pdo php74-php-xml php74-php-fpm php74-php-mysqlnd -y yum install php74-php-opcache php74-php-pecl-memcached php74-php-pecl-redis php74-php-pecl-mongodb -y [root@web02 ~]# php74 -v PHP 7.4.21 (cli) (built: Jun 29 2021 15:17:15) ( NTS ) [root@web02 ~]# rpm -ql php74-php-fpm /etc/logrotate.d/php74-php-fpm /etc/opt/remi/php74/php-fpm.conf /etc/opt/remi/php74/php-fpm.d /etc/opt/remi/php74/php-fpm.d/www.conf # 配置php-fpm用户与Nginx的运行用户保持一致 [root@web01 ~]# sed -i '/^user/c user = www' /etc/opt/remi/php74/php-fpm.d/www.conf [root@web01 ~]# sed -i '/^group/c group = www' /etc/opt/remi/php74…

集群架构学习整理 - 备份服务器配置（四）
type: item
date: 2023-05-15T16:56:00+08:00
description: backup服务器1)服务端配置[root@backup ~]#yum -y install rsync [root@backup ~]#cp /etc/rsyncd.conf{,.ori} [root@backup ~]#ll /etc/rsyncd.conf{,.ori} cat > /etc/rsyncd.conf<<EOF #rsync_config----start #created by oldboy #site:https://www.shnne.com uid = rsync gid = rsync use chroot = no fake super = yes max connections = 200 timeout = 600 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log ignore errors read only = false list = false hosts allow = 172.16.1.0/24 hosts deny = 0.0.0.0/32 auth users = rsync_backup secrets file = /etc/rsync.password [backup] comment = welcome to oldboyedu backup! path = /backup/ [data] path = /data/ EOF2)创建用户和目录[root@backup ~]$mkdir -p /backup [root@backup ~]$ls -d /backup [root@backup ~]useradd -s /sbin/nologin -M rsync [root@backup ~]$id rsync [root@backup ~]$chown -R rsync.rsync /backup/ [root@backup ~]$ll -d /backup/ [root@backup ~]$mkdir -p /data [root@backup ~]$chown rsync.rsync data/ -R3)添加配置文件[root@backup ~]$echo "rsync_backup:oldboy123" >/etc/rsync.password [root@backup ~]$cat /etc/rsync.password rsync_backup:oldboy123 [root@backup ~]$chmod 600 /etc/rsync.password [root@backup ~]$ll /etc/rsync.password4)启动服务C6启动 rsync --daemon C7启动 [root@backup ~]$systemctl start rsyncd [root@backup ~]$systemctl enable rsyncd [root@backup ~]$systemctl status rsyncd [root@backup ~]$netstat -lntup|grep 873 [root@backup ~]$lsof -i :873客户端配置【NFS服务器上配置】第一种方法（推荐吧）[root@nfs01 ~]$echo "oldboy123" > /etc/rsync.password [root@nfs01 ~]$cat /etc/rsync.password oldboy123 [root@nfs01 ~]$chmod 600 /etc/rsync.password [root@nfs01 ~]$ll /etc/rsync.password第二种方法[root@nfs01 ~]$echo 'export RSYNC_PASSWORD=oldboy123' >> /etc/bashrc [root@nfs01 ~]$tail -1 /etc/bashrc export RSYNC_PASSWORD=oldboy123 [root@nfs01 ~]$. /etc/bashrc [root@nfs01 ~]$echo $RSYNC_PASSWORD oldboy123测试拉取实践 [root@nfs01 ~]$rsync -avz rsync_backup@172.16.1.41::backup /data --password-file=/etc/rsync.password [root@nfs01 ~]$rsync -avz rsync://rsync_backup@172.16.1.41/b…

集群架构学习整理 - NFS服务器配置（三）
type: item
date: 2023-05-15T16:17:00+08:00
description: nfs01服务器服务端安装 yum -y install nfs-utils rpcbind rpm -qa nfs-utils rpcbind启动RPC systemctl start rpcbind systemctl enable rpcbind 查看注册端口 rpcinfo -p 127.0.0.1 启动nfs systemctl start nfs systemctl enable nfs实践： [root@nfs01 ~]$tail /etc/exports /data 172.16.1.0/24(rw,sync) [root@nfs01 ~]$mkdir -p /data重新加载nfs [root@nfs01 ~]$systemctl reload nfs 或者 [root@nfs01 ~]$exportfs -rv授权 [root@nfs01 ~]$chown -R nfsnobody.nfsnobody /data/ [root@nfs01 ~]$ll -d /data/检查 [root@nfs01 ~]$showmount -e 172.16.1.31 Export list for 172.16.1.31: /data 172.16.1.0/24服务本地挂载（测试） mount -t nfs 172.16.1.31:/data /mntweb01、web02挂载安装 yum -y install nfs-utils rpcbind rpm -qa nfs-utils rpcbind启动RPC即可systemctl start rpcbind systemctl enable rpcbind[root@web01 ~]$showmount -e 172.16.1.31 Export list for 172.16.1.31: /data 172.16.1.0/24挂载mount -t nfs 172.16.1.31:/data /mntNFS客户端开机自启动1.放在/etc/rc.local chmod +x /etc/rc.local echo "/bin/mount -t nfs 172.16.1.31:/data /mnt" >> /etc/rc.local tail -2 /etc/rc.local2.放在/etc/fstab（坑） 加载/etc/fstab >> 加载防火墙 >> 加载网卡 添加以下内容 172.16.1.31:/data /mnt nfs defaults 0 0 延迟启动 systemctl list-unit-files |grep remote-fs.target systemctl enable remote-fs.target reboot 测试好，记得删除，后面部署web网站的时候，重新指定路径挂载3.在/etc/fstab 挂载的时候添加一个_netdev参数 172.16.1.31:/data /mnt nfs defaults,_netdev 0 0 #说明 _netdev The filesystem resides on a device that requires network access (used to prevent the system from attempting to mount these filesystems until the network has been enabled on the system).项目实践2：NFS共享匿名用户用www，使得客户端上传的图片都是www用户，而不是匿名nfsnobodyweb01、web02客户端实现挂载nfsNFS下面共享/data,允许web01、web02客户端对/backup可读写web01上传图片，web02上可以删除web01上传的图片NFS下面贡献/data1，允许web01、web02客户端192.168.238.0/24网段只读（data1）实现开机挂载操作：1，所有主机（web01、web02、nfs01）上创建www用户，指定uid为1111useradd -u 1111 -s /sbin/nologin -M www id www2.NFS01特殊配置[root@nfs01 data]$cat /etc/exports /data 172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111) /data1 192.168.238.0/24(ro)3.创建目录并检查[root@nfs01 /]$mkdir -p /data /data1 [root@nfs01 /]$chown -R www.www /data …

集群架构学习整理 - 集群服务器配置（二）
type: item
date: 2023-05-15T16:14:08+08:00
description: 1.IP规划表服务器名称公网IP内网IP主机名L4层负载服务器01192.168.238.15172.16.1.15lb4-01L4层负载服务器02192.168.238.16172.16.1.16lb4-02L7负载服务器01192.168.238.5172.16.1.5lb01L7负载服务器02192.168.238.6172.16.1.6lb02web服务器1（动态）192.168.238.7172.16.1.7web01web服务器2（动态）192.168.238.8172.16.1.8web02web服务器1（静态）192.168.238.9172.16.1.9sweb01web服务器2（静态）192.168.238.10172.16.1.10sweb02NFS存储服务器192.168.238.31172.16.1.31nfs01rsync备份服务器192.168.238.41172.16.1.41backupmysql数据库服务器01192.168.238.51172.16.1.51db01mysql数据库服务器02192.168.238.52172.16.1.52db02管理服务器+监控192.168.238.61172.16.1.61m012.规范目录mkdir -p /server/tools mkdir -p /server/scripts mkdir -p /application mkdir -p /application/nginx mkdir -p /application/nginx/html mkdir -p /application/nginx/logs mkdir -p /application/mysql mkdir -p /backup mkdir -p /datacat >> /etc/hosts<<EOF 172.16.1.5 lb01 172.16.1.6 lb02 172.16.1.7 web01 172.16.1.8 web02 172.16.1.9 sweb01 172.16.1.10 sweb02 172.16.1.31 nfs01 172.16.1.41 backup 172.16.1.51 db01 172.16.1.61 m01 EOF sudo su - hostnamectl set-hostname moban sed -i 's#128#7#g' /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i 's#128#7#g' /etc/sysconfig/network-scripts/ifcfg-eth1 systemctl restart network #可以写个通用脚本，每次新加一台，就用脚本改下，参考 [root@moban ~]# cat net.sh #!/bin/bash echo "./net.sh ip hostname" sed -i "s#128#$1#g" /etc/sysconfig/network-scripts/ifcfg-eth* hostnamectl set-hostname $2 systemctl restart network3.内网卡配置lan区段，虚拟机添加172.16.1.04.做快照

集群架构学习整理 - 基础环境配置优化（一）
type: item
date: 2023-05-15T16:08:46+08:00
description: Vmware新建一台1核1G的虚拟机，当做镜像模板，装好CentOS7系统，然后再做基础优化1.添加一个普通用户useradd oldboy echo 123456 | passwd --stdin oldboy2.加到sudo管理visudo #100行左右 oldboy ALL=(ALL) NOPASSWD: ALL grep -w oldboy /etc/sudoers提示：如果在系统安装时候添加普通用户，其实是将oldboy添加到到wheel组里了，在/etc/sudoers里的wheel是管理员组。3.禁用root远程登陆，改为oldboy用户登陆企业场景，修改默认端口22为52113，优化远程ssh配置vim /etc/ssh/sshd_config PermitEmptyPasswords no UseDNS no GSSAPIAuthentication no #38行改为 PermitRootLogin no ListenAddress 172.16.1.7:52113 systemctl restart sshd测试ssh root连接root@oldboy ~]$ssh root@192.168.238.128 root@192.168.238.128's password: Permission denied, please try again.以后登陆通过oldboy登陆，通过sudo su -切换root4.更新yum源配置yum源-阿里云mv /etc/yum.repos.d/CentOS-Base.repo{,.backup} wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo curl -s -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo第三方源wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo curl -s -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo5.安装常用软件yum -y update #更新所有软件到最新,可以不装 yum -y install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs rsync yum -y install psmisc net-toos bash-completion vim-enhanced yum -y install lrzsz openssh-clients telnet gcc gcc-c++ wget sysstat net-tools nss nss-devel unix2dos dos2unix unzip bc yum -y update bash glibc glibc-devel glibc-common glibc-headers yum -y install ncurses-devel make cmake bison automake autoconf openssl openssl-devel libtirpc libtirpc-devel yum -y install gd gd-devel libjpeg libjpeg-devel libpng libpng-devel zlib zlib-devel freetype freetype-devel libxml2 libxml2-devel curl curl-devel libxslt libxslt-devel pcre pcre-devel libtool6.安全优化a.关闭selinuxsed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config grep 'SELINUX=disabled' /etc/selinux/config setenforce 0 getenforceb.暂时关闭防火墙systemctl stop firewalld systemctl disable firewalld systemctl status firewalld|grep inactive8.手工添加管理员帐帐号（可选）useradd oldgi…