Nginx 安装(学习笔记一)

news/2024/7/9 16:03:37 标签: 运维, epoll, php

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

Nginx 相对于 Apache 优点:

1) 高并发响应性能非常好,官方 Nginx 处理静态文件并发 5w/s

2) 反向代理性能非常强。(可用于负载均衡)

3) 内存和 cpu 占用率低。(为 Apache 的 1/5-1/10)

4) 对后端服务有健康检查功能。

5) 支持 PHP cgi 方式和 fastcgi 方式。

6) 配置代码简洁且容易上手。 


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 对于句柄事件的选择不是遍历的,是事件响应的,就是句柄上事

件来就马上选择出来,不需要遍历整个句柄链表,因此效率非常高 

1、安装:

yum -y install wget libtool expat-devel pcre-devel zlib-devel openssl openssl-devel pcre gcc gcc-c++ glibc automake autoconf libtool make libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel

#安装pcre

cd /usr/local/src

wget http://sourceforge.net/projects/pcre/files/pcre/8.39/pcre-8.39.tar.gz/download -O  pcre-8.39.tar.gz

tar -zxvf pcre-8.39.tar.gz

cd pcre-8.39

./configure

make && make install

#安装zlib

  cd /usr/local/src

  wget http://zlib.net/zlib-1.2.11.tar.gz

  tar -zxvf zlib-1.2.11.tar.gz

  cd zlib-1.2.11

  ./configure

  make && make install

#安装openssl

cd /usr/local/src

wget https://www.openssl.org/source/openssl-1.1.0b.tar.gz

tar -zxvf openssl-1.1.0b.tar.gz

cd openssl-1.1.0b

./config

make && make install

#安装nginx

cd /usr/local/src

wget http://nginx.org/download/nginx-1.10.2.tar.gz

tar -zxvf nginx-1.10.2.tar.gz

cd nginx-1.10.2

groupadd -r nginx

useradd -r -g nginx nginx

./configure \

  --prefix=/usr/local/nginx \

  --sbin-path=/usr/local/nginx/sbin/nginx \

  --conf-path=/usr/local/nginx/nginx.conf \

  --pid-path=/usr/local/nginx/nginx.pid \

  --user=nginx \

  --group=nginx \

  --with-http_ssl_module \

  --with-http_flv_module \

--with-http_mp4_module  \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/tmp/nginx/client/ \

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \

--http-scgi-temp-path=/var/tmp/nginx/scgi \

--with-pcre=/usr/local/src/pcre-8.39 \

--with-zlib=/usr/local/src/zlib-1.2.11 \

--with-openssl=/usr/local/src/openssl-1.1.0b \

;

make && make install

netstat -ano|grep 80

mkdir -p /var/tmp/nginx/client

/usr/local/nginx/sbin/nginx


启动

./nginx

检查 nginx.conf配置文件

./nginx -t

重启

./nginx -s reload

停止

./nginx -s stop


http://www.niftyadmin.cn/n/1203847.html

相关文章

ES6变量的解构赋值

含义 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。在解构没出现前,我们只能直接为变量赋值 let a 1; let b 2; let c 3; ES6 允许写成下面这样 let [a, b, c] [1, 2, 3]; 分析:从数组…

Python数据结构之二分查找

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 1、递归实现 def binary_search(li, val, start, end):mid (sta…

maven ,添加加密算法,使用

1:消息摘要:(数字指纹):既对一个任意长度的一个数据块进行计算,产生一个唯一指纹。MD5/SHA1发送给其他人你的信息和摘要,其他人用相同的加密方法得到摘要,最后进行比较摘要是否相同。 MD5(Message Digest a…

数据结构之排序之lowb三人组

1、冒泡排序 重复地走访过要排序的元素列,一次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成…

概率论的定义(一)

下午去听了由学校和一些大数据企业联合组织的「大数据分析与算法培训班」课,首先讲的就是概率论,整个过程基本就是老师帮我们把以前关于概率论遗忘的知识串起来,所以晚上趁热打铁,把今天的内容知识小结一下。(总感觉有…

服务器负载均衡lvs(Linux Virtual Server)

服务器负载均衡lvs(Linux Virtual Server) 一、总结 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。 三、Linux虚拟服务器 LVS的三种负载均衡方式比较 1、LVS的定义? LVS是Linux…

No22.Python爬虫之使用urllib库爬取拉钩网并写入excel表格

# 这里我们导入一些需要用到的包 import re # 导入正则模块,用于提取ip地址 import json # 由于拉钩网返回的数据是json格式,我们json模块来处理 import time # 避免爬虫爬的太快被封 import random # 随机模块 import openpyxl # 操作ex…

全概率公式(二)

1.条件概率公式 上一节讲了概率论的定义,这节主要讲全概率公式。说到全概率公式,就不得不先把条件概率公式交代清楚了。我们来先看看条件概率公式:很多人每次用这个公式都得百度,隔好长一段时间不用,这个公式就想不…