上篇博客中先实践了nginx在Linux系统的安装,本篇博客学一下nginx到底是个啥?
nginx是什么?
服务器。nginx能干吗?
充当http服务器、反向代理服务器、虚拟主机。http服务器
是什么?是web服务器的一种,它是基于超文本传输协议HTTP的服务器。能干嘛?HTTP服务器会等待浏览器发送的请求,接收到URL请求后从中提取有用信息作出处理,最后将 处理结果返回给客户端。
反向代理
是什么?代理服务器能干嘛?nginx接受pc机通过浏览器发来的请求,然后将请求转发给内网上的web服务器(下图中右侧的服 务器),并将从服务器上得到的结果返回给internet上请求的客户端。
原理图:pc机为n台
虚拟主机
是什么?把一台真实的物理服务器主机分割成多个逻辑存储单元。每个逻辑单元都没有物理实体,但是每 一个逻辑单元都能像真实的物理主机一样在网络上工作,具有单独的IP地址(或共享的IP地址)、独立的 域名以及完整的Internet服务器(支持WWW、FTP、E-mail等)功能。能干嘛?一台服务器上能够毫无冲突地配置多个网络IP地址,不必再为建立一个站点而购置单独的服务 器,降低费用提高效率。
nginx 安装链接博客
nginx在Linux上安装nginx各种作用示例
反向代理:
一、找配置文件nginx的安装目录下conf文件夹中有一个nginx.conf配置文件,进行如下修改:
upstream tomcats{
#不同tomcat的ip,端口配置
server 192.168.25.148:8080 weight=2;
server 192.168.25.148:8081;
}
server {
listen 80;
server_name tomcat.taotao.com;
location / {
proxy_pass http://tomcats; #这里要和upstream后的一样
index index.html index.htm;
}
}
负载均衡:上图在配置文件的tomcat后添加weight权重配置可以实现负载均衡,权重越大被访问的几率越大。
虚拟主机:
一、找配置文件nginx的安装目录下conf文件夹中有一个nginx.conf配置文件,其中有如下图中的一段server配置,其 中根目录位于安装目录下与conf文件夹同级。
1、通过端口区分虚拟机——在nginx.conf中添加一个server节点,修改端口号。
server {
listen 80;
server_name localhost;
location / {
root html-test3;
index index.html index.htm;
}
}
server {
listen 81;
server_name localhost;
location / {
root html81; #需要新建一个根目录
index index.html index.htm;
}
}
2、通过域名区分虚拟机域名:域名可以解析为ip地址。
(1)配置域名,将ip转换为域名
使用SwitchHosts工具:选择本地方案,单击添加后在空白处进行编辑前面为ip,后面为对应的域 名;最后单击③应用。然后单击当前系统可进行查看是否应用成功。
同样需要修改nginx.conf,修改域名。
server {
listen 80;
server_name test.taotao.com;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 80;
server_name test2.taotao.com;
location / {
root html;
index index.html index.htm;
}
}
访问:启动nginx,第一种方法使用ip+端口号,第二种直接使用域名访问。
小结:
Nginx虚拟主机和反向代理的功能是系统进行集群和分布式不可缺少的。Nginx的http服务器功能可以结合FastDfS图片上传和下载举个实例,下篇博客见。