简介:
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
应用:
1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
概念解读:
正向代理:
正向代理其实就和我们平时所做的翻墙一样,例如:当我们想要访问某些国外的**网站时,因为某些原因我们无法访问到,这时候我们就可以找代理,代理有能力访问到那个网站,而我们只需要访问代理。就可以得到那个网站的内容了。且代理可以决定是否将用户信息告诉给网站。
总的来说正向代理是一个位于客户端与原始服务器之间的一个代理服务器,为了从原始服务器获取内容,客户端向代理发送一个请求并指定目标服务器(原始服务器),然后代理服务器向原始服务器转交请求并获取内容交给目标服务器,客户端必须进行特殊的设置才能使用正向代理。
反向代理:
与正向代理相反,举个例子:当用户访问某个服务器下的内容时,其实该服务器并无此内容,但是该服务器通过反向代理从另一台服务器中获取到了用户想要的内容,并返回给了用户。用户以为是在此服务器下获取到的内容,其实并不是。
总的来说,反向代理用户不需要进行特殊的设置,对用户来说他以为访问得到的内从是从原始服务器中得到的。其实是客户端向反向代理的命名空间中发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。
安装:
安装依赖
yum install gcc
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
可以合成一条命令
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
下载包:http://nginx.org/en/download.html
把包解压到文件夹下
tar -zxvf nginx-1.15.5.tar.gz
cd nginx-1.15.5/
./configure --prefix=/home/service/nginx/nginx #修改配置文件安装到此目录下
make && make install #安装
cd /home/service/nginx/nginx/sbin/ #进入刚刚的安装路径找到sbin目录进入
nginx #执行此脚本完成安装
接着浏览器访问此项目即可看到Nginx的欢迎页面,至此安装完成
相关命令:
nginx #启动
nginx -s quit #待nginx进程处理任务完毕进行停止
nginx -s stop #相当于先查出nginx进程id再使用kill命令强制杀掉进程
nginx -s reload #动态加载,当配置文件nginx.conf有变化时执行该命令动态加载(重启)
nginx -t #测试配置文件nginx.conf正确性
配置负载及代理:
vim /home/service/nginx/nginx/conf/nginx.conf #编辑Nginx的配置文件
#配置代理服务 weight负载的权重
upstream mytomcat{
server 198.216.15.12:8088 weight=1;
server 198.216.15.202:8088 weight=1;
}
#配置访问此端口及转发到自己配置的代理服务上
server {
listen 9090;
server_name localhost;
location / {
proxy_pass http://mytomcat;
}
}
现在访问本机的9090端口即可负载到12和202的8088端口