nginx-fastcgi 反向代理

Nginx处理php页面 用fpm-server  基于fastcgi模块实现

Ngx_http_proxy_module  只能反代后端http server的主机

Ngx_fastcgi_proxy_module   反代后端服务器为fastcgi的主机

 

Lnmpnginx+phpfpm-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;

 

转载于:https://www.cnblogs.com/huxl1/p/9279809.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一个高性能的开源Web服务器和反向代理服务器。在进行CPU优化时,可以采取以下几个方面的措施: 1. 合理配置worker_processes:Nginx使用多进程模型,可以通过配置worker_processes参数来指定启动的worker进程数。根据服务器的CPU核心数和负载情况,合理配置worker_processes可以充分利用服务器资源。 2. 调整worker_connections:worker_connections参数定义了每个worker进程能够同时处理的最大连接数。根据服务器的硬件配置和预期的并发连接数,适当调整该参数可以提高性能。 3. 开启事件驱动模型:Nginx支持多种事件驱动模型,如epoll、kqueue等。根据操作系统的支持情况,选择合适的事件驱动模型可以提高性能。 4. 启用缓存:Nginx可以通过配置缓存来减轻后端服务器的负载。可以使用proxy_cache模块开启反向代理缓存,或者使用fastcgi_cache模块开启FastCGI缓存。 5. 优化HTTP请求处理:可以通过配置keepalive_timeout参数来复用TCP连接,减少连接建立的开销。另外,可以使用gzip模块开启压缩,减小传输数据量。 6. 使用高效的算法和数据结构:Nginx内部使用了一些高效的算法和数据结构,如红黑树、哈希表等。这些算法和数据结构的选择可以提高Nginx的性能。 7. 避免不必要的模块和指令:根据实际需求,避免加载不必要的模块和指令,可以减少内存占用和CPU消耗。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值