Nginx 介绍
Nginx是一款轻量级的Web 服务器、反向代理服务器、电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。
由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。
特点
其特点是占有内存少,
并发能力强,
事实上nginx的并发能力确实在同类型的网页服务器中表现较好
Nginx优势
更快
正常情况下单次请求得到更快的响应,高峰期(数以万计的并发时)Nginx可以比其它web服务器更快的响应请求。
高扩展性
低耦合设计的模块组成,丰富的第三方模块支持。
高可靠性
经过大批网站检验,每个worker进程相对独立,master进程在一个worker 进程出错时,可以快速开启新的worker进程提供服务。
低内存消耗
一般情况下,10000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗 2.5M内存,这是Nginx支持高并发的基础。
单机支持10万以上的并发连接(取决于内存,10万远未封顶)
热部署
master和worker的分离设计,可实现7x24小时不间断服务的前提下,升级Nginx可执行文件,当然也支持更新配置项和日志文件。
最自由的BSD许可协议
BSD许可协议允许用户免费使用Nginx、修改Nginx源码,然后再发布。这吸引了无数的开发者继续为 Nginx贡献智慧。
Nginx安装
解压对应的文件
tar -xzvf openssl-1.0.2o.tar.gz
tar -xzvf zlib-1.2.11.tar.gz
unzip pcre-8.42.zip
unzip nginx-1.13.12.zip
生成makefile
./auto/configure --with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2o
编译
make
安装
sudo make install
验证
sudo /usr/local/nginx/sbin/nginx
ps aux | grep nginx
nginx命令使用
帮助命令 nginx -h
启动Nginx服务器(这会自动读取配置文件:/usr/local/nginx/conf/nginx.conf)
sudo nginx
测试:
打开浏览器访问此机器的IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功
测试配置文件
sudo nginx -t
指定配置文件启动Nginx
sudo nginx -c /usr/local/nginx/conf/nginx.conf
暴力停止服务
sudo nginx -s stop
优雅停止服务
sudo nginx -s quit
暴力停止服务和优雅停止服务的区别:
当暴力停止服务时,worker进程与master进程在收到信号立即退出进程。
当优雅停止服务时,首先会关闭监听端口,停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程。
重新加载配置文件
sudo nginx -s reload
反向代理
什么是反向代理
反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
正向代理和反向代理区别
正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求
反向代理服务器会帮我们把请求转发到真实的服务器那里去。Nginx就是性能非常好的反向代理服务器,用来做负载均衡。
两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端
Nginx相关资源
Nginx官方文档:http://nginx.org/en/docs/
Nginx维护包的官方网站:http://nginx.org
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)