Nginx 系列教程(一)| 手把手教你在 Linux 环境下搭建 Nginx 服务
作者:JackTian
来源:公众号【杰哥的 IT 之旅】
ID:Jake_Internet
一、什么是 Nginx?
Nginx
是一个高性能的HTTP
和反向代理Web
服务器,也提供了IMAP / POP3 / SMTP
服务,由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru
站点而开发,第一个公开版本0.1.0
发布于2004年10月4日
,特点是占有内存少,并发能力强,专为性能优化而开发,稳定性和低系统资源消耗,以及对HTTP
并发连接的高处理能力,可支持单台高达50000
个并发连接数。
那么,在事实上Nginx
的并发能力在同类型的网页服务器中表现较好,实际环境中,如果我们采用Nginx
的话,可能是如下该场景的架构图。其实,在如下这种架构图中,Nginx
服务器你可以直接理解为是一台负载均衡服务器
或者反向代理服务器
,所以当客户端
发出请求到Nginx服务器
时,Nginx服务器
需将它配置好的规则由客户端
发来的请求并转发到后端的LAMP
、Tomcat
、LNMP
上。
二、为什么要用 Nginx?
作为 Web 服务器
相比 Apache,Nginx 使用资源更少,支持更多的并发连接数。在高并发的情况下,Nginx 是 Apache 服务器的替代品,Nginx 作为负载均衡服务器,内部是支持Rails
和PHP
程序对外服务,也支持作为HTTP代理服务器
对外服务,采用C语言
编写,无论在系统资源开销还是CPU
使用效率要比Perlbal
好很多。
Nginx 配置简单,Apache 复杂
Nginx 启动容易,几乎可以做到7*24
小时不间断运行,即便很长时间未重新启动,也能够在不间断服务的情况下对软件版本进行升级,静态处理性能要比 Apache 高 3 倍以上,Nginx 需要配合其他后端来进行使用,而 Apache 对 PHP 支持较简单,组件同时也比 Nginx 多。
核心点
Nginx 是异步的,多连接可对应一个进程;
Apache 是同步多进程模型,一个连接对应一个进程;
擅长领域
Nginx 适用于前端处理静态请求;
Apache 适用于后端处理动态请求;
三、Nginx 安装
安装支持软件
Nginx 的配置及运行需要pcre
、zlib
软件包的支持,需先安装这些软件的开发包供相应的库和头文件,以此来确保 Nginx 的顺利安装。
创建运行用户、组
Nginx 服务程序默认以noboby
身份运行,这里建议大家创建新的用户账号,更准确的控制访问权限、增加灵活性、降低安全风险;
下载编译安装
配置 Nginx 的编译选项时,将安装目录设为/usr/local/nginx
,运行用户和组均设为nginx
;启用http_stub_status_module
模块以支持状态统计,便于查看服务器的连接信息。
为主程序 Nginx 创建链接文件
安装好之后,进入默认安装路径到sbin
目录下,执行nginx
即可启动;
监听 Nginx 程序的状态
监听到端口后,在浏览器中直接访问Nginx
地址,当浏览器看到如下页面时,说明Nginx
已经安装成功了。
使用 Nginx 服务脚本
可编写Nginx
服务脚本,使用chkconfig
和service
工具进行统一管理;
如果修改了Nginx
的配置文件,可通过./nginx -s reload
命令加载Nginx
配置文件。
总结
以上我们介绍了Nginx
的基本概念、为什么要用Nginx
、Nginx 的安装有个初步的认识,待后续的文章继续介绍正向代理
、反向代理
、负载均衡
以及构建 LNMP 架构
等;今天我们就介绍到这里,有问题大家随时留言讨论哦。
原创不易,码字不易。 觉得这篇文章对你有点用的话,麻烦你为本文点个赞,或转发一下,因为这将是我输出更多优质文章的动力,感谢!
关注微信公众号『杰哥的 IT 之旅』,后台回复“1024”查看更多内容,回复“微信”添加我微信。
版权声明: 本文为 InfoQ 作者【JackTian】的原创文章。
原文链接:【http://xie.infoq.cn/article/967db33e24ff54850e8be0611】。文章转载请联系作者。
评论