1.安装PCRE库

$ cd /usr/local/
$ https://sourceforge.net/projects/pcre/files/pcre/8.36/
$ tar -zxvf pcre-8.36.tar.gz
$ cd pcre-8.36
$ ./configure
$ make
$ make install

2.安装zlib库

$ cd /usr/local/
$ wget http://zlib.net/zlib-1.2.8.tar.gz
$ tar -zxvf zlib-1.2.8.tar.gz
$ cd zlib-1.2.8
$ ./configure
$ make
$ make install

3.安装ssl

$ cd /usr/local/
$ wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
$ tar -zxvf openssl-1.0.1j.tar.gz
$ ./config
$ make
$ make install

4.安装nginx

$ cd /usr/local/
$ wget http://nginx.org/download/nginx-1.8.0.tar.gz
$ tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.8.0
$ ./configure --prefix=/usr/local/nginx
$ make
$ make install

5.启动

$ /usr/local/nginx/sbin/nginx

报错 nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

32位系统

[root@localhost ~]#  ln -s /usr/local/lib/libpcre.so.1 /lib

64位系统

[root@localhost ~]#  ln -s /usr/local/lib/libpcre.so.1 /lib64

然后在启动nginx就OK了

6.重启、停止、强制关闭

$ /usr/local/nginx/sbin/nginx –s reload 重启
$ /usr/local/nginx/sbin/nginx –s stop   停止
$ /usr/local/nginx/sbin/nginx –t 测试配置文件是否正常
$ pkill nginx 强制关闭

7、配置

配置文件位于安装目录conf下

nginx/conf/nginx.conf

Nginx配置文件常见结构的从外到内依次是 http,server location等等,缺省的继承关系从外到内,也就是说内层块会自动获取外层块的值作为缺省值。

  • Server

接收请求的服务器将不同请求按规则转发到不同的后端服务器上,在nginx中可以通过构建虚拟主机的概念来将这些不同的服务配置进行隔离。

server {listen       80;server_name  localhost;root   html;index  index.html index.htm;
}
  1. listen 指定监听端口
  2. server_name 指定ip或域名
  3. index  设定访问的默认首页地址
  4. root  指定虚拟主机的网页根目录,这个地方可以是相对地址或绝对地址

当server超过2个时,建议不同的虚拟主机的配置放在各自独立的文件中,通过在主配置文件nginx.conf加上include指令包含近下来,便于管理。

include vhost/*.conf
  • Localtion

每个url请求都会对应一个服务,nginx进行处理转发或者是本地的一个文件路径,或者是其它服务器的一个服务路径,而这个路径匹配时通过location来进行的。我们快车将server当做对应一个域名进行的配置,而location是在一个域名下对更精细的路径进行配置。

可以将root和index指令放到一个location中,那么只有在匹配到这个location时才会访问root后的内容

    location / {root   /data/www/host2;index  index.html index.htm;}
  1. location匹配规则

    ~  波浪线表示执行一个正则匹配,区分大小写
    ~* 表示执行一个正则匹配,不区分大小写
    ^~ 表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般来匹配目录
    = 进行普通字符精确匹配
  2. 匹配例子
    location  = / {# 只匹配"/".[ configuration A ]
    }
    location  / {# 匹配任何请求,因为所有请求都是以"/"开始# 但是更长字符匹配或者正则表达式匹配会优先匹配[ configuration B ]
    }
    location ^~ /images/ {# 匹配任何以 /images/ 开始的请求,并停止匹配 其它location[ configuration C ]
    }
    location ~* \.(gif|jpg|jpeg)$ {# 匹配以 gif, jpg, or jpeg结尾的请求. # 但是所有 /images/ 目录的请求将由 [Configuration C]处理.   [ configuration D ]
    }请求:
    / -> 符合configuration A
    /documents/document.html -> 符合configuration B
    /images/1.gif -> 符合configuration C
    /documents/1.jpg ->符合 configuration D
  3. 静态文件映射

    访问文件的配置主要有root和aliasp's两个指令,这两个指令的区别容易能混。

    alias后跟的指定目录是精准的,并且末尾必须加/

        location /c/ {alias /a/;}

    如果访问站点http://location/c访问的就是/a/目录下的站点信息

    root后跟的指定目录是上级目录,并且该上级目录下要含有和location后指定名称的同名目录才行

        location /c/ {root /a/;}

    这时访问站点http://location/c访问的就是/a/c目录下的站点信息。如果你需要将这个目录展开,在这个location的末尾加上「autoindex on; 」就可以了

  4. 转发

    配置起来很简单比如我要将所有的请求到转移到真正提供服务的一台机器的8001端口,只要这样:

    location / {proxy_pass 172.16.1.1:8001;
    }

    这样访问host时,就都被转发到 172.16.1.1的8001端口去了。

  5. 负载均衡

    在upstream中指定了一组机器,并将这个组命名为myserver,这样在proxy_pass中只要将请求转义到myserver,这个upstream中我们就实现了在四台机器的反向代理加负载均衡。其中ip_hash指明了负载均衡是按ip地址进行分配,另外还有轮询、指定权重轮询、fail、url_hash几种调度算法。

    upstream myserver; {ip_hash;    server 172.16.1.1:8001;server 172.16.1.2:8002;server 172.16.1.3;server 172.16.1.4;
    }
    location / {proxy_pass http://myserver;
    }

转载于:https://www.cnblogs.com/ywqbj/p/5955827.html

Nginx的安装配置相关推荐

  1. linux 安装nginx php mysql 配置文件在哪_linux下 php+nginx+mysql安装配置

    我主要是用来安装php,以及nginx和php的交互. 一 安装插件 可以选择YUM安装或者源码编译安装gccgcc-c++zlib pcre pcre-devel libevent libevent ...

  2. 404 not found nginx是什么意思_如何在BT面板基于nginx环境安装配置Perfex CRM网站

    如何在BT面板基于nginx环境安装配置Perfex CRM网站 第一次接触到这个小众CRM,源于一哥们以30块大洋就收买了我,谁让我穷呢? 官网:https://www.perfexcrm.com ...

  3. nginx下安装配置modsecurity waf防火墙(附完整编译、配置、排错、详细规则)

    ModSecurity是一个免费.开源的Apache模块,可以充当Web应用防火墙(WAF).ModSecurity是一个入侵探测与阻止的引擎.它主要是用于Web应用程序所以也可以叫做Web应用程序防 ...

  4. Nginx学习2:Nginx的安装配置和常用命令

    Nginx的安装.常用命令和配置文件 在Linux系统安装Nginx 我们使用虚拟机来完成在Linux系统安装Nginx的步骤,在这里我选择的是CentOS7的Linux系统, 1.到官网下载Ngin ...

  5. nginx+keepalived安装配置(整理中)

    线上环境安装测试说明 两台测试机 nginx+keepalived做后端LNMP及tomcat+jdk+mysql的负载高可用 测试环境 centos 6.2 x86_64 IP:192.168.10 ...

  6. nginx php-fpm 安装,Linux下nginx php-fpm安装配置笔记

    一.安装php5.5 1.安装依赖包 yum -y install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-d ...

  7. Nginx编译-安装-配置-优化实践总结

    http://www.zhuxiaodong.net/2016/configure-nginx-server-support-https-http2-on-centos7/ 一些更新说明: 2016- ...

  8. Rails+Nginx+Passenger安装配置 简洁可靠

    前提 已经存在的环境: Mac OS X Yosemite ruby-2.2.1 rails (4.2.4) 安装Passenger 用gem安装passenger $ gem install pas ...

  9. Nginx 的安装配置

    文章目录 前言 一.Nginx的介绍 二.Nginx的安装部署 前言 此作为记录大三下的十五天企业实训.本文主要包括以下内容: Nginx的介绍 Nginx的安装部署 整个过程记录详细,每个步骤亲历亲 ...

  10. linux nginx rpm 安装配置,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

最新文章

  1. JS中的offsetWidth, clientWidth, scrollWidth, innerWidth, outerWidth, pageXOffset
  2. java如何读取excel文件
  3. Halcon知识: XLD的概念
  4. 由【说说JSON和JSONP..】博文,想到的MVC 扩展
  5. Fibonacci in the Pocket
  6. 4x4矩阵键盘工作原理及扫描程序_单片机人机交互矩阵按键
  7. 网页html转为pdf,html页面转换成PDF文件
  8. pandas聚合dataframe某一列的值中的所有元素
  9. Java中堆和栈的概念与区别
  10. 安全模式:天猫 App 启动保护实践
  11. 传统CPU架构不再是高性能计算唯一选择
  12. python alphago_资源 | 如何通过 Python 打造一款简易版 AlphaGo?
  13. matlab三轴定位程序,三边测量定位MATLAB源码
  14. 你有反馈,我们安排!Sketch 插件升级,新老对比一图看懂
  15. FPGA 任意分频器设计
  16. ubuntu18.04 network有线网络图标缺失解决记录
  17. python使用nltk进行中文语料库的词频分布统计
  18. Win11设置notepad++为默认文件打开方式
  19. 计算机毕业设计ssm儿童成长记录与分享系统cc35g系统+程序+源码+lw+远程部署
  20. 树莓和Arduino之间的蓝牙通讯

热门文章

  1. 64bit 简单汇编加法
  2. MyBatis学习--简单的增删改查
  3. UITableViewCell有关处理touch事件的问题
  4. c语言作用域有哪两种变量,2017年计算机二级C语言字考点归纳:变量的存储类别、作用域及生存期...
  5. nginx 子请求接收响应_Nginx详解其原理
  6. Python 进阶 — 创建本地 PyPI 仓库与 Python 程序的离线部署
  7. AWS — AWS CloudFormation
  8. 互联网协议 — HTTPS 安全的超文本传输协议
  9. STM32串口9位数据,无奇偶校验
  10. Android异步消息处理机制