• 安装依赖()

    • · 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. arcgis计算X坐标值、Y坐标值

    arcgis计算X坐标值.Y坐标值 要计算的字段上点击右键,选择计算几何,弹出计算几何对话框.可以设置属性.坐标系.单位等.

  2. @AliasFor 原理

      用法: import org.springframework.core.annotation.AliasFor; import java.lang.annotation.*; @Target(El ...

  3. Python - Git for windows 下使用 交互式命令行

    1. 概述 尝试在 windows 环境的 git 命令行使用 python3 的交互模式 2. 环境 OS win10 1905 git 2.20.1 mintty 2.9.4 python 3.7 ...

  4. 【Python】 运算符

    什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. 接下来让我们一个个来学习Pytho ...

  5. javaScript中的toFix(n)方法

    定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberObject.toFixed(num) 返回值 返回 NumberObject 的字符串表示, ...

  6. django+vue 基础框架 :vue

    <template> <div> <p>用户名:<input type="text" v-model="name"&g ...

  7. 如何通过Docker搭建一个swoft开发环境

    本篇文章给大家分享的内容是关于如何通过Docker搭建一个swoft开发环境 ,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们. Swoft首个基于 Swoole 原生协程的新时代 PHP ...

  8. iOS内存管理的知识梳理

    从作用上来说,手机内存小,划分给每个App的内存有限,合理的进行内存管理,有利于提高软件的运行性能和用户体验: 另外,内存管理是一大理论知识块,对这块知识的理解程度也是考核面试者的重要标准. 内存管理 ...

  9. LAMP源码编译

    ---恢复内容开始--- 1.LAMP源码编译的基础环境 安装组建包:yum groupinstall "Development Tools" "Development ...

  10. [转] C++ CImage实现的全屏PNG截图

    #include <atlimage.h> #include <atltime.h> #include <conio.h> //截取全屏保存为png CString ...