一、认识nginx

常用的web服务有Apache、IIS(windows系统)、Lighttpd、Tomcat、Nginx等。Nginx是一个开源的,支持高性能、高并发的www服务和代理服务软件。它是由俄罗斯人Igor Sysoev开发的,最初被应用在俄罗斯的大型网站WWW.rambler.ru上。后来作者讲源码以类似BSD许可证的形式开源出来供全球使用。

Nginx因具有高并发(特别擅长于静态资源)、占用系统资源少等特性,且功能丰富而逐渐流行起来

二、nginx功能应用

  • 做web服务软件:Nginx是一个支持高性能、高并发的web服务软件,它具有很多优秀的特性,作为web服务器,与Apache相比,Nginx能够支持更多的并发连接访问,但占用的资源却很少,效率更高,在功能上也强大了很多,几乎不逊色与Apache
  • 反向代理或负载均衡服务:在方向代理或负载均衡服务方面,Nginx可以作为web服务、PHP等动态服务及Memcached等缓存的代理服务器,它具有类似专业反向代理软件(如Haproxy)的功能,同时也是一个优秀的邮件代理服务软件(最早开发这个产品的目的之一就是作为邮件代理服务),但是Nginx的代理功能还是相对简单了些,特别是不支持TCP的代理(Nginx1.90以上的版本已支持TCP代理)
  • 前端业务数据缓存服务:在web缓存服务方便,Nginx可通过自身的proxy_cache模块实现类Squid等专业缓存软件的功能。

特点及优势:

支持高并发:能支持几万并发连接(特别是静态小文件业务环境)

  • 资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB
  • 可以做HTTP反向代理及加速缓存,即负载均衡功能,内置对RS(real server)节点服务器健康检查功能,这相当于专业的Haproxy软件或LVS的功能
  • 具备Squid等专业缓存软件等的缓存功能
  • 支持异步网络I/O事件模型epoll(linux 2.6)

注:

大并发写操作:先写内存,再将内存数据存储到硬盘中---保证访问效率

大并发读操作:先写磁盘,再将磁盘数据存储到内存中---保证数据安全

总结:高并发→资源消耗少→功能多样(web、负载均衡、支持缓存)→通讯模型先进(epoll)

三、安装编译安装nginx

本机环境:

[root@web ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@web ~]# uname -r
2.6.-.el6.x86_64

第一里程碑:安装nginx所需的(pcre-devel openssl-devel)库

[root@web ~]# yum install –y pcre-devel openssl-devel

第二里程碑:下载安装nginx

#下载软件包
Wget http://110.96.192.8:83/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/mirrors.sohu.com/nginx/nginx-1.10.2.tar.gz
#解压
tar zxf nginx-1.10..tar.gz
useradd –s /sbin/nologin –M www #创建用户
cd ../nginx-1.10./ #进入解压后的目录
#编译并安装
./configure --prefix=/usr/local/nginx-1.10. --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
Make && make install 创建软连接
ln -s /usr/local/nginx-1.10./ /usr/local/nginx #方便后期使用或升级版本

注:本次下载使用的是搜狐镜像源,可以到官方镜像源下载。

Nginx官方网站:http://nginx.org/download/nginx-1.10.2.tar.gz
搜狐镜像源:http://mirrors.sohu.com/nginx/

第三里程碑:检查并启动服务

#检查安装情况
[root@web ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.
built by gcc 4.4. (Red Hat 4.4.-) (GCC)
built with OpenSSL 1.0.1e-fips Feb
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx-1.10./ --with-http_stub_status_module --with-http_ssl_module #启动服务:
[root@web ~]# /usr/local/nginx/sbin/nginx

#测试访问
直接访问服务器IP,会显示nginx的页面。

第四里程碑:nginx相关启动参数

[root@web ~]# /usr/local/nginx/sbin/nginx -h
nginx version: nginx/1.10.
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives] Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/local/nginx-1.10.//)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file

四、nginx程序目录结构及配置文件

1、nginx目录结构

[root@web local]# tree -L  nginx
nginx
├── conf <-软件配置文件保存目录(fastcgi、scgi、uwsgi等)
├── html <-网站站点目录
├── logs <-日志文件保存目录
└── sbin <-Nginx命令保存目录

2、nginx配置文件

Conf文件夹中包含以下两个文件:
nginx.conf <- nginx程序的主配置文件
nginx.conf.default <- nginx配置备份文件

3、配置文件web服务常用参数

[root@web conf]# egrep -v "#|^$" nginx.conf.default    #去掉包含#号和空行的内容
worker_processes ; #worker进程的数量
events { #事件区块开始
worker_connections ; #每个worker进程支持的最大连接数
} #事件区块结束
http { #HTTP区块开始
include mime.types; #nginx支持的媒体类型库文件
default_type local/octet-stream; #默认的媒体类型
sendfile on; #开启高效传输模式
keepalive_timeout ; #连接超时
server { #第一个server区块开始,表示一个独立的虚拟主机站点
listen ; #提供服务的端口,默认80
server_name localhost; #提供服务的域名主机名
location / { #第一个location区块开始
root html; #站点的根目录,相当于nginx的安装目录
index index.html index.htm; #默认的首页文件,多个空格分开
} #第一个localtion区块结果
error_page /50x.html; #出现对应的http状态码时,使用50x.html回应客户
location = /50x.html { #location区块开始,访问50x.html
root html; #指定对应的站点目录为html
}
}
} #HTTP区块结束

nginx之编译安装的更多相关文章

  1. Nginx 的编译安装和URL地址重写

    本文转自:http://www.178linux.com/14119#rd?sukey=ecafc0a7cc4a741b573a095a3eb78af6b4c9116b74d0bbc9844d8fc5 ...

  2. nginx应用编译安装

    nginx应用编译安装: 安装编译所需依赖包: # apt-get install make gcc g++ libcurl3-openssl-dev libfreetype6-dev libmcry ...

  3. nginx的编译安装以及启动脚本编写

    Nginx的编译安装和启动脚本的编写 Nginxd的功能强大,可以实现代理.负载均衡等企业常用的功能.下面介绍一下nginx的编译安装方法: 1. 下载 官方下载地址:http://nginx.org ...

  4. 初识Nginx及编译安装Nginx

    初识Nginx及编译安装Nginx 环境说明: 系统版本    CentOS 6.9 x86_64 软件版本    nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...

  5. 【01】Nginx:编译安装/动态添加模块

    写在前面的话 说起 Nginx,别说运维,就是很多开发人员也很熟悉,毕竟如今已经 2019 年了,Apache 更多的要么成为了历史,要么成为了历史残留. 我们在提及 Nginx 的时候,一直在强调他 ...

  6. 【nginx运维基础(1)】Nginx的编译安装与使用

    nginx的官方手册: http://nginx.org/en/docs/ 编译安装 下载地址: http://nginx.org/en/download.html # 为了支持rewrite功能,我 ...

  7. Nginx服务编译安装、日志功能、状态模块及访问认证模式实操

    系统环境 [root@web ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@web ~]# uname -a Linux d ...

  8. Nginx的编译安装及选项

    编译安装Nginx1.安装常见的工具和库(GCC.PCRE.zlib.OpenSSL) Nginx是一个由C语言编写的,所以需要一个编译工具如GNU的GCC[root@www ~]# yum inst ...

  9. Nginx之编译安装的nginx加入systemctl

    编译安装的nginx需要添加rc.local 编译安装后设置 /usr/lib/systemd/system/nginx.service [Unit] Description=nginx After= ...

随机推荐

  1. 前端基础之CSS(总结)

    css学什么?? 主要学习选择器和属性,选择器是去找到标签的位置,属性是给标签增加需要的样式. CSS选择器 1.基本选择器: 1.标签选择器 2.ID选择器 3.类选择器(class="c ...

  2. IIS 无法加载 CSS,JS的问题

    IIS 能加载 aspx,但不能加载里面的 js,css ,感觉有点坑. 解决方案如下:http://www.pageadmin.net/article/20121001/479.html 原来是没有 ...

  3. python基础_字符编码

    字符编码的历史 阶段一:现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII 阶段二:为了满足中文,中国人定制了GBK 阶段三:各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的 ...

  4. Arithmatic项目修改总结

    Arithmatic项目修改总结 github仓库 arithmatic3.0 一. 修改介绍 修改后类图: 1.关于类的合并 ==可以发现相比右边(旧)的类,左边(新)的类少了很多,这是我这次大改的 ...

  5. Task 6.2冲刺会议八 /2015-5-21

    今天把主界面大体完成了,摄像头的拼接和语音以及麦克风的功能都已经基本上实现了.但是登录界面到主界面的跳转还是没有成功.过程中遇到的问题有登录协议的地方没有明确,一直出现跳转连接异常.明天准备把跳转的部 ...

  6. Task 6.2站立会议二

    今天,我们开始自己开始编译运行代码了,服务器端,聊天界面的相关代码经过测试.大家都把自己的实验过程公布了,大家的交流对实验的进度也起到了很大的作用.明天我们要继续修改实验中的错误,然后大家一起把实验基 ...

  7. WPF四则运算《《《《《策略模式

    设计思路:           因为之前没有用过WPF,听说和window窗体语法类似,就想着仿照之前的Window窗体做的,首先用三个textbox存储数据,添加一个comboBox,利用索引选择运 ...

  8. 西门子S7系列PLC的主要种类及应用软件

    德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金.化工.印刷生产线等领域都有应用.西门子(SIEMENS)公司的PLC产品包括LOGO,S7-200,S7-300,S ...

  9. contos7忘记root密码怎么办

    首先在这个界面按"e"键 然后呢就会进入到如下图所示的界面,在LANG=zh_CN.UTF8的后面加上 init=/bin/sh, 再按 [ Ctrl + X ] 进入'单用户模式 ...

  10. 个人作业 - Week2 - 代码复审

    代码复审Check List 概要部分 代码能符合需求和规格说明么? 能完成1~1000000个数独的求解与生成,并能处理异常输入,满足需求. 代码设计是否有周全的考虑? 为输入单独开设了一个输入检测 ...