使用专用 php-fpm 服务器进行 Nginx 负载平衡

使用专用 php-fpm 服务器进行 Nginx 负载平衡

我已使用 nginx+php-fpm 和 mysql 设置了服务器。我还有另一台仅安装了 php-fpm 的服务器,因此想将其用作负载平衡器。但是当我使用这台带有 php-fpm 的专用服务器作为负载平衡器时,打开页面时出现错误:“访问被拒绝。”

/etc/nginx/nginx.conf

user www-data;
worker_processes  3;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 64;
    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    #gzip                on;

upstream php {
server dedicatedserverip:9000;
}

include /etc/nginx/sites-enabled/*;
}

/etc/nginx/sites-enabled/site.org.conf

server {
        listen   81;
        server_name site.org www.site.org;
        access_log  /var/log/nginx/site.org.log;
        error_log  /var/log/nginx/site.org.log;
root /home/www/site.org;
index  index.php;




   location ~ .php$ {
      fastcgi_pass php;
      fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME    /home/www/$fastcgi_script_name;
        }


} 

为什么会出现此错误?当我仅将 fastcgi_pass 更改为 127.0.0.1:9000 时,一切正常。

答案1

找到您的 php-fpm 配置(默认源安装位置是 /usr/local/etc/php-fpm.conf)并确保设置listen.allowed_clients为允许您的 Nginx 框的 IP。

如果这不能解决问题,请检查您的 Nginx 错误日志以获取更多详细信息。

答案2

我重新编译了所有 php。如果需要一些教程http://docs.moodle.org/en/Development:Install_Moodle_On_Ubuntu_with_Nginx/PHP-fpm

相关内容