———-写在前面———
最近项目不太忙,阿里云服务器也快过期了,所以趁着这个空闲,好好利用服务器资源,练练手,写写博客。
声明:以下所有操作和截图都来自于本人阿里云服务器实例,操作逻辑和Nginx概述借鉴于其他Nginx系列博客。
操作系统:centos7.2 64位
1.Nginx概述
Nginx是一个免费的、开源的、高性能的Web服务器和反向代理服务器,以其高性能、稳定性、丰富的功能、配置简单、资源消耗少著称。Nginx有别于传统Web服务器依赖于线程来处理请求,而是基于事件驱动模型,使用更少资源提供更多服务,解决了C10K问题。
2.Nginx 相对于 Apache 优点:
1) 高并发响应性能非常好,官方 Nginx 处理静态文件并发 5w/s
2) 反向代理性能非常强。(可用于负载均衡)
3) 内存和 cpu 占用率低。(为 Apache 的 1/5-1/10)
4) 对后端服务有健康检查功能。
5) 支持 PHP cgi 方式和 fastcgi 方式。
6) 配置代码简洁且容易上手。
Nginx 的高并发得益于其采用了 epoll 模型,与传统的服务器程序架构不同,epoll 是linux 内核 2.6 以后才出现的。 Nginx 采用 epoll 模型,异步非阻塞,而 Apache 采用的是select 模型。
Select 特点:select 选择句柄的时候,是遍历所有句柄,也就是说句柄有事件响应时,select 需要遍历所有句柄才能获取到哪些句柄有事件通知,因此效率是非常低。
epoll 的特点:epoll 对于句柄事件的选择不是遍历的,是事件响应的,就是句柄上事件来就马上选择出来,不需要遍历整个句柄链表,因此效率非常高
3.Nginx下载安装
通过putty连接上阿里云服务器,输入用户名和密码登陆服务器。
3.1、Nginx下载:nginx-1.13.0.tar.gz,
下载命令:wget http://nginx.org/download/nginx-1.13.0.tar.gz
3.2、Nginx解压安装
进入local文件夹(cd /usr/local),新建software文件夹(mkdir software),然后将nigix解压文件移动到该文件夹,并进行解压(tar -zxvf ngxin-1.13.0.tar.gz)
3.3、Nginx编译
进入目录,输入 ./configure命令编译文件
编译过程,会由于系统缺少编译环境而报错,根据所报错误安装所需要的工具和库即可:
例如
1.缺少pcre依赖
2.缺少zlib依赖
3.4、编译成功,如下图所示
3.5、安装Nginx
安装命令:make & make install,如下图所示
安装成功后,默认在/usr/local/ 目录下新建nginx目录,存放nginx文件。进入nginx目录 cd/usr/local/nginx
3.6、启动Nginx
进入sbin目录,输入命令 ./nginx,启动nginx服务。
在本地电脑打开浏览器,输入阿里云公网ip地址,如图所示,则启动成功
3.7、查看Nginx进程,关闭Nginx和重启Nginx
3.7.1查看Nginx进程
输入命令:ps -ef|grep nginx,查看nginx进程,可以看到一个master process(主进程)和一个worker process(工作进程),后面会详细讲解,如下图所示:
3.7.2关闭Nginx
输入命令:kill quit 进程号 来关闭nginx,再查看进程,nginx已经关闭
3.7.3重启nginx
进入/usr/local/nginx/sbin目录,输入./nginx命令,重启nginx,查看进程,nginx重启成功。
4.结语
至此,nginx安装完成。