Nginx初识

最近总是零碎的听到Nginx、反向代理等词语。好不容易工作略有清闲,打算静下来了解一下Nginx。

希望在这篇博客写完之后,可以弄明白下面几个问题:

1、什么是Nginx。

2、Nginx是怎么产生的,它解决了什么问题。

3、Nginx简单部署。

4、什么是反向代理。

5、什么是负载均衡。

6、在什么场景下会想到Nginx。

为了解决这几个问题,我的学习方法是:

先去视频网站上找一些视频进行入门了解。比如极客学院。

然后自己动手搭建一次Nginx的环境。

最后通过网上找一些博客材料,来扩充Nginx的知识,并将这些知识汇总,逐渐在这篇博客中风趣。

■什么是Nginx

由俄罗斯的程序设计师Igor Sysoev所开发。

如apache、tomcat等服务器软件一样,Nginx要是一种服务器软件之一。

在百度百科上可以查看到非常全面的Nginx的定义。总结如下:

Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP、HTTPS、SMTP、POP和IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。

■Nginx是怎么产生的,它解决了什么问题

http://www.91linux.com/html/2017/Apache_0508/53841.html

这篇博客里比较全面的介绍了apache与nginx的区别,可供参考。

最核心的区别在于:

apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程。nginx处理请求是异步非阻塞的,而apache则是阻塞型的。

Nginx占用更少的内存及资源,抗并发。apache的rewrite更强大,bug少,更稳定。

总之,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache。

■Nginx的配置:

1、前提环境准备

2、解压缩文件

3、使用configure脚本检查配置

4、使用make命令编译文件

5、使用make install命令安装文件

6、检查nginx安装是否成功

7、启动nginx

下面来依次实践

1、前期准备:linux环境、nginx安装包

这里Linux环境,我选择的是Redhad7.2

nginx安装包可以从官网(http://nginx.org/)上下载,我这里下载的是nginx-1.12.0

将下载的安装包,通过文件上传工具上传至linux系统环境里面。

2、解压缩:tar -zxvf nginx-1.12.0.tar.gz

移动文件至/home/hadmin。命令:mv nginx-1.12.0 /home/hadmin/

这样就下载完nginx,并将文件解压缩到指定的路径下面了。

3、通过/home/hadmin/nginx-1.12.0下面的configure脚本来检查nginx的配置环境。

configure的作用:在编译安装Nginx时,我们需要使用configure命令做大量"幕后“工作,包括检测操作系统内核和已经安装的软件,参数解析,中间目录生成以及根据各种参数生成的.c文件、Makefile文件等。

参考博文:http://blog.csdn.net/fzy0201/article/details/17683883

问题一:

如下所示:

解决办法:使用yum命令安装相应的库文件。命令:yum -y install gcc gcc-c++ autoconf automake

问题二:

如下所示: 找不到库文件PCRE。

解决办法:使用yum命令安装相应的库文件。命令:yum -y install pcre pcre-devel

问题三:

如下所示:找不到zlib库文件

解决办法:使用yum命令安装相应的库文件。命令:yum -y install zlib zlib-devel

4、使用make命令来编译

正常编译结果:

5、使用make install命令来安装文件

正常安装结果:

6、检查nginx是否正常安装。如果正常安装会在/usr/local下面出现nginx的文件夹

安装前/usr/local下面的文件:

安装后/usr/local下面的文件:

nginx文件下面的文件夹包括:

7、使用命令/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf来启动nginx

也可以直接使用/usr/local/nginx/sbin/nginx,不带配置文件参数,此时默认使用nginx.conf启动。

■什么是反向代理:

请参考博文:https://my.oschina.net/yoyoko/blog/147414

  

■什么是负载均衡

负载均衡的4中配置方法:http://www.jb51.net/article/60523.htm

  

(后续更新)

原文地址:https://www.cnblogs.com/quchunhui/p/6825380.html