• 安装依赖()

    • · yum install gcc
    • · yum install pcre-devel
    • · yum install zlib zlib-devel
    • · yum install openssl openssl-devel
    • · //一键安装上面四个依赖
    • · yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
  • 下载nginxtar
    • · //创建一个文件夹
    • · cd /usr/local
    • · mkdir nginx
    • · cd nginx
    • · //下载tar包
    • . wget http://nginx.org/download/nginx-1.13.7.tar.gz
    • .//解压tar包
    • tar -zxvf nginx-1.13.7.tar.gz
  • 安装nginx(如果configurexx not found 就在后面加with-xx=路径)

    • · //进入nginx目录
    • · cd /usr/local/nginx
    • · //执行配置命令 注意:--with-http_ssl_module 开启SSL模块,支持Https请求
    • · ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_stub_status_module --with-http_ssl_module --with-openssl=/home/admin/openssl/openssl-1.1.0e
    • · //执行make命令
    • · make
    • · //执行make install命令
    • · make install
  • Nginx常用命令
    • //测试配置文件
    • 安装路径下的/nginx/sbin/nginx -t
    • //启动命令
    • 安装路径下的/nginx/sbin/nginx
    • //停止命令
    • 安装路径下的/nginx/sbin/nginx -s stop 或者 : nginx -s quit
    • //重启命令
    • 安装路径下的/nginx/sbin/nginx -s reload      
  • //查看进程命令
  • ps -ef | grep nginx
  • //平滑重启
  • kill -HUP Nginx主进程号
  • 配置防火墙
    • //打开防火墙文件
    • sudo vim /etc/sysconfig/iptables
    • //新增行  开放80端口
    • -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    • //保存退
    • //重启防火墙
    • sudo service iptables restart
  • Nginx虚拟域名配置及测试验证
    • · //编辑nginx.conf
    • · sudo vim /usr/local/nginx/conf/nginx.conf
    • · //增加行
    • · include vhost/*.conf
      //保存退出
    • · //在/usr/local/nginx/conf目录新建vhost文件夹
    • · mkdir vhost
      //创建每个域名的配置
      sudo vim jimisun.com.conf
      //节点中增加入响应的配置
      端口转发  或者访问文件系统
  • Nginx启动
    • · //进入nginx安装目录
    • · cd sbin
    • · sudo ./nginx
    • 测试访问

http://ip地址

注意:nginx 安装时候报错:make: *** No rule to make target
`build', needed by `default'. Stop.

出现此种情况,是linux系统没有安装先决条件

1GCC——GNU编译器集合(GCC可以使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不同的实现:yum是基于Red Hat的发布版本;apt用于DebianUbuntuyast用于SuSE Linux等等。)

RedHat中安装GCC

yum install gcc

Ubuntu中安装GCC

apt-get install gcc

2PCRE库(Nginx编译需要PCREPerl Compatible Regular Expression),因为NginxRewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcrepcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码,这正是我们需要的理由。)

RedHat中安装PCRE

yum install pcre pcre-devel

Ubuntu中安装PCRE

apt-get install libpcre3 libpcre3-dev

3zlib库(zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。如同安装PCRE一样,同样需要安装库和它的源代码:zlibzlib-devel。)

RedHat中安装zlib

yum install zlib zlib-devel

Ubuntu中安装zlib

apt-get install zlib1g zlib1g-dev

4OpenSSL库(在Nginx中,如果服务器提供安全网页时则会用到OpenSSL库,我们需要安装库文件和它的开发安装包(opensslopenssl-devel)。)

RedHat中安装OpenSSL

yum install openssl openssl-devel

Ubuntu中安装OpenSSL:(注:Ubuntu14.04的仓库中没有发现openssl-dev):

apt-get install openssl openssl-dev

The ngx_stream_upstream_module module
(1.9.0) is used to define groups of servers that can be referenced by the 
proxy_pass directive.

Example Configuration

upstream backend {
    hash $remote_addr consistent;
    server backend1.example.com:12345  weight=5;
    server backend2.example.com:12345;
    server unix:/tmp/backend3;
 
    server backup1.example.com:12345   backup;
    server backup2.example.com:12345   backup;
}
 
server {
    listen 12346;
    proxy_pass backend;
}

例如:nginx.conf配置详解

http{

#虚拟主机1

server{

listen       80;

server_name  www.nginx1.com;

location / {

root   html;

index  index.html index.htm;

}

}

#虚拟主机2

server{

listen       80;

server_name  localhost;

location / {

root   html;

index  index.html index.htm;

}

}

}

这里server_name配置域名的时候,如果是本地测试,需要到windos下hosts文件里,把你的域名和ip添加进去(C:\Windows\System32\drivers\etc\hosts)

nginx支持三种类型的虚拟主机配置

  • 1、基于ip的虚拟主机, (一块主机绑定多个ip地址)

server{

listen       192.168.1.1:80;

server_name  localhost;

}

server{

listen       192.168.1.2:80;

server_name  localhost;

}

    • 2、基于域名的虚拟主机(servername)

#域名可以有多个,用空格隔开

server{

listen       80;

server_name  www.nginx1.com www.nginx2.com;

}

server{

listen       80;

server_name  www.nginx3.com;

}

    • 3、基于端口的虚拟主机(listen不写ip的端口模式)

server{

listen       80;

server_name  localhost;

}

server{

listen       81;

server_name  localhost;

}

server下的location映射解析(官方中文文档:ngx_http_core_module)匹配规则:location [ = | ~ | ~* | ^~ ] uri { ... }

location URI {}:

对当前路径及子路径下的所有对象都生效;

location = URI {}:

精确匹配指定的路径(注意URL最好为具体路径),不包括子路径,因此,只对当前资源生效;

location ~ URI {}:

location ~* URI {}:

模式匹配URI,此处的URI可使用正则表达式,~区分字符大小写,~*不区 分字符大小写;

location ^~ URI {}:

不再检查正则表达式

优先级:= > ^~ > ~|~* > /|/dir/

举例:

location = / {

[ configuration A ]

}

location / {

[ configuration B ]

}

location /documents/ {

[ configuration C ]

}

location ^~ /images/ {

[ configuration D ]

}

location ~* \.(gif|jpg|jpeg)$ {

[ configuration E ]

}

解答:请求“/”匹配配置A, 请求“/index.html”匹配配置B, 请求“/documents/document.html”匹配配置C, 请求“/images/1.gif”匹配配置D, 请求“/documents/1.jpg”匹配配置E

location配置规则

1、“ =”前缀的指令严格匹配这个查询。如果找到,停止搜索。 
2、所有剩下的常规字符串,匹配最精确的(一般最长的那个)。如果这个匹配使用^〜前缀,搜索停止。 
3、正则表达式,在配置文件中是从上往下匹配的 
4、如果第3条规则产生匹配的话,结果被使用。否则,如同从第2条规则被使用 
特殊情况: 
两种情况下,不需要继续匹配正则 location : 
( 1 ) 当普通 location 前面指定了“ ^~ ”,特别告诉 Nginx 本条普 通 location 一旦匹配上,则不需要继续正则匹配。 
( 2 ) 当普通location 恰好严格匹配上 ,不是最大前缀匹配,则不再继续匹配正则

另外nginx的反向代理Tengine(Nginx的升级版)的健康检查 也用到了location知识,可以去看看

【NGINX】LINUX安装NGINX的更多相关文章

  1. nginx linux 安装

    nginx linux 安装 进入http://nginx.org/en/download.html 下载 n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gc ...

  2. linux安装Nginx 以及 keepalived 管理Nginx

    linux安装Nginx 1.1将Nginx素材内容上传到/usr/local目录(pcre,zlib,openssl,nginx)(注意:必须登录用对这个文件具有操作权限的) 1.2安装pcre库 ...

  3. linux学习(十一)linux安装nginx

    一.前言 由于本地练手的小demo用的是vue+spring boot来玩的,所以部署的时候想着用Nginx来实现反向代理[即请求转发,解决前后端分离的跨域请求问题],既然要用,那么首先得在服务器上面 ...

  4. linux安装nginx 并配置文件服务器和代理服务器

    linux安装nginx搭建服务并实现文件服务器和代理服务器配置 1.课题的背景和意义 由于编码过程中需要进行文件上传服务,文件上传后 需要有http资源的路径需要访问.原则上可以通过Apache . ...

  5. nginx笔记 安装nginx 配置 反向代理 多虚拟主机

    1,检测linux上是否 通过yum安装了nginxrpm   -qi  nginx 2.安装nginx之前的依赖包yum install gcc patch libffi-devel python- ...

  6. Win10子系统Ubuntu安装nginx (win10 安装 nginx)

    更新仓库,下载nginx: sudo apt update sudo apt install nginx 检查版本: nginx –v 启动服务: sudo  nginx sudo  service ...

  7. linux 安装 nginx 及反向代理配置

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,以下为Linux centos平台下安装nginx并配置反向代理的过程(采用源码安装的方式) 一:安装 ...

  8. linux 安装nginx

    linux系统为Centos6.5 64位 nginx为1.4.7 从http://nginx.org/download/上下载相应的版本 解压 tar -zxvf nginx-1.4.7.tar.g ...

  9. 【转】 linux 安装nginx及编译参数详解

    版权声明:本文为博主原创文章,未经博主允许不得转载. 从官网下载一个nginx 的tar.gz 版. 安装方式使用make 安装 第一步:解压 tar -zxvf  nginx-1.7.4.tar.g ...

  10. linux 安装nginx 详解

    1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没 ...

随机推荐

  1. python开发基础02-字符串操作方法练习题

    1.执行 Python 脚本的两种方式 python解释器 py文件  #!/usr/bin/env python 进入python解释器,便捷命令并执行 pycharm或其他pythonIDE sh ...

  2. FreeRTOS学习笔记3:内核控制及开启调度器

    内核控制函数API 应用层中不会用到taskYIELD() //任务切换.会自动切换当前就绪表里优先级最高的任务 临界区 //不能被打断的代码段任务中进入临界区任务中退出临界区中断服务进入临界区中断服 ...

  3. appium---如何判断原生页面和H5页面

    目前app中存在越来越多的H5页面了,对于一些做app自动化的测试来说,要求也越来越高,自动化不仅仅要支持原生页面,也要可以H5中进行操作自动化,这一篇介绍如何查看页面上是否存在H5页面,这里首先要了 ...

  4. c/c++学习01

    c++指针初始赋值: //指针初始赋值 int* a = new int(3); //第二种赋值 int 初始值 = 100; int *b = &初始值; //由new分配的内存块通常使用过 ...

  5. mybatis--实现数据库增删改查

    首先,创建一个数据库my,并在数据库中插入一张表user,然后在user表中插入一行数据,代码如下: create database my; use my; create table user( id ...

  6. Python 语法特点:注释/编写规则/命名规范

    1.注释 1)单行注释     # 2) 多行注释   前后三个单引号或双引号   ‘’‘  ...  '''    """  ...""" ...

  7. Python - 字符串为多行时,转换为列表

    例如一个IP代理池,这是个字符串,有多行 120.236.137.65:8060 193.112.208.216:8118 121.8.98.198:80 121.8.98.197:80 121.8. ...

  8. C# 篇基础知识9——特性、程序集和反射

    特性(Attribute)是用于为程序元素添加额外信息的一种机制.比如记录文件修改时间或代码作者.提示某方法已经过期.描述如何序列化数据等等.方法.变量.属性.类.接口.结构体以及程序集等都是程序元素 ...

  9. Echarts字体和线条颜色设置操作笔记

    在网上偶然看到的一篇文章 感觉不错  下面是原著地址 原著地址:https://blog.csdn.net/eastmount/article/details/52823548

  10. 80端口被system占用

    # 开始 今天配置wampserver 3.0.6的时候 发现右下角的图标一直是红色的 经验告诉我两个服务都没有运行 # 解决思路 wampserver有两个服务 一个是 Apache 服务 一个是 ...