Nginx 概述
Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx相关概念
代理
参考文章:link
正向代理
位于客户端与原始服务器之间的代理服务器,为了从原始服务器获得请求,客户端向代理发出请求,随后向真是服务器发出请求。
简单一点: A向C借钱,由于一些情况不能直接向C借钱,于是A找B,B向C借钱,于是A得到了钱。
但是C并不知道A的存在。B就充当了A的代理人的角色。总结来说:正向代理隐藏了客户端client
反向代理
客户端去访问服务器时,并不知道访问那一台,就像是客户端访问代理服务器一样,实际上是当代理服务器拿到客户端请求后转发到真实服务器中的任意一台(或根据匹配规则来),在用户看来,客户端只是访问了代理服务器,典型的例子就是负载均衡。
A向B借钱,B没有拿自己钱,而是悄悄的向C去借钱,然后再交给A,A以为是B得钱,但不知道C的存在。
正向代理和反向代理的区别
位置不同
正向代理:架设在客户端与目标主机之间。
反向代理:架设在服务器端。
代理对象不同
正向代理:代理客户端,服务器不知道实际发起请求的客户端。
反向代理:代理服务器端,客户端不知道实际提供服务的服务端。
负载均衡
**早期架构:**客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较适合的,成本也低。
**集群部署,负载均衡:**随着信息量增加,请求数越来越多,单个服务器处理请求不能满足要求。增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是负载均衡。
动静分离
为了加快网站的解析速度,可以把动态页面和静态页面(html/css/js/img等)由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
Nginx 安装
进入 nginx 官网,下载 http://nginx.org/ nginx安装包。
安装依赖包
1. 安装pcre:
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz 解压文件,
./configure 完成后,回到 pcre 目录下执行 make,
再执行 make install
2. 安装openssl:
https://blog.csdn.net/shiyong1949/article/details/78212971
3. 安装zlib:
$wget http://www.zlib.net/zlib-1.2.8.tar.gz
$tar -xvzf zlib-1.2.8.tar.gz
$cd zlib-1.2.8.tar.gz
$./configure
$make
$make install
4. 安装nginx:
解压缩 nginx-xx.tar.gz 包。
进入解压缩目录,执行./configure。
make && make install
启动nginx:
在/usr/local/nginx/sbin 目录下执行 ./nginx
./nginx
停止nginx:
在/usr/local/nginx/sbin 目录下执行 ./nginx -s stop
重新加载命令
在/usr/local/nginx/sbin 目录下执行 ./nginx -s reload
查看nginx版本号:
在/usr/local/nginx/sbin 目录下执行 ./nginx -v
访问 ip:8890端口:
浏览器访问或curl访问:
nginx配置文件
nginx 安装目录下,其默认的配置文件都放在**/usr/local/nginx/conf目录**下,而主配置文件nginx.conf 也在其中,后续对 nginx 的使用基本上都是对此配置文件进行相应的修改。