nginx-fastcgi 反向代理
Nginx处理php页面 用fpm-server 基于fastcgi模块实现
Ngx_http_proxy_module 只能反代后端http server的主机
Ngx_fastcgi_proxy_module 反代后端服务器为fastcgi的主机
Lnmp: nginx+php(fpm-server)+mysql
实验:
需要2台服务器完成 : nginx+fpm-server
Rs上 = fpm
Yum install php-fpm php-mysql php-mbstring php-mcrypt mariadb-server -y
Cd /etc/php-fpm.d
Vim www.conf
Listen =0.0.0.0:9000 监听
Listen.allowed_clients= 允许客户访问 注销后默认所有
Pm.status_path = /status 启动状态检查
Ping.path = /ping ping检查
Php_value[session.save_path] = /vat/lib/php/session 回话保持目录属主属组要是apache
Mkdir -p /var/lib/php/session
Chown apache:apache /var/lib/php/session
Systemctl start php-fpm.service
查看9000端口启动
在nginx 上
location ~*\.php$ {
fastcgi_pass 192.168.10.2:9000; 调用
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; 传递参数
include fastcgi_params;
fastcgi_index index.php;
}
location ~*^/(status|ping)$ {
include fastcgi_params;
fastcgi_pass 192.168.10.11:9000
fastcgi_param SCRIPT_FILENAM $fastcgi_script_name;
}
在nginx 下有一个fastcgi_params 的文件 里面设定了把那些参数传给后端的服务器
在rs上
Vi index.php
<?php
Phpinfo()
?>
访问测试: 192.168.220.130/index.php

添加status | ping 健康检查
location ~*^/(status|ping)$ {
fastcgi_pass 192.168.10.2:9000;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}

连接mysql 测试
在rs上的mysql配置文件中把域名解析的两个选项关闭
Vim /etc/my.cf
Skip_name_resolve=on
Innodb_file_per_table=on
启动:sysrmctl start mariadb.service
Mysql_secure_installation 命令可以设置mysql密码
这里部署一个phpmyadmin 应用来实验、
下载包:
scp phpMyAdmin-4.0.10.20-all-languages.tar.gz 192.168.10.2:/home/
Tar -zxvf phpMyAdmin-4.0.10.20-all-languages.tar.gz -C /var/www/html/
给phpMyAdmin-4.0.10.20 目录创建个软连接
Ln -sv phpMyAdmin-4.0.10.20 pma

因为nginx没有静态图片所以这里静态图片没有显示
为了可以显示在nginx上也解压此包
# tar -zxvf phpMyAdmin-4.0.10.20-all-languages.tar.gz -C /usr/share/nginx/html/
ln -sv phpMyAdmin-4.0.10.20-all-languages pma
在访问就可以了
3 做压力测试 ab
ab -c 100 -n 5000 http://192.168.220.130/pma/index.php
添加缓存功能:
Pastcgi_cache_path 定义缓存
Vim /etc/nginx/nginx.conf
fastcgi_cache_path /data/nginx/fastcgi levels=1:1:2 keys_zone=fcache:20m max_szie=2g;
调用
fastcgi_cache fcache;
fastcgi_cache_key $request_uri;
fastcgi_cache_valid any 1m;
nginx-fastcgi 反向代理的更多相关文章
- Nginx的反向代理
先通过简单的图来说明一下正向代理和反向代理吧~ 正向代理 代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介.刚开始的时候,代理多数是帮助内网client访问外网server用的(比 ...
- nginx的反向代理功能和缓存功能
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- windows版 nginx配置反向代理实例教程 跳转tomcat和php网站
抄自 https://www.cnblogs.com/j-star/p/8785334.html 个人理解 nginx端口设置为80,简称n tomcat端口设置为其他,例如8080,简称t php网 ...
- 如何让多个不同类型的后端网站用一个nginx进行反向代理实际场景分析
前段时间公司根据要求需要将聚石塔上服务器从杭州整体迁移到张家口,刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合,断断续续一个月迁移完成 大概优化掉了1/3的机器,完成之后遇到了一些问题,比如曾今 ...
- [转]如何让多个不同类型的后端网站用一个nginx进行反向代理实际场景分析
前段时间公司根据要求需要将聚石塔上服务器从杭州整体迁移到张家口,刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合,断断续续一个月迁移完 成大概优化掉了1/3的机器,完成之后遇到了一些问题,比如曾今 ...
- Nginx之反向代理配置(二)
前文我们聊了Nginx的防盗链.反向代理以及开启nginx代理缓存,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12417130.html:今天我们继续说ng ...
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- 在ubuntu上面配置nginx实现反向代理和负载均衡
上一篇文章(http://www.cnblogs.com/chenxizhang/p/4684260.html),我做了一个实验,就是利用Visual Studio,基于Nancy框架,开发了一个自托 ...
- nginx的反向代理和负载均衡的一个总结
之前一直觉的nginx的反向代理和负载均衡很厉害的样子,最近有机会接触了一下公司的这方面的技术,发现技术就是一张窗户纸呀,捅破了啥都明白了! 接下来先看一下nginx的反向代理: 简单的来说就是ngi ...
- nginx做反向代理并防盗链
nginx做反向代理真的非常简单,只需设置location+proxy_pass即可. 防盗链配置有些复杂,需要注意的地方: 在防盗链的location中需要再设置一下proxy_pass(在这里走了 ...
随机推荐
- maven本地上传jar包
maven本地上传jar包 在命令行中输入下面指令(是一行): mvn install:install-file -Dfile=D:\mvn\spring-context-support-3.1.0. ...
- datepicker 属性设置 以及方法和事件
DatePicker支持鼠标点选日期,同时还可以通过键盘控制选择: page up/down - 上一月.下一月 ctrl+page up/down - 上一年.下一年 ctrl+home - 当前月 ...
- Light OJ 1078
题意: 给你 N,K 输出 KKKK.....KK能整除 N, 输出 K 的个数, (最小) 基础数学, 取摸运算即可. #include<bits/stdc++.h> using nam ...
- Python基础-入门之路PYTHON-包 相对导入&绝对导入
什么是包 包也是一种模块,但本质上就是一个文件夹 对于使用者而言 使用方式和模块没有任何区别 本质上就是一个文件夹 不同之处在于 多了一个__init__.py 叫包的初始化文件 import导入模块 ...
- Swift 学习- 02 -- 基础部分2
class NamedShape{ var numberOfSides: Int = 0 var name: String init(name: String) { self.name = name ...
- Node.js 调存储过程
var spring = require("spring"); //当前登录人ID var account_id = require('nodejava').toJs.parse( ...
- Linux用户、用户组、文件权限学习笔记
最近打算更仔细学习一下linux操作系统.先是恶补了一下用户.用户组.文件权限这三样比较重要的知识.学习这几样东西,得先掌握linux的权限系统相关知识.linux的权限系统主要是由用户.用户组和权限 ...
- 分布式Dubbo快速入门
目录 Dubbo入门 背景 zookeeper安装 发布Dubbo服务 Dubbo Admin管理 消费Dubbo服务 抽取与依赖版本管理 Dubbo入门 Editor:SimpleWu Dubbo是 ...
- php实现备份数据库
public function dataBackup(){ $doc_root=$_SERVER['DOCUMENT_ROOT']; $file_path_name=$doc_root.'/sqlba ...
- name
问题 A: name 时间限制: 1 Sec 内存限制: 256 MB 题目描述 lpq同学最近突然对外国人的名字产生了兴趣,特别是外国女生的名字,于是他开始试图去认识一些国外的女生. 随着认识的女 ...