一、安装Ngnix
详细的安装教程以前的文章中写过,戳这里。
二、需求描述
负载规则如下:
/sso/*负载到192.168.0.4,192.168.0.5两台服务器的8080端口
/sync/*负载到192.168.0.4,192.168.0.5两台服务器的8081端口
/express/*负载到192.168.0.21,192.168.0.22两台服务器的8084端口
示例:
1. 访问api.fenghuangyouxuan.com/sso/login, 则转到192.168.0.4:8080/sso/login, 192.168.0.5:8080/sso/login
2. 访问api.fenghuangyouxuan.com/sync/start, 则转到192.168.0.4:8081/sync/start, 192.168.0.5:8081/sync/start
3. 访问api.fenghuangyouxuan.com/express/create, 则转到192.168.0.21:8084/express/create, 192.168.0.22:8084/express/create
三、配置文件
为了以后方便管理,将配置文件进行分开。
主配置/usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
include /etc/nginx/conf/*.conf;
}
新建/etc/nginx/conf目录,创建my.conf配置文件, 名字随意,内容如下:
upstream sso {
server 192.168.0.4:8080 max_fails=2 weight=1;
server 192.168.0.5:8080 max_fails=2 weight=1;
}
upstream sync {
server 192.168.0.4:8081 max_fails=2 weight=1;
server 192.168.0.5:8081 max_fails=2 weight=1;
}
upstream express {
server 192.168.0.21:8084 max_fails=2 weight=1;
server 192.168.0.22:8084 max_fails=2 weight=1;
}
server {
listen 80;
server_name api.demo.com;
location ^~ /sso/ {
proxy_pass http://sso;
}
location ^~ /sync/ {
proxy_pass http://sync;
}
location ^~ /express/ {
proxy_pass http://express;
}
}
这样就实现了以上的功能。
四、https的配置
需求:
前端协议:https
后端协议:http
负载策略:
所有链接均衡负载到 192.168.0.21, 192.168.0.22两台服务器的8081端口
在/etc/nginx/conf新建myhttps.conf, 内容如下:
upstream mini {
server 192.168.0.21:8081 max_fails=2 weight=1;
server 192.168.0.22:8081 max_fails=2 weight=1;
}
server {
listen 443 ssl;
server_name wx-ownedexpress.fenghuangyouxuan.com;
ssl_certificate /data/credit/ps.fenghuangyouxuan.com_bundle.crt;
ssl_certificate_key /data/credit/ps.fenghuangyouxuan.com.key;
location / {
proxy_pass http://mini;
}
}
虽然很简单,但是确实是没毛病。