nginx七层代理
nginx:静态代理请求:
nginx_http_proxy_module:代理模块;
proxy_pass :代理路径
proxy_set_header X-Real-IP $remote_add ; 把客户端的ip地址代理到后端服务器;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 把真正的客户端加到对应的首部后边。。
proxy_connect_timeout 75; 与代理服务器建立的连接超时时长。。
proxy_read_timeout 60; 定义代理服务器读取响应超时。。
proxy_send_timeout 60; 向被代理服务器请求超时时长。
静态缓存:
定义缓存在http段: proxy_cache_path 路径;
proxy_cache_path /data/cache levels=1:1:2 keys_zone=pcache:10m max_size=2g inactive=10m;
/data/cache: 缓存路径,本地路径。
levels=1:1:2 存储的几级子目录最多三级,每级值为1或2.
keys_zone=pcache:10 调用时的名字,键区域多大空间
max_size=2g 磁盘大小。。
inactive=10m 指明的时间内为访问缓存将被删除。。
proxy_cache_valid 200 302 10m; 定义状态响应码缓存时长。。
proxy_cache_use_stale http_500; 代理服务器在什么状态下可用本地缓存。。。
lnmp:动态代理:
代理端:nginx
动态处理:php-fpm php-mysql php-mbstring php-mcrypt mariadb-server
后端服务器:nginx 后端根目录nginx定义主配置文件下。httpd:目录要加options。。
代理端配置;.
php-fpm: 配置:/etc/php-fpm.d/www.conf
pm,max_clildren = 150 最大启用进程数
pm,start_servers=5 开启启用进程数。
pm,max_spare_server=35 最大的开启进程数
pm,status_path= /status 开启start路径。。
配置文件最后一行:创建session会话。。
启动:systemctl start php-fpm
php-fpm 链接本地主机mysql:/etc/my.cnf.d/server.cnf 关掉地址解析。。。 skip_name_resolve=ON innodb_file_per_table=ON
phpMyadmin 数据库图形管理工具。 下载的包放静态目录和动态目录分别一个.实现动静分离。
定义动态缓存;
levels=1:2:2 几级子目录最多三级,每级数值为1或2;
keys_zone=fcache:10m ;调用区域的名字,和键区域多大空间;
max_size=2g: 磁盘大小,
inactive=10m; 指明的时间内未访问的缓存数据将被删除。。。
fastcgi_keep_conn on|off ; 发请求时保持连接;
ab -c 100 -n 500 http://www.ilinux.io/index.html
-c:一次发出多少个请求 -n:执行请求总数。。。
更改maysl密码: set password fro user@localhost = password('123456');
通过status和ping:来测试spm server的状态信息:
nginx 四层 反带:nginx_stream_core_module :
配置主文件/etc/nginx/nginx.conf 把httpd段都删了定义stream
用nginx做四层代理,有自动状态检测功能,后端主机宕了自动不访问,
详细信息查官方www.nginx.org。
nginx七层代理:ngx_http_upstream_module:模块
定义组 调用组weight=1 权重
max_conns=最大并发连接数。
fail_timeout=2s 多长时间检测一次(服务器没有响应就认为失败)
max_fails=2 最多失败几次服务器就宕机默认一次,,, 0不做健康状态检测。。
backup; 备份的 主机都挂了他才上线。。 down; 表示宕掉、、
show_start=time f服务迁移另一台住进平顺加载。。
ip_hash; sh算法。来自同一IP的主机始终发往后端同一主机。。。
hash key [consistent]; 可根据cookie,绑定与后端服务器。。
hash $remote_add; 来自同一ip发往同一后端服务器。。
hash $request_uri ; 把对于来自统一的uri请求调到同一后端服务。。
hash $request_uri consistent; 哈希环偏斜,使用虚拟服务节点来防止哈希环偏斜。。
keepalive connections; keepalive 32; 与这一组服务器维持多少个长链接,每个work进程32个。提高反带。。
least_conn; 最少链接调度算法,当server拥有不同的权重时为wlc,当后端主机链接数相同时使用wrr进行调度。
nginx源码包安装
http://nginx.org/packages/centos/ 源码包路径
srpms是源码包格式。 下载源码包 rpm -ivh 安装源码包,,
生成rpmbuild目录,, 进入rpmbuild/SPECS 目录 编辑下的nginx.spec文件。
rpmbuild -bb 进行编译安装,, 或者rpmbuild -ba
编译好的包在rpms目录下。。
rpmbuild/SPECS
nginx编译安装
yum groupinstall "Development Tools" "server platform Development" 安装组件。。 yum install pcre-deve
开发组件,,openssl-devel openssl开发组件。。
nginx -V 查看编译安装参数。。 ./configure make make install
systemctl daemon-reload 守护进程重载。。