nginx是一个web网站常用的高性能http和反向代理服务器,其具有较好的并发能力,被网易、百度、腾讯、新浪等网站广泛使用。

一、 理论简介

1.首先弄清楚正向代理和反向代理

正向代理:代理客户端,替客户端收发请求,使真实的客户端对服务器不可见。如图所示,proxy和client同属于一个网络,对server透明

反向代理:代理服务器,提服务器收发请求,使真实的服务器对客户端不可见。如图所示,proxy和server同属于一个网络,对client透明


实际上proxy都是代为收发请求和响应,只是在结构上左右换了下,所以一个叫正向代理,另一个叫反向代理。

2.nginx的反向代理原理

如下图所示:nginx作为反向代理服务器接收来自客户端的http请求,然后将请求转发给内部网络的web服务器,同时接收来自web服务器的response结果,并返回给客户端。此时nginx代理服务器对外展现为一个服务器。

3.nginx的反向代理的作用

(1)负载均衡。nginx可以将来自客户端的请求均衡的分发到web服务器集群中的不同机器上进行处理,平衡集群中各个服务器的压力。这对于大访问量的web网站来说,是需要的。
(2)安全保障。客户端直接访问的不是提供内容的web服务器,为保护网站服务器提供了一层屏障,有利于保护网站的安全。
(3)加速web请求。nginx可以配置缓存,存储真实web服务器的某些资源和响应,减轻真实服务器的压力,同时加速web请求

二、 nginx-1.9.7 编译安装

下载地址: http://nginx.org/download/nginx-1.9.7.tar.gz

补充: 安装 nginx之前,需要先安装一些依赖包:gcc、pcre、zlib
a、nginx gzip模块需要zlib库
b、nginx rewrite模块需要pcre库
c、nginx ssl模块需要openssl库

1、安装必要依赖包
[root@mysql03 ~]# yum install -y pcre pcre-devel

centos 6.7 配置 yum 本地源 链接参考: http://blog.csdn.net/zhang123456456/article/details/56690945
2、 Nginx安装
[root@mysql03 ~]# ll nginx-1.9.7.tar.gz
-rw-r--r--. 1 root root 885562 Jun 14 21:46 nginx-1.9.7.tar.gz
[root@mysql03 ~]# tar zxvf nginx-1.9.7.tar.gz
[root@mysql03 ~]# cd nginx-1.9.7
-- 配置nginx安装选项
[root@mysql03 nginx-1.9.7]# ./configure --prefix=/usr/local/nginx
说明: 配置完毕后可以看到一个配置概要,概要中的5项必须都有了相应的库支持
Configuration summary
+ using system PCRE library
+ OpenSSL library is not used
##如果想要安装openssl模块,安装时需指定 ./configure --prefix=/usr/local/nginx --with-openssl=/root/openssl-1.0.2d ##
+ md5: using system crypto library
+ sha1: using system crypto library
+ using system zlib library
-- 安装nginx
[root@mysql03 nginx-1.9.7]# make && make install
3、 检查安装是否正常
[root@mysql03 nginx-1.9.7]# cd /usr/local/nginx
[root@mysql03 nginx]# ll
total 16
drwxr-xr-x. 2 root root 4096 Jun 14 22:14 conf
drwxr-xr-x. 2 root root 4096 Jun 14 22:14 html
drwxr-xr-x. 2 root root 4096 Jun 14 22:14 logs
drwxr-xr-x. 2 root root 4096 Jun 14 22:14 sbin
-- 启动
[root@mysql03 nginx]# ./sbin/nginx #如果不能正常启动,可能是端口占用
[root@mysql03 nginx]# ps -ef|grep nginx
root 5212 1 0 22:17 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 5213 5212 0 22:17 ? 00:00:00 nginx: worker process
root 5228 2359 0 22:20 pts/0 00:00:00 grep nginx
-- 访问
浏览器输入: http://10.219.24.26/ #ip换成自己的ip
看到以下页面内容,一切正常。
Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

-- 关闭
[root@mysql03 nginx]# ./sbin/nginx -s stop
[root@mysql03 nginx]# ps -ef|grep nginx
root 5241 2359 0 22:25 pts/0 00:00:00 grep nginx

说明: http://www.cnblogs.com/zengkefu/p/5814793.html  部分参考,感谢作者

转载于:https://www.cnblogs.com/andy6/p/7008795.html

nginx之 nginx-1.9.7 编译安装、理论简介相关推荐

  1. linux安装nginx源码,CentOS7源码编译安装Nginx

    一.安装步骤 1.下载 nginx 源码包 官网$ wget http://nginx.org/download/nginx-1.16.0.tar.gz 2.解压 nginx 压缩包$ tar -zx ...

  2. Nginx 实践案例(源码编译安装方式):利用LNMP搭建wordpress站点

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 ​LNMP是Linux + Nginx + MySQL + PHP 四个系统的首字母缩写,相对于 LAMP(Linux + Apache + My ...

  3. Nginx的平滑升级记录---适用于编译安装的Nginx

    一.查看自己的Nginx的版本号 [root@localhost sbin]# cd /usr/local/nginx/sbin/ [root@localhost sbin]# ls nginx [r ...

  4. CentOS 6.5编译安装Nginx+MySQL+PHP

    一.配置防火墙,开启80端口.3306端口,关闭SELINUX [root@Zabbix ~]# vim /etc/sysconfig/iptables -A INPUT -i lo -j ACCEP ...

  5. 在Centos上编译安装nginx

    实验环境: OS: CentOS 6.6 nginx:nginx-1.6.2.tar.gz 前期准备: 安装开发包组件 [root@1inux tmp]# yum -y groupinstall &q ...

  6. linux nginx安启动_linux下nginx编译安装启动

    1.在指定目录解压包 命令:tar -zxvf nginx-1.10.3.tar.gz 解压后,在nginx-1.10.3同级目录下,创建nginx目录(编译安装目录) 2.编译安装 nginx是需要 ...

  7. 源码编译安装Nginx

    1.源码下载 Nginx在github上有一个只读源码库,我获取的源码方式为: git clone https://github.com/nginx/nginx.git 2.configure 我下载 ...

  8. Centos6.4 编译安装 nginx php

    一. 准备依赖库 安装make: yum -y install gcc automake autoconf libtool make 安装g++: yum install gcc gcc-c++ 二. ...

  9. 编译安装Zabbix 2.2 (LNMP环境)

    说明: 操作系统:CentOS7 环境:mysql5.6+PHP5.5+Nginx1.12 Zabbix版本:Zabbix2.2 编译安装确实比YUM安装麻烦好多些,但是为了加强对Zabbix的理解, ...

  10. 详解LAMP源码编译安装

    实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MyS ...

最新文章

  1. Adaboost方法分类新闻数据
  2. BZOJ2301: [HAOI2011]Problem b(莫比乌斯反演)
  3. 为record类型自定义Equals方法
  4. 前端学习(1709):前端系列javascript之uniapp
  5. 不起眼的vim.转自https://blog.csdn.net/iplayvs2008/article/details/51508599
  6. 用74l138实现一个一位全减器_用react实现一个仿ionic button组件
  7. 简单的Mysql常用命令
  8. SHA256 算法 加密文件、防文件篡改、文件校验
  9. 测试驱动开发(TDD)实践与技巧
  10. 移动通信核心网技术总结(五)IMS的信令流程及VoLTE的实现
  11. 01:电机控制的基本原理
  12. 【洋桃电子】STM32入门100步-02
  13. 【ESP32-IDF】02-2 外设-触摸传感器
  14. C#方法名前的方括号作用
  15. 大厂面试题之计算机网络重点篇 (附答案)
  16. 有些人无缘再见,却一生想念
  17. SQL SEVER select对象名无效
  18. 我的学习笔记003--!!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN http://www.w3.org/mxx
  19. 商务办公软件应用与实践【2】
  20. 2018网站优化人员不同阶段在做哪些事

热门文章

  1. 【Qt】编译QtCreator
  2. 【Qt】Qt样式表总结(三):QObject 属性
  3. Java项目:在线旅游系统(java+jsp+SSM+Spring+mysql+maven)
  4. 【硬件基础】个人感悟+C语言 引入头文件时引号括号的区别
  5. 网上商城系统源代码_多用户系统商城授权有几种方式?
  6. 设置status bar的颜色
  7. Vue全局路由侦听beforeEach路由守卫附代码使用示例
  8. 使用 spring boot 开发通用程序
  9. MongoDB给数据库创建用户
  10. 关于IOS的屏幕适配(iPhone)——资源适配