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 反向代理的更多相关文章

  1. Nginx的反向代理

    先通过简单的图来说明一下正向代理和反向代理吧~ 正向代理 代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介.刚开始的时候,代理多数是帮助内网client访问外网server用的(比 ...

  2. nginx的反向代理功能和缓存功能

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  3. windows版 nginx配置反向代理实例教程 跳转tomcat和php网站

    抄自 https://www.cnblogs.com/j-star/p/8785334.html 个人理解 nginx端口设置为80,简称n tomcat端口设置为其他,例如8080,简称t php网 ...

  4. 如何让多个不同类型的后端网站用一个nginx进行反向代理实际场景分析

    前段时间公司根据要求需要将聚石塔上服务器从杭州整体迁移到张家口,刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合,断断续续一个月迁移完成 大概优化掉了1/3的机器,完成之后遇到了一些问题,比如曾今 ...

  5. [转]如何让多个不同类型的后端网站用一个nginx进行反向代理实际场景分析

    前段时间公司根据要求需要将聚石塔上服务器从杭州整体迁移到张家口,刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合,断断续续一个月迁移完 成大概优化掉了1/3的机器,完成之后遇到了一些问题,比如曾今 ...

  6. Nginx之反向代理配置(二)

    前文我们聊了Nginx的防盗链.反向代理以及开启nginx代理缓存,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12417130.html:今天我们继续说ng ...

  7. Windos环境用Nginx配置反向代理和负载均衡

    Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...

  8. 在ubuntu上面配置nginx实现反向代理和负载均衡

    上一篇文章(http://www.cnblogs.com/chenxizhang/p/4684260.html),我做了一个实验,就是利用Visual Studio,基于Nancy框架,开发了一个自托 ...

  9. nginx的反向代理和负载均衡的一个总结

    之前一直觉的nginx的反向代理和负载均衡很厉害的样子,最近有机会接触了一下公司的这方面的技术,发现技术就是一张窗户纸呀,捅破了啥都明白了! 接下来先看一下nginx的反向代理: 简单的来说就是ngi ...

  10. nginx做反向代理并防盗链

    nginx做反向代理真的非常简单,只需设置location+proxy_pass即可. 防盗链配置有些复杂,需要注意的地方: 在防盗链的location中需要再设置一下proxy_pass(在这里走了 ...

随机推荐

  1. PHP超精简文章管理系统 Summer Article

    2017年3月8日 21:18:43 星期三 git: https://git.oschina.net/myDcool/article.git 截图:

  2. NodeJS+Express+MySQL开发小记(2):服务器部署

    http://borninsummer.com/2015/06/17/notes-on-developing-nodejs-webapp/ NodeJS+Express+MySQL开发小记(1)里讲过 ...

  3. appium+java(四)微信公众号自动化测试实践

    前言 随着手机阅读的普遍应用,微信公众号阅读,更为普遍,微信和qq一样,都是基于腾讯自研X5内核,不是google原生webview(其实就是进行了二次定制).实质上也是混合应用的一种,现在很多app ...

  4. Go数组和切片定义和初始化

    1 前言 切片是动态数组,数组数组是按值赋值,切片是按地址赋值(引用) 2 代码 2.1 数组初始化 func basic_array(){ //var arr2 = [3]int{2,4,6} // ...

  5. Eleaticsearch源码分析(一)编译启动

    转自:https://lunatictwo.github.io/2017/12/21/Eleaticsearch%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90(%E4%B8% ...

  6. swift 实践- 04 -- UIButton

    import UIKit class ViewController: UIViewController { // 按钮的创建 // UIButtonType.system: 前面不带图标, 默认文字为 ...

  7. nginx官方模块之http_random_index_module

    作用 目录中选择一个随机主页 语法

  8. java多线程快速入门(二十二)

    线程池的好处: 避免我们过多的去new线程,new是占资源的(GC主要堆内存) 提高效率 避免浪费资源 提高响应速度 作用:会把之前执行某个线程完毕的线程不会释放掉会留到线程池中给下一个调用的线程直接 ...

  9. SpringBoot图片上传(一)

    简单描述:点击上传文件的图标,上传文件,上传成功后,图标编程上传的图片. 吐槽:文件上传下载这种东西,总是感觉莫名的虚-_-||  也不知道是造了什么孽,(其实就是IO File这一块的知识了解的不太 ...

  10. css中border画三角形

    <!doctype html><html lang="en"> <head>  <meta charset="UTF-8&quo ...