Мне нужно использовать сервер как балансировщик нагрузки и веб-сервер одновременно.
Вот мой конфиг nginx для сайта:
upstream load_balancer {
least_conn;
server localhost;
#server srv2.example.com;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /var/www;
index index.php index.html index.htm;
location / {
proxy_pass http://load_balancer;
}
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
Можно ли использовать один сервер как балансировщик нагрузки и веб-сервер одновременно? Как это сделать?
Огромное спасибо заранее!
решение1
Да, это возможно;
Вы можете просто создать виртуальный хост с другим портом.
(Load Balancer [Port 80] + Virtualhost [Port 81])
Таким образом, по сути, один сервер будет прослушивать два порта: один обслуживает веб-страницу, а другой балансирует нагрузку.
Затем при подключении веб-сайта на сервере к балансировщику нагрузки вы будете использовать IP-адресlocalhost:81
Вы можете создать локальный веб-сайт, набрав:
sudo nano /etc/nginx/sites-available/example.com
Затем вставляем (может потребоваться редактирование по мере необходимости).
server {
listen 81;
root /var/www/example.com/public_html;
index index.html index.htm;
server_name example.com;
}
Надеюсь это поможет!