nginx(一)介绍安装

一. Nginx介绍

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
 
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 
 
它已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站包括 Yandex、Mail.Ru、 VKontakte,以及 Rambler。据 Netcraft 统计,在 2012 年 8 月份,世界上最繁忙的网站中有 11.48%使用 Nginx 作为其服务器或者代理服务器。目前互联网主流公司360、百度、新浪、腾讯、阿里等,目前中国互联网企业 70%以上公司都在使用 nginx 作为自己的 web 服务器。Nginx 特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好。Nginx 由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过配置文件将客户端请求映射到一个 location block(location 是 Nginx配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完成相应的工作。

1.1.Nginx 相对于 Apache 优点:
1) 高并发响应性能非常好,官方 Nginx 处理静态文件并发 5w/s
2) 反向代理性能非常强。(可用于负载均衡)
3) 内存和 cpu 占用率低。(为 Apache 的 1/5-1/10)
4) 对后端服务有健康检查功能。
5) 支持 PHP cgi 方式和 fastcgi 方式。
6) 配置代码简洁且容易上手。 
 
1.2.Nginx 工作原理及安装配置
Nginx 由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个 location block(location 是 Nginx配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完成相应的工作。
Nginx 的模块从结构上分为
核心模块、基础模块和第三方模块: 
 
核心模块:HTTP 模块、 EVENT 模块和 MAIL 模块
基础模块: HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块和 HTTP Rewrite模块,
第三方模块:HTTP Upstream Request Hash 模块、 Notice 模块和 HTTP Access Key模块。

Nginx 的高并发得益于其采用了 epoll 模型,与传统的服务器程序架构不同,epoll 是linux 内核 2.6 以后才出现的。 Nginx 采用 epoll 模型,异步非阻塞,而 Apache 采用的是select 模型 
 
Select 特点:select 选择句柄的时候,是遍历所有句柄,也就是说句柄有事件响应时,
select 需要遍历所有句柄才能获取到哪些句柄有事件通知,因此效率是非常低。

epoll 的特点:epoll 对于句柄事件的选择不是遍历的,是事件响应的,就是句柄上事
件来就马上选择出来,不需要遍历整个句柄链表,因此效率非常高 

二. Nginx下载和安装

1. 创建目录,下载到usr/nginx目录下
// 进入usr
cd /usr

// 创建nginx目录
mkdir nginx

//进入nginx
cd nginx/

// 安装wget
yum install -y wget
// wget 下载
wget  http://nginx.org/download/nginx-1.13.0.tar.gz


在这里插入图片描述

2. 解压
// 解压
tar -zxvf nginx-1.13.0.tar.gz

在这里插入图片描述

3. 编译 和 安装
cd nginx-1.13.0
// 执行编译
./configure
// 如果在此步骤出现报错 C compiler cc is not found 解决
yum install gcc gcc-c++ ncurses-devel perl 
或者
yum install gcc


// 安装nginx
make & make install
//我是在make时候出现报错
//我这里出现报错 出现make: *** No rule to make target `build', needed by `default'.  Stop.
// 解决如下    安装这两个模块
yum install pcre pcre-devel
yum  install zlib gzip zlib-devel
// 然后重新再编译 再安装即可
./configure
make & make install

// 如果还不行 检查防火墙是否关闭
// 查看状态
firewall-cmd --state
// 关闭防火墙
systemctl stop firewalld
// 开机禁用
systemctl disable firewalld
 



在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

重新编译后
在这里插入图片描述

4. 启动nginx

默认安装位置:
在这里插入图片描述

// 查看 nginx目录  /usr/local/nginx
cd  /usr/local/nginx
// 进入 sbin目录
cd sbin/
//启动nginx
./nginx
// 查看进程
ps -ef | grep nginx

// 浏览器查看 直接用ip查看即可,80端口默认可不写,没有配置hosts情况ip查看


在这里插入图片描述

在这里插入图片描述

5. nginx常用命令
// 启动
./nginx

// 检查nginx.conf配置文件
./nginx-t

// 重启
./nginx-s reload

// 停止
./nginx-s stop

关于报错问题解释
这里引用了 博客园的 目标奔雷手
https://www.cnblogs.com/zrbfree/p/6419043.html

以下内容摘自他的笔记:

 170217、nginx 安装时候报错:make: *** No rule to make target `build', needed by `default'. Stop.

出现此种情况,是linux系统没有安装先决条件

1、GCC——GNU编译器集合(GCC可以使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不同的实现:yum是基于Red Hat的发布版本;apt用于Debian和Ubuntu;yast用于SuSE Linux等等。)

RedHat中安装GCC:

yum install gcc

Ubuntu中安装GCC:

apt-get install gcc

2、PCRE库(Nginx编译需要PCRE(Perl Compatible Regular Expression),因为Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码,这正是我们需要的理由。)

RedHat中安装PCRE:

yum install pcre pcre-devel

Ubuntu中安装PCRE:

apt-get install libpcre3 libpcre3-dev

3、zlib库(zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。如同安装PCRE一样,同样需要安装库和它的源代码:zlib和zlib-devel。)

RedHat中安装zlib:

yum install zlib zlib-devel

Ubuntu中安装zlib:

apt-get install zlib1g zlib1g-dev

4、OpenSSL库(在Nginx中,如果服务器提供安全网页时则会用到OpenSSL库,我们需要安装库文件和它的开发安装包(openssl和openssl-devel)。)

RedHat中安装OpenSSL:

yum install openssl openssl-devel

Ubuntu中安装OpenSSL:(注:Ubuntu14.04的仓库中没有发现openssl-dev):

apt-get install openssl openssl-dev

 注意:要不关闭防火墙,要不然放不了nginx页面

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值