Nginx是一个使用c语言开发的高性能的http服务器及反向代理服务器。
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
应用场景:
1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
安装
依赖包:gcc,PCRE,zlib,openssl
步骤:源码上传linux,解压缩,进行configure,make,make install
启动 进入nginx的sbin目录,./nginx
关闭 kill或./nginx -s stop
刷新配置 ./nginx -s reload
配置
/usr/local/nginx/conf目录下的nginx.conf文件
一个server就是一个虚拟机
配置虚拟机:添加一个Server节点,修改端口号
通过域名区分虚拟机,配置基于域名的虚拟主机
反向代理
正向代理:
反向代理:
反向代理服务器是引用在服务端。决定哪台服务器提供服务。
反向代理的模拟
反向代理: 使用一台虚拟机,安装一个nginx(服务器),多个tomcat(应用服务器)
配置文件:
upstream tomcats{
server 192.168.25.148:8080;
server 192.168.25.148:8081;
}
server {
listen 80;
server_name tomcat.taotao.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcats;
index index.html index.htm;
}
}
负载均衡:只需要在upstream的server后面添加一个weight即可代表权重。权重越高,分配请求的数量就越多。默认权重是1