1. 什么是Nginx?
- Nginx是一个高性能的HTTP和反向代理web服务器
- 主要功能是反向代理
- 通过配置文件就可以实现集群和负载均衡,配置十分简单,不需要重启服务器,可以实现热加载
- 通过nginx可以把本地静态资源,比如html、css、图片等虚拟化为一个服务,随后通过浏览器的URL访问到对应的资源了
- 前端的请求会最先通过Nginx进行请求的分发,随后再把响应的请求分发到内部的计算机节点,Nginx就充当了一个负载均衡器、反向代理器等角色
2. 什么是正向代理?
- 客户端请求目标服务器的时候不是直接去请求的,中间需要一个代理服务器
- 请求会先经过代理服务器,然后再转发请求到目标服务器,获得内容后响应给客户端
- 这个代理服务器就是正向代理服务器
3. 什么是反向代理?
- 用户请求目标服务器,由代理服务器决定访问哪个IP、哪个节点
- 这个代理服务器就是反向代理服务器
4. 如何安装Nginx?
- 安装相关依赖
yum install gcc
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
- 下载Linux版本的Nginx并解压
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
- 切换目录并执行./configure
cd nginx-1.18.0
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--http-client-body-temp-path=/var/tmp/client \
--http-proxy-temp-path=/var/tmp/proxy \
--http-fastcgi-temp-path=/var/tmp/fastcgi \
--http-uwsgi-temp-path=/var/tmp/uwsgi \
--http-scgi-temp-path=/var/tmp/scgi \
--with-http_ssl_module \
--with-http_gzip_static_module
- 编译并安装
make && make install
- 文件默认安装到/usr/local/nginx
- 启动nginx
./sbin/nginx
- 浏览器访问结果如下:
5. 请求Nginx默认页面
Nginx默认监听80端口,当浏览器输入网址后,会首先访问Nginx,然后找到html等静态资源文件, 那么是如何找到的呢?首先我们打开conf文件夹下的nginx.conf文件,文件中有如下一段描述:
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
这一整个大括号代表了一个server,即一个服务器。
listen:监听80端口
server_name :监听的IP地址或者域名
location /
root html:表示一个静态资源文件的相对文件夹html,默认情况下是nginx/html文件夹
index index.html:默认的首页,即Nginx默认的首页