什么是Nginx?

Nginx是一个高性能HTTP、反向代理服务器,以其稳定性、高效性和低内存占用著称。它广泛应用于各大互联网公司,如京东、360、百度、新浪、腾讯和阿里。Nginx的优势包括高并发响应、负载均衡、健康检查和低系统资源消耗。其工作原理涉及处理器模块、过滤器模块和代理类模块,通过location匹配进行请求处理。安装配置Nginx时,需要指定模块如rewrite,并确保系统有PCRE库支持。
摘要由CSDN通过智能技术生成

什么是Nginx Web服务器?
Nginx是一个高性能HTTP、反向代理、IMAP、POP3、SMTP服务器,一个超文本传输协议和反向代理服务器、一个邮件代理服务器和一个通用的TCP/UDP代理服务器
Nginx是由 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,第一个公开版本发布于2004年10月4日。其源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名由于 Nginx的高性能、轻量级,目前越来越多的互联网企业开始使用 Nginx做为Web服务器。据 Netcraft统计,在2017年4月份,世界上最繁忙的网站中有28.72%使用Nignx作为其服务器或者代理服务器。
Nginx已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站包括 Yandex、Mai.Ru、 VKontakte以及 Rambler。目前互联网主流公司京东、360、百度、新浪、腾讯、阿里都在使用 nginx作为自己的Web服务器。

Nginx特点是占有内存少,并发能力强,事实上 Nginx的并发能力确实在同类型的网页服务器中表现较好。

一、Nginx相对于 Apache优点:
1、高并发响应性能非常好,官方 Nginx处理静态文件并发5w/s;
2、负载均衡及反向代理性能非常强;
3、系统内存和CPU占用率低;
4、可对后端服务进行健康检查;
5、支持 PHP CGI方式和 FastCGI方式
6、可以作为缓存服务器、邮件代理服务器
7、配置代码简洁且容易上手

二、Nginx工作原理
Nginx Web服务器主要是由各种模块协同工作,模块从结构上分为核心模块,基础模块和第三方模块,其中三类模块分别如下:
1、核心模块:HTTP模块、event模块和mail模块等。
2、基础模块:Http access模块、Http FastCGI模块、Http proxy模块和HTTP rewrite模块。
3、第三方模块: Http upstream request hash模块、 notice模块和 Http access key模块、 limit_req模块等。

Nginx的模块从功能上分为如下三类
1、handlers(处理器模块):此类模块直接处理请求,并进行输出内容和修改 headers信息等操作, handlers处理器模块一般只能有一个。
2、filters(过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后由 Nginx输出。
3、proxies(代理类模块):此类模块是 Nginx的 Http upstream之类的模块,这些模块主要与后端一些服务比如 Fast CGI等进行交互,实现服务代理和负载均衡等功能。

Nginx由内核和模块组成,其中内核的设计非常微小和简洁,完成的工作也非常简单仅是通过查找配置文件将客户端的请求映射到一个 location block,而 location是 Nginx配置中的一个指令,用于访问的URL匹配,而 location中所配置的每个指令将会启动不同的模块去完成相应的工作。

三、Nginx安装配置
Nginx Web安装时可以指定很多的模块,默认需要安装 rewrite模块,需要系统有PCRE库,安装PCRE支持 rewrite功能,以下为安装 Nginx Web服务器的方法,注意Nginx整合PCRE库,需要指定PCRE源码目录,而不是PCRE编译完成之后的路径,否则会报错。代码如下:
#安装比PCRE库支持

yum install pcre-devel  pcre  -y

#还要在linux安装其它依赖包

yum install gcc-c++
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

#下载nginx源码包

cd /usr/src
wget -c http://nginx.org/download/nginx-1.12.0.tar.gz

#解压nginx源码包

tar-xzf nginx-1.12.0. tar. gz

#进入解压目录,然后sed修改为Nginx版本信息为JWS

cd nginx-1.12. 0
sed -i -e 's/1. 12. 0//g' -e 's/nginx\//JWS/g' -e 's/"NGINX"/"JWS"/g'  src/core/nginx.h

#预编译 Nginx
useradd www
./configure --user=www --group==www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_moudle

./configure–user=www --group==www --prefix=/usr/local/nginx --with-http_stub_status_module --with-openssl=/usr/lib64/openssl
#./conf igure预编译成功后,执行make命令进行编译
make
#make执行成功后,执行 make install正式安装

make install

至此nginx Web服务器安装结束。

接着测试 Nginx服务安装是否正确,同时启动 Nginx Web服务
检查 Nginx配置文件是否正确,返回OK即正确。

[root@bogon /]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@bogon /]# 

然后启动 Nginx,执行命令/usr/ocal/ nginx/sbin/ nginx按 Enter键即可
[root@bogon ~]# /usr/local/nginx/sbin/nginx
查看进程是否已启动,代码如下

[root@bogon ~]# ps -ef | grep nginx
root      9281     1  0 08:03 ?        00:00:00 nginx: master process 		 
/usr/local/nginx/sbin/nginx
www       9282  9281  0 08:03 ?        00:00:00 nginx: worker process      
root      9284  2881  0 08:04 pts/0    00:00:00 grep nginx
[root@bogon ~]# 

#关闭nginx

/usr/local/nginx/sbin/nginx -s stop

#重新加载设置

/usr/local/nginx/sbin/nginx -s reload     

通过浏览器访问 nginx默认测试页面,直接在浏览器上输入虚拟机的ip地址就好,记得把防火墙关了,service iptables stop 是临时关闭,下次重启虚拟机,防火墙会启动,如图所示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值