第1章 Nginx

1.1 nginx的概念

Nginx("engine x")是一个开源的、支持高性能、高并发的WWW服务和代理服务软件,具有高开发(特别是静态资源),占用系统资源少等特性。

Nginx可以运行在Unix、Linux、BSD、Mac OSX、Solaris,以及Microsoft Windows等操作系统中,随着Nginx在国内很多大型网站的稳定高效运行,近两年也逐渐被越来越多的中小型网站所使用,当前流行的Nginx Web组合被称为LNMP或LEMP(即Linux+Nginx+MySQL+PHP)

http://oldboy.blog.51cto.com/2561410/775056

https://www.unixhot.com/page/ops

https://www.unixhot.com/page/cache

1.2 Nginx的重要特性及应用场合

1.2.1 ***Nginx的重要特性

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

02. 资源消耗少:在3万的并发连接下,开启10个Nginx线程消耗的内存不到200MB

03. 可以做HTTP反向代理及加速缓存,即负载均衡功能[OSI 4-7层]

内置对RS节点服务器健康检查功能,相当于专业的Haproxy软件或LVS[4层]功能

04. 具备Squid等数据缓存软件等的缓存功能(mencache/redis)

05. 支持异步网络I/O事业模型epoll(Linux 2.6+)

1.3 Nginx软件的主要企业功能应用

01.作为web服务支持网站页面请求处理功能

02.支持反向代理或负载均衡功能

03.前端业务数据缓存服务(扩展)

第2章 编译安装Nginx

服务端配置:

2.1 ①检查软件的安装环境

cat /etc/redhat-release #查看软件系统环境 uname -r

2.2 ②安装nginx的依赖包

  1. yum install -y pcre-devel openssl-devel
  2.  
  3. rpm -qa pcre pcre-devel openssl openssl-devel #yum安装操作后检查安装结果

扩展:

pcre:兼容perl兼容正则表达式,perl compatible regular expressions

rewirte模块 参数信息(perl方式定义正则表达式)

openssl:ssh---openssh/openssl---https

2.3 ③下载nginx软件

2.3.1 配置阿里云yum源

  1. 01.备份
  2. mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  3.  
  4. 02.下载新的CentOS-Base.repo 到/etc/yum.repos.d/
  5. # CentOS 6:
  6. wget-O /etc/yum.repos.d/CentOS-Base.repo
  7. # CentOS 7:
  8. wget-O /etc/yum.repos.d/CentOS-Base.repo
  9.  
  10. 03.之后运行yummakecache生成缓存

2.3.2 添加Epel源

  1. 01.备份(如有配置其他epel源)
  2. mv/etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
  3. mv/etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
  4.  
  5. 02.下载新repo 到/etc/yum.repos.d/
  6. # epel(RHEL 7):
  7. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  8. # epel(RHEL 6):
  9. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

2.3.3 放在统一目录下并进行安装

  1. mkdir -p /server/tools
  2.  
  3. cd /server/tools
  4.  
  5. wget http://nginx.org/download/nginx-1.10.2.tar.gz

说明:更多的Nginx版本详见http://nginx.org/选择安装Stable version(稳定版本)

2.3.4 解压nginx软件包

tar xf nginx-1.10.2.tar.gz

2.3.5 创建虚拟用户www管理nginx

useradd www -s /sbin/nologin -M id www

2.4 ④编译安装软件步骤

配置[.configure]-->做菜[编译make]-->上菜[安装make stall])

2.4.1 配置软件(默认安装在/usr/local)

  1. mkdir -p /server/tools/nginx-1.10.2
  2.  
  3. cd /server/tools/nginx-1.10.2
  4.  
  5. ./configure --prefix=/application/nginx-1.10.2 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module #启动相应模块

说明:--prefix:表示指定软件安装到哪个目录中,指定目录不存在会自动创建

--user/--group:表示nginx工作进程利用哪个用户/用户组运行管理

--with-http_stub_status_module:启动nginx状态模块功能(用户访问nginx的网络信息)

--with-http_ssl_module:启动https功能模块

echo $?

说明:软件编译过程中,利用返回值判断操作是否正确

2.4.1.1  指定的参数及简单说明

编译Nginx软件时,可以使用./configure --help查看相关参数帮助

  1. --prefix=PATH #<---设置安装路径
  2. --user=USER #<---进程用户权限
  3. --group=GROUP #<---进程用户组权限
  4. --with-http_stub_status_module #<---激活状态信息
  5. --with-http_ssl_module #<---激活ssl功能

2.4.2 编译安装软件(顺序颠倒会报错)

make #编译软件--转换成二进制软件包使计算机能够识别 make install #编译安装

2.4.3 创建目录的软链接

cd /application/ ln -s /application/nginx-1.10.2/ /application/nginx

作用:将Nginx安装路径通过软连接的方式更改为/application/nginx,便于程序代码调用nginx程序时无需跟随版本名称重置。

2.4.4 启动nginx程序进程

/application/nginx/sbin/nginx

2.4.5 检查服务进程端口信息

  1. ps -ef |grep nginx
  2.  
  3. root 4142 1 0 21:32 ? 00:00:00 nginx: master process /application/nginx/sbin/nginx #主进程
  4. www 4143 4142 0 21:32 ? 00:00:00 nginx: worker process #处理用户请求

客户端进行测试:

2.4.6 检查Nginx启动的实际效果

在Windows下通过浏览器检测的方式如下:

打开浏览器输入:http://10.0.0.8/ (10.0.0.8为安装Nginx服务器的IP地址)→回车

说明:这里不能使用域名访问,如果想通过域名访问,需要修改本地hosts文件(不能使用自带IE浏览器)

在linux下通过浏览器检测的方式如下:

  1. [root@web01 ~]# wget 127.0.0.1
  2.  
  3. --2017-01-15 17:35:35-- http://127.0.0.1/
  4. 正在连接 127.0.0.1:80... 已连接。
  5. 已发出 HTTP 请求,正在等待回应... 200 OK
  6. 长度:612 [text/html]
  7. 正在保存至: index.html
  8.  
  9. 100%[================================================================================>] 612 --.-K/s in 0s
  10.  
  11. 2017-01-15 17:35:35 (120 MB/s) - 已保存 index.html [612/612])

说明:广大读者请注意,执行上述操作需关闭iptables防火墙及selinux

此笔记是本人学习摘记整理而成,此为初稿(尚有诸多不完善之处),原创作品允许转载,转载时请务必以超链接形式标明文章原始出处,作者信息和本声明,否则将追究法律责任。http://www.cnblogs.com/bananaaa/

Nginx服务及编译安装的更多相关文章

  1. Windows的Nginx服务可视化界面安装

    先安装Nginx服务 启动 Windows安装Nginx服务 参考:https://www.cnblogs.com/pxblog/p/14871932.html 下载软件 https://github ...

  2. Nginx PHP MySql 编译安装

    以CentOS5.6为平台编译安装.确保系统已经安装gcc/gcc-c++编译器! 1.Nginx-1.0.14 2.PHP-5.3.10 3.MySql-5.1.61 安装相关依赖开发库: auto ...

  3. Nginx 之一:编译安装nginx 1.8.1 及配置

    一:基介绍 官网地址www.nginx.org,nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始,第一次公开发布时间 ...

  4. nginx入门之编译安装

    nginx是什么 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性 ...

  5. centos 下nginx源码编译安装

    1.下载nginx 进入nginx官网下载nginx的稳定版本,我下载的是1.10.3. 下载:wget http://nginx.org/download/nginx-1.10.3.tar.gz 解 ...

  6. nginx软件的编译安装步骤

    1.1 检查软件安装的系统环境 [root@web02 conf]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@web02 co ...

  7. Nginx实践01-ngnix编译安装-测试

    1.下载nginx安装包 下载地址:http://nginx.org/en/download.html(里面有nginx各个版本) 解压到指定目录: 解压出来的目录简单介绍: src:软件的所有源代码 ...

  8. nginx配合zabbix编译安装时web下一步跳转问题

    很多时候编译安装的时候把zabbix的php包拷贝到web所在目录之后(本文为nginx所在html目录),网页打开http:/localhost/zabbix却进不去下图: 或者是点了下一步没反应, ...

  9. mac下Nginx+lua模块编译安装

    Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...

随机推荐

  1. JSP获取input(含正则表达式)

    <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> < ...

  2. PHP中 HTTP_HOST 和 SERVER_NAME 的区别

    最近在开发站群软件,用到了根据访问域名判断子站点的相关问题.PHP获取当前域名有两个变量 HTTP_HOST 和 SERVER_NAME,我想知道两者的区别以及哪个更加可靠. 首先我想说,百度上那些转 ...

  3. python Synchronization between processes

    进程间同步,可以使用lock进行控制. 官方文档的例子如下: from multiprocessing import Process, Lock def f(l, i): l.acquire() pr ...

  4. JavaScript面向对象(OOP)

      前  言 JRedu 面向对象程序设计(简称OOP)是现在最流行的程序设计方法,这种方法有别于基于过程的程序设计方法.在写面向对象的WEB应用程序方面JavaScript是一种很好的选择.它能支持 ...

  5. 使用spark对hive表中的多列数据判重

    本文处理的场景如下,hive表中的数据,对其中的多列进行判重deduplicate. 1.先解决依赖,spark相关的所有包,pom.xml spark-hive是我们进行hive表spark处理的关 ...

  6. JAVA提高四:反射基本应用

    在前面一节<http://www.cnblogs.com/pony1223/p/7659210.html>,我们学习了JAVA的反射的相关知识,那么本节我们对前面所学习的知识做一个应用相关 ...

  7. mac 环境下 Quantlib 使用Swig 转换到java

    一.Mac安装boost方法:http://blog.csdn.net/xujiezhige/article/details/8230493 二.Swig,这里使用sudo install swig ...

  8. 即时通信系统Openfire分析之七:集群配置

    前言 写这章之前,我犹豫了一会.在这个时候提集群,从章节安排上来讲,是否合适?但想到上一章<路由表>的相关内容,应该不至于太突兀.既然这样,那就撸起袖子干吧. Openfire的单机并发量 ...

  9. win10 UWP 九幽数据分析

    九幽数据统计是统计和分析数据来源,用户使用,先申请账号 http://www.windows.sc 创建应用 图片要72*72 记密钥 在项目Nuget 在App.xaml.cs public App ...

  10. configparser模块(拷贝)

    该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 创建文件 来看一个好多软件的常见文档格式如下: [DEFAULT] ...