• 安装依赖()

    • · 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. Android输入法挤乱布局问题

    今天做布局的时候 嵌套的TbaleLayout里面有三行  但是准备输入的时候输入法自动将整个activity布局全部往上挤 导致输入框变小甚至消失  弄的很是郁闷 在网上查了之后  发现有些人是因为 ...

  2. X86现代汇编·02

    下面4这个寄存器只能用16位或3N位名称访问3N位寄存器 :ESI EDI EBP ESP 16位寄存器: SI DI BP SP 特殊用法:乘除指令默认用EAX默认使用ECX为循环计数器ESP用于寻 ...

  3. 截取字符,超出的用省略号代替js实现 substring

    可用到截取文字过多的问题,取0到6之间的字符,不包含6title.substring(0,6)+'...';

  4. 项目中报错:Unsupported major.minor version

    在开发中或多或少都会遇到如下报错: java.lang.UnsupportedClassVersionError: com/xie/IntegerTest : Unsupported major.mi ...

  5. STM32程序中 \r \n \r\n

    1.用串口调试助手打印信息,程序换行时,最好还是用\r\n,光用\r或光用\n可能达不到换行的效果.

  6. 一些封装的php函数

    swoole群中奥总共享的创建文件夹: function make_dir($folder){ $reval = false; if (!file_exists($folder)){ /* 如果目录不 ...

  7. hackinglab 种族歧视

    首先打开题目 发现是禁止访问的然后打开后台 发现后台也没有什么有用的信息所以用bp抓包 然后修改一下国家语言

  8. Vue基础笔记3

    插槽指令 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  9. as中怎么下载更新platforms和build-tools

    链接:https://blog.csdn.net/sunbinkang/article/details/78632652

  10. PHP定时执行任务的3种方法详解

    转载 https://www.jb51.net/article/76720.htm 更新时间:2015年12月21日 10:38:56   作者:PHP淮北   我要评论 PHP不支持多线程,有时候处 ...