Nginx 后端代理多台 php-fpm 服务器

简介: Nginx 后端代理多台 php-fpm 服务器

Nginx 后端代理多台 php-fpm 服务器

Nginx 服务器设置

[root@server06 ~]# yum installnginx #安装 nginx

[root@server06 ~]# cd/etc/nginx/

[root@server06 nginx]# vim nginx.conf

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format main  '$remote_addr - $remote_user[$time_local] "$request" '
                      '$status $body_bytes_sent"$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';
    access_log /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip on;
    upstream fastcgiserver { #设置后端php-fpm服务器ip及端口
        server 192.168.10.63:9000;
        server 192.168.10.64:9000;
    }
    include /etc/nginx/conf.d/*.conf;
}

[root@server06 nginx]# cd /etc/nginx/conf.d/

[root@server06 conf.d]# cp default.conf default.conf.bak

[root@server06 conf.d]# vim default.conf

location ~ \.php$ {
        root           /www;     #php-fpm服务器上*.php页面文件存放路径
        #fastcgi_pass   127.0.0.1:9000;
        fastcgi_pass   fastcgiserver;  #这里调用upstream设置;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

[root@server06 conf.d]# servicenginx restart #启动 nginx 服务

Php-fpm 服务器设置(server03 和 server04 一样的配置)

[root@server03~]# mkdir /www #创建 php 文件目录

[root@server03~]# vim /www/index.php #创建 php 主页,显示 php 信息

<?php
  echo "server03";    #这里仅仅用来识别server03和server04
  phpinfo()
?>

[root@server03~]# yum install php-fpm #安装 php-fpm

[root@server03~]# vim /etc/php-fpm.d/www.conf #配置文件修改

; The address onwhich to accept FastCGI requests.
; Valid syntaxesare:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specificaddress on
;                            a specific port;
;   'port'                 - to listen on a TCP socket toall addresses on a
;                            specific port;
;   '/path/to/unix/socket' - to listen on a unixsocket.
; Note: Thisvalue is mandatory.
;listen = 127.0.0.1:9000
listen = 192.168.10.63  #改成自己的IP地址
; List of ipv4addresses of FastCGI clients which are allowed to connect.
; Equivalent tothe FCGI_WEB_SERVER_ADDRS environment variable in the original
; PHP FCGI(5.2.2+). Makes sense only with a tcp listening socket. Each address
; must beseparated by a comma. If this value is left blank, connections will be
; accepted fromany ip address.
; Default Value:any
;listen.allowed_clients =127.0.0.1       
listen.allowed_clients = 192.168.10.66 #设置允许连接到 FastCGI 的服务器 IPV4 地址。如果允许所有那么把这条注释掉即可

[root@server03 ~]# service php-fpm start #启动 php-fpm

测试结果:可以看到这里是分别调用了 server03 和 server04 两台服务器;每次刷新都会轮询;

相关文章
|
14天前
|
监控 应用服务中间件 测试技术
确保正则表达式在 Nginx 代理中的准确性和稳定性
【10月更文挑战第19天】总之,正则表达式在 Nginx 代理中具有重要作用,但要确保其准确性和稳定性需要付出一定的努力和关注。通过以上方法的综合运用,我们可以提高正则表达式配置的可靠性,为用户提供更好的服务体验。
|
2天前
|
前端开发 应用服务中间件 定位技术
|
27天前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
127 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
12天前
|
PHP 开发者
PHP作为一门流行的服务器端脚本语言,深入理解PHP的命名空间
【10月更文挑战第22天】PHP作为一门流行的服务器端脚本语言,自1995年诞生以来,已经发展了二十多年。在这二十多年的时间里,PHP经历了多次重大版本的更新,不断增加新特性和改进。其中,命名空间(Namespace)是PHP 5.3.0引入的一个重要特性,它为PHP的代码组织和重用提供了一种新的方式。本文将从三个部分深入理解PHP的命名空间:一是命名空间的基本概念和作用;二是PHP命名空间的使用方法;三是通过实例讲解命名空间的应用。
19 4
|
14天前
|
应用服务中间件 API nginx
使用正则表达式实现 Nginx 代理
【10月更文挑战第19天】在不断发展的互联网技术中,掌握正则表达式在 Nginx 代理中的应用是非常重要的。不断探索和实践,将有助于我们在实际工作中更好地运用这一技术,提升项目的质量和效率。
|
14天前
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
1月前
|
存储 缓存 监控
|
1月前
|
存储 缓存 负载均衡
Nginx代理缓存机制
【10月更文挑战第2天】
62 4
|
1月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
41 3
|
2月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:如何提高代码的可维护性与扩展性在软件开发领域,PHP 是一种广泛使用的服务器端脚本语言。随着项目规模的扩大和复杂性的增加,保持代码的可维护性和可扩展性变得越来越重要。本文将探讨 PHP 中的设计模式,并通过实例展示如何应用这些模式来提高代码质量。
设计模式是经过验证的解决软件设计问题的方法。它们不是具体的代码,而是一种编码和设计经验的总结。在PHP开发中,合理地使用设计模式可以显著提高代码的可维护性、复用性和扩展性。本文将介绍几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并通过具体的例子展示如何在PHP项目中应用这些模式。