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

做视频卖给视频网站天津网站建设培训班

做视频卖给视频网站,天津网站建设培训班,杭州网站建设模板,ASP.NET网站建设实战01 面试题 面试题: 说一下如何实现的负载均衡 1.使用的proxy_pass模块 2.通过proxy_pass模块转发给upstream模块定义的地址池 3.使用的是默认的rr轮训算法分发到后端的服务器02 负载均衡配置 # 写一个简单的配置 [rootlikexy-nginx-01 conf.d]# cat lb.conf server {listen …

01 面试题

面试题: 说一下如何实现的负载均衡
1.使用的proxy_pass模块
2.通过proxy_pass模块转发给upstream模块定义的地址池
3.使用的是默认的rr轮训算法分发到后端的服务器

02 负载均衡配置

# 写一个简单的配置
[root@likexy-nginx-01 conf.d]# cat lb.conf 
server {listen 80;server_name www.lb.com;root /code;location / {index lb.html;}	
}
[root@likexy-nginx-01 conf.d]# cat /code/lb.html 
Nginx 01[root@likexy-nginx conf.d]# cat lb.conf 
server {root /code;server_name www.lb.com;listen 80;location / {index lbb.html;}
}
[root@likexy-nginx conf.d]# cat /code/lbb.html 
Nginx 000

02-1 Nginx负载均衡调度算法

# RR轮询		默认
# weight	 加权轮询
# ip_hash		IP哈希
# url_hash		URL哈希
# learn_conn	最小链接数

02-2 weight(加权轮询)

[root@Nginx-LB conf.d]# cat proxy-data 
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;[root@Nginx-LB conf.d]# cat lb.conf 
upstream webs {server 172.2.25.10 weight=10;	# 服务器权重server 172.2.25.11 weight=5;	# 这两个服务器访问比例为2:1
}
server {listen 80;server_name www.lb.lb.com;location / {proxy_pass http://webs;include /etc/nginx/conf.d/proxy-data;proxy_next_upstream error timeout http_500 http_502 http_503 http_504;		# 响应码为500 502 503 504为错误,使用下一个服务器# 应用场景为Nginx正常启动但是PHP出现异常。这个时候访问网页会出现报错}
}

02-3 ip-hash

# 如果成功访问,则会一直访问这个服务器# 缺点:由此可见,这个的缺点是负载均衡不均衡# 优点:可以解决session会话问题
upstream webs {ip_hash;		# 配置IP——hashserver 172.2.25.10;server 172.2.25.11;
}

03 Nginx服务器状态

upstream webs {server 10.0.0.30 down; # down 不参与负载的调度server 10.0.0.20;server 10.0.0.10;server 10.0.0.9;server 10.0.0.8 backup; # backup 类似备胎 其他服务器都挂掉后,10.0.0.8才进入负载的调度
}

04 负载均衡安全检查

# 前提:安装安全检查模块
[root@Nginx-LB conf.d]# cat lb.conf 
upstream webs {ip_hash;server 172.2.25.10;server 172.2.25.11;check interval=3000 rise=2 fall=3 timeout=1000 type=tcp ;#interval  检测间隔时间,单位为毫秒#rise      表示请求2次正常,标记此后端的状态为up#fall      表示请求3次失败,标记此后端的状态为down#type      类型为tcp#timeout   超时时间,单位为毫秒
}
server {listen 80;server_name www.lb.lb.com;location / {proxy_pass http://webs;include /etc/nginx/conf.d/proxy-data;proxy_next_upstream error timeout http_500 http_502 http_503 http_504;}location /upstream_check {check_status;	# 新添加的模块}
}
# 都正常的情况
image-20241125200903780
图1 都是正常的情况
# 出现异常
image-20241125201203019
图2 出现异常的状况

05 负载均衡会话保持

05-1 安装Phpmyadmin

# Nginx负载均衡会话保持# 基于 Nginx 的ip_hash# 基于服务端的session会话(MySQL,Redis......)
# phpmyadmin通过页面管理数据库,phpmyadmin会将会话保存到自己的磁盘
# web01,02部署phpmyadmin
[root@likexy-nginx admin]# cat /etc/nginx/conf.d/admin.conf 
server {root /code/admin;listen 81;server_name www.admin.mysql.com;location / {index index.php index.html;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}[root@likexy-nginx admin]# pwd
/code/admin
[root@likexy-nginx admin]# wget https://files.phpmyadmin.net/phpMyAdmin/4.8.4/phpMyAdmin-4.8.4-all-languages.zip
[root@likexy-nginx admin]# unzip phpMyAdmin-4.8.4-all-languages.zip 
[root@likexy-nginx admin]# mv phpMyAdmin-4.8.4-all-languages/* .
[root@likexy-nginx admin]# cp config.sample.inc.php config.inc.php
# 修改第31行,localhost 改成 数据库IP地址
[root@likexy-nginx admin]# vim config.inc.php
$cfg['Servers'][$i]['host'] = '172.2.25.12';
# 添加文件权限
[root@Nginx-01 php]# cd /var/lib/php
[root@Nginx-01 php]# chmod 777 -Rf .# 为源码文件设置用户和组
[root@Nginx-01 phpmyadmin]# pwd
/code/phpmyadmin
[root@Nginx-01 phpmyadmin]# chown www:www *
# 提示不能使用空密码
image-20241130122244855
图3 PhpMyadmin登录界面
# 数据库添加用户和权限
MariaDB [(none)]> CREATE USER 'like'@'%' IDENTIFIED BY '123123';
Query OK, 0 rows affected (0.002 sec)MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'like'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.000 sec)MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)
image-20241130122625182
图4 PhpMyadmin登录之后的页面
# 如果没有网页登录,没有任何文件
[root@Nginx-01 session]# pwd
/var/lib/php/session
[root@Nginx-01 session]# ls
[root@Nginx-01 session]# 
# 但是在进行网页请求时,cookie和session相同
image-20241130124339698
图5 查看Session和Cookie
# 登录进去之后,cookie和session改变了
image-20241130124608040
图6 Session和Cookie变了
# 如果删除掉session里面的内容,那么用户就会强制登出
# 所以要把Web所有的session目录内容放到一个位置

05-2 Redis会话保持

# 在数据库服务器安装Redis
[root@MariaDB-01 ~]# yum install -y redis
# 配置Redis
[root@MariaDB-01 ~]# vim /etc/redis/redis.conf 
# 修改75行的bind,后面添加IP地址75 bind 127.0.0.1 172.2.25.15# 配置Redis的启动项
[root@MariaDB-01 ~]# systemctl restart redis
[root@MariaDB-01 ~]# systemctl enable redis# 检查端口
[root@MariaDB-01 ~]# lsof -i:6379
COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 3877 redis    6u  IPv4  37548      0t0  TCP localhost:redis (LISTEN)
redis-ser 3877 redis    7u  IPv4  37549      0t0  TCP 172-2-25-15.lightspeed.miamfl.sbcglobal.net:redis (LISTEN)
# 修改PHP配置将会话写入Redis服务(在Web服务器修改)
[root@Nginx-01 ~]# vim /etc/php.ini
将1222行的 session.save_handler = files改成 session.save_handler = redis
将1255 行的 ;session.save_path = "/tmp"改成 session.save_path = "tcp://172.2.25.15:6379" # 如果Redis存在密码,则修改为tcp://172.2.25.15:6379?auth=密码
将874 行的;   extension=mysqli			改成 extension=redis.so# 在Web服务器修改,注释掉两行内容,在最下面
[root@Nginx-01 ~]# vim /etc/php-fpm.d/www.conf 
;php_value[session.save_handler] = files
;php_value[session.save_path]    = /var/lib/php/session
image-20241130131459254
图7 注释掉这两行
# 重启PHP服务
[root@Nginx-01 ~]# systemctl restart php-fpm.service
# 报错原因的PHP没安装Redis模块
image-20241130133014293
图8 PHP没安装Redis模块报错

05-3 PHP安装Redis模块

# 在Web服务器下载Redis源码包
[root@web01:~]# wget http://pecl.php.net/get/redis-4.0.1.tgz
[root@Nginx-01 opt]# tar -zxvf redis-4.0.1.tgz 
# 生成configure文件
[root@Nginx-01 redis-4.0.1]# phpize
[root@Nginx-LB redis-4.0.1]# ./configure 
[root@Nginx-01 redis-4.0.1]# make && make install# 重启PHP服务
[root@Nginx-01 ~]# systemctl restart php-fpm.service
image-20241130134653205
图9 PhpMyadmin登录界面
# 这样就可以看到Web服务器的session文件
image-20241130134641567
图10 可以看到Redis存储的Session文件

05-4 报错

# 访问的时候会遇到这个问题,原因是时间没同步,因为数据库要保证事务的一致性
[root@likexy-nginx ~]# yum install ntpdate -y
[root@likexy-nginx ~]# crontab -e
* * * * * /sbin/ntpdate ntp.aliyun.com
image-20241130143242957
图11 报错检查时间是否一致

文章转载自:

http://szUxTFyI.qfLgn.cn
http://ei1SvNfh.qfLgn.cn
http://b1rLiJ3f.qfLgn.cn
http://yNF69Rje.qfLgn.cn
http://WTmqxhsV.qfLgn.cn
http://GjyWoLeJ.qfLgn.cn
http://HlQizcQR.qfLgn.cn
http://Hf61XM1K.qfLgn.cn
http://Rs7enGGn.qfLgn.cn
http://yaoN3My4.qfLgn.cn
http://HaVoh3xB.qfLgn.cn
http://rjwPSZ6F.qfLgn.cn
http://6UwfeHR4.qfLgn.cn
http://1wof2WOs.qfLgn.cn
http://u33ALtdj.qfLgn.cn
http://c8qkFDvj.qfLgn.cn
http://8J0vFjkI.qfLgn.cn
http://00BKkEjr.qfLgn.cn
http://HPrbfoz3.qfLgn.cn
http://63Yfvkw3.qfLgn.cn
http://1q2e1qmL.qfLgn.cn
http://eYLy0rug.qfLgn.cn
http://HMIJ3VpP.qfLgn.cn
http://SSRPQmNJ.qfLgn.cn
http://2y4lbrbI.qfLgn.cn
http://s2EswAqf.qfLgn.cn
http://BhuAzeil.qfLgn.cn
http://nSV6LcK1.qfLgn.cn
http://efnpWq3N.qfLgn.cn
http://DY5AQf0i.qfLgn.cn
http://www.dtcms.com/wzjs/678705.html

相关文章:

  • 建筑公司网站首页图片社交app开发成本预算表
  • 广西网站建设费用宿州品牌网站建设公司
  • 华夏名网网站建设贵阳网站设计方案
  • 崇明建设镇网站深圳住房和建设局网站办事大厅
  • c在线编程网站门户wordpress主题
  • 网站建设文化策划书银川网站开发
  • 做计划网站有效的网站建设公
  • 郑州网站建设方案优化自己建设网站的利弊
  • 湖北省职业能力建设处网站怎么跳转网站
  • 兰州做it网站运营的怎么样长春短视频运营培训
  • 营销型网站制作方案群辉做网站服务器
  • 电商平台网站多少钱中国建设银行老版本下载官方网站
  • 企业网站建设的宜昌市住房和城乡建设厅网站
  • 京东联盟的网站怎么做的国际网站如何做seo
  • 做网站指导如何从零开始学做电商?
  • 好做的网站企业网站设计图片
  • 竹业网站建设在线制作店铺logo图标免费
  • 北京网站制作飞沐成都 网站 建设
  • 做雨棚的网站口碑好网站建设价格低
  • 电子商务网站建设 概念哈尔滨百度seo公司
  • 重庆大渡口营销型网站建设价格怎么制作公众号动图
  • 天津模板建站定制网站做网站的参考文献有哪些
  • 网站建设如何推广业务乐山网站建设流程
  • 网站开发技术html5网站建设开场介绍话术
  • 网站对网友发帖隐私做处理站长工具seo综合查询下载安装
  • 网站怎么建自己做名片的网站
  • 河南联通 网站备案网站怎样绑定域名访问
  • 网站更新提示怎末做服装定制创业计划书
  • 做网站模块gta5网站正在建设中
  • 给个网站做填空题全包圆装修400电话怎么打