Php 在一台专用服务器ubuntu上运行多个nginx

Php 在一台专用服务器ubuntu上运行多个nginx,php,ubuntu,memory,nginx,Php,Ubuntu,Memory,Nginx,是否可以在单个专用服务器上运行多个NGINX? 我有一个带有256gb内存的专用服务器,我在上面运行了多个PHP脚本,但是由于PHP使用了内存,所以它挂起了。 当我检查 free -m 它甚至没有使用1%的内存 所以,我猜它与NGINX有些关系 我可以在这个服务器上安装多个NGINX并像这样使用它们吗 5.5.5.5:8080, 5.5.5.5:8081, 5.5.5.5:8082 我已经为PHP分配了20GB内存,但仍然不能正常工作 原因:-NGINX给504网关超时我用这种方式设置

是否可以在单个专用服务器上运行多个NGINX? 我有一个带有256gb内存的专用服务器,我在上面运行了多个PHP脚本,但是由于PHP使用了内存,所以它挂起了。 当我检查

free -m
它甚至没有使用1%的内存

所以,我猜它与NGINX有些关系

我可以在这个服务器上安装多个NGINX并像这样使用它们吗

 5.5.5.5:8080,  5.5.5.5:8081,  5.5.5.5:8082
我已经为PHP分配了20GB内存,但仍然不能正常工作


原因:-NGINX给504网关超时

我用这种方式设置了Ubuntu/PHP/NGINX服务器(它实际上还并行运行一些Node.js服务器)。下面是一个在AWS EC2中型实例(m3)上运行良好的配置示例


希望能有所帮助,

我想你已经超时了。您的PHP脚本需要运行很长时间

检查以下内容:

  • php.ini中的最大执行时间
  • PHP-FPM配置的
    www.conf
    中的
    request\u terminate\u timeout
  • nginx配置的
    http
    部分或
    location
    部分中的
    fastcgi\u read\u timeout

Nginx的设计更多地是用作反向代理或负载平衡器,而不是控制应用程序逻辑和运行php脚本。运行多个nginx实例(每个实例都执行php)并没有真正发挥服务器应用程序的优势。作为替代方案,我建议使用nginx在一个或多个apache实例之间进行代理,这更适合执行繁重的php脚本。包含有关如何让apache和nginx完美配合的信息。

PHP或nginx配置错误


如果满足某些条件,您可以在同一台服务器上运行多个nginx实例。但这不是您应该寻找的解决方案(也可能根本解决不了您的问题)。

出于纯粹的兴趣,为什么要运行多个Web服务器?我建议跟踪内存错误。20GB内存太多,因此还有另一个问题。@RiggsFolly,因为一个NGINX给出504错误……我怀疑“Hi”脚本需要20GB以上的RAM。我看不出您试图通过实例化多个服务器来实现什么。这听起来真的像是个问题。平方。原版是什么?
upstream xxx {
#   server unix:/var/run/php5-fpm.sock;
    server 127.0.0.1:9000 max_fails=0 fail_timeout=10s weight=1;
    ip_hash;
    keepalive 512;
}

server {
    listen 80;
    listen 8080;
    listen 443 ssl;
    #listen [::]:80 ipv6only=on;

    server_name xxx.mydomain.io yyy.mydomain.io;
    if ( $http_x_forwarded_proto = 'http' ) {
        return 301 https://$server_name$request_uri;
    }

    root /home/ubuntu/www/xxxroot;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php;
    }


    location ~ ^/(status|ping)$ {
        access_log off;
        allow 127.0.0.1;
        #allow 1.2.3.4#your-ip;
        #deny all;
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;

        fastcgi_pass adn;
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /xxxroot/$fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME $request_filename;
#fastcgi_param DOCUMENT_ROOT /home/ubuntu/www/xxxroot;
        # send bad requests to 404
        #fastcgi_intercept_errors on;
        include fastcgi_params;
    }

    location ~ /\.ht {
            deny all;
    }

}