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      守护进程重载。。

你可能感兴趣的:(nginx七层代理)