1、反向代理:
--如上图所示:
--反向代理服务器:
--客户端发送请求:www.p2p.com [这其实就是 nginx ip对应的 注册域名]
--反向代理服务器:
--接受 www.p2p.com
--接收不处理,将其按照一定的算法转给后台相连的多个服务器
[注:] 1、客户端请求的对象就是nginx服务器本身,但是nginx不会告诉客户端,他把请求交给别人处理了。2、对客户端来说,他只知道自己请求的就是nginx。对客户端而言他只认为自己面对的是一台服务器,就是nginx它自己
--一句话总结:反向代理就是隐藏了服务器,让客户无从识别,即反向代理代理的是服务器
--举一个案例:你去打 10086 移动客服,接通以后会是10086随即给你分配的一个客服,你只知道你面对的是客服,至于他是谁来自哪儿、叫什么、为什么和你沟通起来,你都不知道。对你而言它就是客服这样一个统称
2、正向代理
--正向代理:
--客户端请求地址:www.p2p.com 但是访问不了,只能将请求地址 和 请求参数一并打包发给 www.daili.com
--代理:接收客户端请求,向 www.p2p.com 发送请求
[注:]
1、正向代理中客户端无法访问到目标地址。2、反向代理是可以访问到目标地址的
1、正向代理中客户端是不需要关注后台怎么处理请求,主要的关注点是通过另一个服务器访问能够获取到数据。2、反向代理需要关注真正处理的后台,是如何实现负载均衡,请求转发的
1、正向代理是代理客户端。2、反向代理是代理服务器
3、安装nginx
--检查nginx依赖包是否安装完毕
--gcc编译器是否安装
--检查是否安装:yum list installed | grep gcc
--执行安装:yum install gcc -y
--openssl库是否安装
--检查是否安装:yum list installed | grep openssl
--执行安装:yum install openssl openssl-devel -y
--pcre库是否安装
--检查是否安装:yum list installed | grep pcre
--执行安装:yum install pcre pcre-devel -y
--zlib库是否安装
--检查是否安装:yum list installed | grep zlib
--执行安装:yum install zlib zlib-devel -y
--安装nginx
--解压下载下来的nginx文件,执行命令:tar -zxvf nginx-1.14.2.tar.gz
--切换至解压后的nginx主目录,执行命令:cd nginx-1.14.2
--在nginx主目录nginx-1.14.2下执行命令:./configure --prefix=/usr/local/nginx
--(其中--prefix是指定nginx安装路径) 注意:等号左右不要有空格
--执行命令进行编译:make
--执行命令进行安装:make install
--安装成功查看:
--安装成功后,可以切换到/usr/local/nginx目录下,查看内容
4、启动nginx
--普通启动
--切换到 /usr/local/nginx/sbin目录,使用命令 ./nginx 启动nginx
-- master 进程是用来管理worker进程的,具体的请求转发之类的工作是由worker来完成的
--不需要到 sbin 目录下的 nginx 启动自己配制的命令的启动方式:-c表示选择特定的 conf 文件
--/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
--检查nginx是否启动 杀死进程:
--ps aux|grep nginx
--kill -QUIT 主pid号 优雅方式:不接受请求,现有请求响应完再关
--kill -TERM 主pid号 直接方式:立即停止,不管请求如何直接关闭
--重启 nginx: 指定配置文件
/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf
5、nginx 其他命令
--当修改Nginx配置文件后,可以使用Nginx命令进行配置文件语法检查,用于检查Nginx配置文件是否正确
--/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t