高性能Web服务器Nginx实战入门—Nginx环境搭建

Nginx发展介绍
Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也可以作为邮件代理服务器。
Nginx 特点是占有内存少,并发处理能力强,以高性能、低系统资源消耗而闻名,Nginx官方测试为5万并发请求。与Nginx同类型的Web服务器还有Apache、Lighttpd(音同lighty)、Tengine(阿里巴巴的) 等。Nginx 的并发处理能力在同类型的Web服务器中表现极好(Apache、Lighttpd),在全世界范围内大量的网站使用了Nginx,国内互联网中也大量使用了Nginx,比如:淘宝、新浪、搜狐、网易、美团等。
Nginx是免费开源的,同时Nginx也有收费的商业版本,商业版本提供了性能优化、宕机等紧急问题处理等技术支持和服务。
视频观看~~~戳👇👇👇

正向代理和反向代理概念
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器;
正向代理类似一个跳板机,代理访问外部资源。比如:我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器,它能访问那个我不能访问的网站,于是我先连上代理服务器,告诉它我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。
正向代理和反向代理举例
正向代理
比如你现在缺钱,想找马云爸爸去借钱,可想而知人家可能鸟都不鸟你,到最后碰一鼻子灰借不到钱。不过你认识你家隔壁老王,而老王认识马云同志,而且关系还很好。这时候你托老王去找马云借钱,当然这事最后成了,你从马云那里借到了500万!这时候马云并不知道钱是你借的,只知道这钱是老王借的。最后由老王把钱转交给你。在这里,老王就充当了一个重要的角色:代理。
此时的代理,就是我们常说的正向代理。代理客户端去请求服务器,隐藏了真实客户端,服务器并不知道真实的客户端是谁。正向代理应用最广泛的莫过于现在的某些“科学上网工具”,你访问不了谷歌、Facebook的时候,你可以在国外搭建一台代理服务器,代理你访问,代理服务器再把请求到的数据转交给你,你就可以看到内容了。
反向代理
比如你现在很无聊,想找人聊天,这时候你拨通了联通客服10010电话,联通的总机可能随机给你分配一个闲置的客服给你接通。这时候你如愿以偿的和客服聊了起来,问了问她目前有没有结婚、有没有对象、家住哪里、她的微信号、她的手机号。。。
此时联通总机充当的角色就是反向代理,你只知道和客服接通并聊了起来,具体为什么会接通这个客服MM,怎么接通的,你并不知道。
反向代理隐藏了真正的服务端,就像你每天使用百度的时候,只知道敲打www.baidu.com就可以打开百度搜索页面,但背后成千上万台百度服务器具体是哪一台为我们服务的,我们并不知道。我们只知道这个代理服务器,它会把我们的请求转发到真实为我们服务的那台服务器那里去。
综上所述:正向代理代理对象是客户端,反向代理代理对象是服务端。
总结
软件层面一般常用Nginx来做反向代理服务器,它的性能非常好,用来做负载均衡。

Nginx环境搭建
下载
免费开源版的官方网站:http://nginx.org
Nginx 有 Windows 版本和 Linux 版本,但更推荐在 Linux 下使用 Nginx;
下载nginx-1.14.2.tar.gz的源代码文件:wget http://nginx.org/download/nginx-1.14.2.tar.gz
我的习惯,将下载或者上传的安装文件放到/home/soft/目录下
安装
安装前的准备
Nginx的安装需要确定Linux安装相关的几个库,否则配置和编译会出现错误, 具体的检查安装过程为:
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
一次性安装,执行如下命令
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
正式安装
解压下载下来的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目录下,查看内容

启动
普通启动
切换到nginx安装目录的sbin目录下,执行:./nginx

通过配置文件启动
./nginx -c /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
其中-c是指定配置文件,而且配置文件路径必须指定绝对路径

检查Nginx是否启动
通过查看进程:ps -ef | grep nginx

nginx 体系结构由 master 进程和其 worker 进程组成
master 进程读取配置文件,并维护 worker 进程,而 worker 进程则对请求进行实际处理
Nginx启动后,安装目录下会出现一些_tmp结尾的文件,这些是临时文件,不用管。
在浏览器中输入http://192.168.235.128:80/访问Nginx服务器,出现以下界面:

关闭
优雅关闭Nginx
找出nginx的进程号:ps -ef | grep nginx
执行命令:kill -QUIT 主pid

注意:
其中pid是主进程号的pid(master process),其他为子进程pid(worker process)
这种关闭方式会处理完请求后再关闭,所以称之为优雅的关闭
快速关闭Nginx:
找出nginx的进程号:ps -ef | grep nginx
kill -TERM 主pid
注意:
其中pid是主进程号的pid(master process),其他为子进程pid(worker process)
这种关闭方式不管请求是否处理完成,直接关闭,比较暴力,称之为快速的关闭

重启Nginx:
./nginx -s reload
配置检查
当修改Nginx配置文件后,可以使用Nginx命令进行配置文件语法检查,用于检查Nginx配置文件是否正确
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t

其它
Linux上查看nginx版本:/usr/local/nginx/sbin/nginx -V
-v (小写的v)显示 nginx 的版本
-V (大写的V)显示 nginx 的版本、编译器版本和配置参数

Window下环境搭建
在官方网站下载最新windows版的nginx:http://nginx.org/en/download.html
将下载下来的nginx压缩包解压到一个目录下,解压后该软件就可以启动使用了
启动方式1:双击解压目录下的nginx.exe文件即可运行nginx;
启动方式2:进入dos窗口,切换到nginx主目录下,在dos窗口执行命令:start nginx
关闭方式1:在资源管理器杀掉Nginx进程(有两个进程)
关闭方式2:在dos窗口切换到Nginx安装主目录下执行命令:nginx -s stop
最后,奉上Nginx视频教程,视频学习效果更佳,走过路过别忘素质三连哦~~

