2017-02-16 21 views
0

Возможно ли запустить несколько NGINX на одном выделенном сервере? У меня есть выделенный сервер с 256 ГБ оперативной памяти, и я запускаю несколько скриптов PHP, но он становится зависанием из-за памяти, используемой с PHP. когда я проверяюЗапуск нескольких nginx на одном выделенном сервере ubuntu

free -m 

это даже не используя 1% памяти.

Итак, я предполагаю, что это имеет какое-то отношение к NGINX.

Могу ли я установить несколько NGINX на этом сервере и использовать их как

5.5.5.5:8080, 5.5.5.5:8081, 5.5.5.5:8082 

Я уже выделено 20 ГБ памяти на PHP, но по-прежнему не работает должным образом.

Причина: - NGINX дает 504 Шлюз Тайм-аут

+0

Из чистого интереса, почему вы хотите запустить более одного веб-сервера? – RiggsFolly

+1

Я предлагаю отслеживать ошибки памяти. 20 ГБ - большая часть памяти, поэтому есть еще одна проблема. – aynber

+0

@RiggsFolly, потому что один NGINX дает ошибку 504 .... – Harinder

ответ

0

я получил/PHP/сервер Ubuntu Nginx установлен таким образом (это на самом деле также работает несколько серверов Node.js параллельно). Вот пример конфигурации, который отлично работает на экземпляре среды AWS EC2 (m3).

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; 
    } 

} 

Надеется, что это помогает,

0

Я думаю, что вы работаете в тайм-аут. Ваши скрипты PHP-Scripts работают дольше.

Проверьте следующее:

  • max_execution_time в вашем php.ini
  • request_terminate_timeout в www.conf вашего PHP-FPM конфигурации
  • fastcgi_read_timeout в http секции или location секции конфигурации Nginx.
0

Nginx больше подходит для использования в качестве обратного прокси-сервера или балансировки нагрузки, чем для управления логикой приложения и запуска скриптов php. Запуск нескольких экземпляров nginx, которые каждый из них выполняет php, действительно не влияет на сильные стороны сервера. В качестве альтернативы я бы рекомендовал использовать nginx для прокси-сервера между одним или несколькими экземплярами apache, которые лучше подходят для выполнения тяжелых сценариев php. http://kbeezie.com/apache-with-nginx/ содержит информацию о том, как заставить apache и nginx играть вместе.

+0

nginx - отличный веб-сервер – Paolo

1

Либо PHP или NGINX это неправильно

Вы можете запускать несколько экземпляров Nginx на том же сервере, при условии, что некоторые условия. Но это не то решение, которое вы должны искать (также это может вообще не решить вашу проблему).

 Смежные вопросы

  • Нет связанных вопросов^_^