当前位置: 首页 > news >正文

面试点补充

目录

1. 搭建lnmp

Linux 系统基础命令

nginx相关命令

MySQL 相关命令

PHP 相关命令

 验证命令

下载并部署 Discuz! X3.4 论坛 到 Nginx 网站

2. 脑裂

2.1 脑裂的定义

2.2 脑裂产生的原因

1. 主备节点之间的心跳线中断

2. 优先级冲突

3. 系统或服务负载过高

2.3 如何避免脑裂


1. 搭建lnmp

Linux 系统基础命令

# 为编译安装PHP及其扩展模块安装必要的系统依赖库
yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

nginx相关命令

# 安装和启动Nginx
yum install epel-release -y
yum install nginx -y
systemctl start nginx# 修改Nginx配置
vim /etc/nginx/nginx.conf
# 添加PHP支持:
location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;include        fastcgi_params;
}# 配置生效检查
nginx -t
systemctl restart nginx# 设置默认首页
vim /etc/nginx/nginx.conf
index index.html index.htm index.php;
nginx -s reload

 

MySQL 相关命令

# 配置MySQL仓库
tee /etc/yum.repos.d/mysql.repo <<EOF
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=0
EOF# 安装和启动MySQL
yum -y install mysql-community-server
systemctl start mysqld# 修改密码策略和设置新密码
grep password /var/log/mysqld.log
mysql -u root -p'自己的密码'
set global validate_password_policy=0;
set global validate_password_length=1;
alter user root@'localhost' identified by 'abc123';# 创建Discuz数据库和用户
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;

PHP 相关命令

mkdir -p /data  
cd /data/
#下载php-7.1.10.tar.bz2
tar xf php-7.1.10.tar.bz2
cd php-7.1.10# 编译安装PHP
./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
make -j2 && make install# 配置PHP环境
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
cp /data/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini# 修改php.ini关键参数
vim /usr/local/php/lib/php.ini
# 1170行:mysqli.default_socket = /var/lib/mysql/mysql.sock
# 939行:date.timezone = Asia/Shanghai# 配置PHP-FPM
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf  # 取消17行注释 pid = run/php-fpm.pid
cd php-fpm.d
cp www.conf.default www.conf
cp /data/php-7.1.10/sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl daemon-reload
systemctl start php-fpm.service# 创建PHP测试页
vim /usr/share/nginx/html/index.php
<?php
phpinfo();
?>

 验证命令

# 测试PHP解析
192.168.52.101/index.php# 测试MySQL连接
vim /usr/share/nginx/html/index.php
<?php
$link=mysqli_connect('192.168.52.101','bbsuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>

下载并部署 Discuz! X3.4 论坛 到 Nginx 网站

cd /data/
#下载Discuz! X3.4 UTF-8简体中文版(需确保服务器能访问外网)unzip Discuz_X3.4_SC_UTF8.zipcp -a dir_SC_UTF8/upload/ /usr/share/nginx/html/bbs
#将论坛程序复制到 Nginx 的默认网站目录cd /usr/share/nginx/html/bbs
chown -R nobody ./config/
chown -R nobody ./data/
chown -R nobody ./uc_client/
chown -R nobody ./uc_server/
#设置文件权限192.168.52.101/bbs/install
#访问安装页面

2. 脑裂

2.1 脑裂的定义

脑裂(Split-Brain)是指在高可用(HA)集群中,多个节点因通信中断,误判对方故障,导致同时激活并对外提供服务,从而引发数据冲突或服务混乱的现象。

就像是大脑被分裂成两部分,各自独立运作,无法协调一致。

2.2 脑裂产生的原因

1. 主备节点之间的心跳线中断

节点无法通过心跳(Heartbeat)检测到对方存活,各自认为对方宕机,触发资源抢占

2. 优先级冲突

主备节点优先级(priority)相同或配置不合理,导致抢占逻辑混乱。

3. 系统或服务负载过高

节点因 CPU、内存、磁盘 I/O 过载,无法及时响应心跳请求。

2.3 如何避免脑裂

  1. 合理配置心跳检测

    • 缩短 advert_int 间隔(如 1 秒),加快故障检测速度。

    • 结合多检测方式(如 ICMP + TCP 端口 + 应用层健康检查)。

  2. 明确优先级与非抢占模式

    • 主节点优先级显著高于备节点(如主 100,备 90)。

    • 使用 nopreempt 避免主节点恢复后强行夺回 VIP

相关文章:

  • PH热榜 | 2025-05-18
  • 详细总结和讲解redis的基本命令
  • 深度学习 TensorFlow vs PyTorch
  • 408 笔记
  • 系统安全及应用学习笔记
  • 12代处理器关闭小核提高win10系统更多性能方法
  • el-upload图片设置了url不显示问题
  • Cryosparc里头restack的妙用
  • ArcGIS Pro 3.4 二次开发 - 内容
  • 8254计数器应用实验
  • 25.5.19 强化学习笔记1
  • 【Linux网络】多路转接epoll
  • 留给王小川的时间不多了
  • Java大数据机器学习模型在金融衍生品风险建模中的创新实践
  • 鸿蒙 系统-安全-程序访问控制-应用权限管控
  • 提高 iOS 调试效率的实战经验:日志查看、崩溃分析与性能监控工具推荐(含 KeyMob)
  • 27.第二阶段x64游戏实战-分析技能属性
  • Spring Security与Spring Boot集成原理
  • Oracle 的 PGA_AGGREGATE_LIMIT 参数
  • ElasticSearch 8.x 快速上手并了解核心概念
  • 黄仁勋的新逻辑:从“卖铲人”到“全球AI基建运营商”
  • 中国首次当选联合国教科文组织1970年《公约》缔约国大会主席国
  • 马上评|劳动课该如何找回“存在感”
  • 《中华人民共和国经济史(1949—1978年)》教材出版发行
  • 河南通报部分未检疫生猪流入:立案查处,涉案猪肉被封存
  • 消费维权周报丨上周涉汽车类投诉较多,涉加油“跳枪”等问题