


php 服务部署,yum


nginx和php请求处理的原理


url和uri都传入的参数


php变量定义和意义

php+mysql





403错误,首页文件找不到

部署搭建网站页面,wordpress

问题

413文件过大问题

图片存储问题

nfs,/etc/exports

修改nfs权限

默认存储服务器无法存储数据

集群,负载均衡,反向代理,正向代理

准备负载均衡的环境

lnmp架构和数据库服务建立关系

502错误,一般都是后端服务挂了,
检查nginx代理的tomcat后者php等服务是否都挂了



优化和遇到问题


负载均衡部署:
配置机器,sed修改网卡信息,修改主机名

nginx的yum源


尝试一下
cp /etc/nginx/nginx.conf{,.bak}
grep -Ev '^$|#' nginx.conf.bak > nginx.conf


nginx -t


实现负载功能测试
搭建集群测试环境

研究一下这个语句

访问www.oldboy.com出现
bbs 10.0.0.7
修改每个真实web服务器nginx主配置文件,读取的顺序,和端口

抓包分析,反向代理的过程

匹配终端,如chrome,iphone,android


排错步骤

curl命令直接解析到某个地址,不用改/etc/hosts



upstream模块参数详细说明



sed操作第19行


session,kookie,缓存服务器redis,memcached的作用

根据ip_hash的值访问web服务器,只要源地址ip不变,就会一直访问到同一个web服务,保持住session

但nginx识别的是公网ip,就相当于一个公司的出口ip固定的,
内网出去都映射成同一个公网ip
就相当于一个公司的所有访问都到某一台web服务器,造成服务访问不均衡

fair


19行加#

20行去掉#

两行一起替换

lb.conf,负载均衡服务器上
代理几个相同端口,不同域名的网站

真实web服务器上
cat conf.d/*

通过宿主机浏览器访问,抓包分析
宿主机ip是.1,nginx代理地址是.5


在nginx代理服务器上配置
主要意思是代理服务器将请求头里,代理的upstream配置的uri改写成用户请求的url信息
proxy_set_header Host host
Host 代理服务器上upstream配置的uri名字也就是oldboy
$host 客户端请求的url信息,也就是后端真实服务器配置的server_name名字,即,www.oldboy.com


记录真实ip访问信息
请求头里没有记录真实ip请求信息,需要配置一个

在代理服务器上配置,配置客户端请求的真实IP
proxy_set_header X-Forward-For $remote_addr;

改成加ed

再次抓包分析,nginx转给后端web时,看到X-Forward-For 地址

配置前和配置后的ip地址对比

如果某台服务器异常,让nginx代理不向这台服务器转发

在nginx代理服务器上配置,每个server都需要配置
这里以www.oldoby.com为例,实际都需要配置


思维导图








总结

企业架构

规划

10.0.0.7 web01
10.0.0.8 web02
10.0.0.9 web03

在nginx代理服务LB上配置


web02配置





根据用户终端(谷歌浏览器,android,iphone等)匹配不同的服务
早期,是通过不同的域名来区分的,
手机是wap
电脑是www

现在是通过nginx,匹配不同的user_agent,来做到分发

搭建web服务器环境

nginx反代lb端



高可用、




高可用软件keepalived


keepalived部署








keepalived配置文件


出问题对比配置文件
最好加上掩码
10.0.0.3/24

408看完,该409了