1:反向代理:Reverse proxy
反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端
1.1: 源码安装nginx:
yum install openssl openssl-devel pcre pcre-devel gcc gcc-c++ make autoconf automake -y
mkdir /apps
cd /apps
wget http://nginx.org/download/nginx-1.12.2.tar.gzuseradd nginx -s /sbin/nologin -M
tar xf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --user=nginx --group=nginx --prefix=/apps/nginx-1.12.2 --with-http_stub_status_module --with-http_ssl_module
make
make install
1.2: 编辑配置文件
vim /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name www.test.org;
location / {
root /apps/nginx/html/www;
}
access_log /var/log/nginx/access_www.log main;
}
}
1.3: web站点配置hosts解析
[root@centos ~]# tail -1 /etc/hosts
192.168.138.103 www.test.org
[root@centos ~]# curl www.test.org
test-index
1.4: 最基本的负载均衡
vim /application/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream myapp1 {
#<== upstream 是关键字必须要有,后面的myapp1为一个Upstream集群组的名字,可以自定义,调用时就用这个名字。
server 192.168.138.103 weight=1;
#<==server 关键字是固定的,后面可以接域名或IP,如果不指定端口,默认是80端口。weight 代表权重,数值越大被分配到请求越多,默认值为1,所以此处可写可不写。结尾有分号,别忘了;
server 192.168.139.104 weight=1;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://myapp1;
}
}
}
/apps/nginx/sbin/nginx -t //检查语法是否错误
/apps/nginx/sbin/nginx -s reload //重新加载配置文件
1.5: 基于权重(wrr)
upstream myapp1 {
server 192.168.3.103 weight=1;
server 192.168.3.104 weight=2;
}