-
-
Save learncodeacademy/ebba574fc3f438c851ae to your computer and use it in GitHub Desktop.
upstream project { | |
server 22.22.22.2:3000; | |
server 22.22.22.3:3000; | |
server 22.22.22.5:3000; | |
} | |
server { | |
listen 80; | |
location / { | |
proxy_pass http://project; | |
} | |
location ~* \.(css|js|gif|jpe?g|png)$ { | |
expires 168h; | |
} | |
location /api { | |
expires 10m; | |
} | |
} |
@juanpastas The ~*
means start case-insensitive regex, while ~
means case-sensitive regex.
Hi,
I am using pm2 for hosting nodejs webapps and pm2 has cluster mode for creating multiple instances
How should I put my multiple instances in nginx for load balancing and reverse proxy operation as for now my pm2 enabled nodejs works on locahost:3000 port 80 and i have configure my nginx on port 81
Please suggest !
put nginx on port 80 and your node application on say 8000, then in the upstream project
block, use
server 127.0.0.1:8000
pm2 will automatically balance the load between the cluster.
Why doesn't nginx load balance to my box with an express app running ?
ngnix is running on box1 under 55.55.55.5
express app is running on box2 uder 55.55.55.2:3000
When I'm going to 55.55.55.5 I'm getting this - Welcome to nginx! bla bla bla
upstream project {
server 55.55.55.2:3000
}
server {
listen 80;
location / {
proxy_pass http://project;
}
}
SOLVED
The issue was because of default conf file in sites-available, just delete or rename it and you good to go.
if something is wrong try like this
location ~ ^/views/((css|js|gif|jpe?g|png).*)$ {
expires 168h;
}
can you please write this code in apache also.
@juanpastas read more about the
~*
http://nginx.org/en/docs/http/ngx_http_core_module.html#location