• 安装依赖()

    • · 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. php preg正则表达式的组成部分

    定界符号 : 多种都可以,常用为// 原子 : 最小的一个匹配单位 (放在定界符中),在一个正则表达式中,至少要有一个原子 1,打印字符(a-z A-Z 0-9 ~!@#$%^&*()_+.. ...

  2. docker 初识1

    学习网址 https://git.oschina.net/yangllsdev/docker-training https://docs.docker.com/engine/installation/ ...

  3. Mysql查看连接数(连接总数、活跃数、最大并发数)

    show variables like '%max_connection%'; set global max_connections=1000;

  4. Chrome下ifame父窗口调用子窗口的问题

    function changeMenu(menu_id){ frames[0].changeMenu(menu_id); } https://blog.csdn.net/caohaicheng/art ...

  5. vue中的回到顶部

    <template> <div class="main"> <div class="content">灰色部分是内容部分&l ...

  6. zookeeper and kafka

    kafka安装前期准备: 1,准备三个节点(根据自己需求决定) 2,三个节点上安装好zookeeper(也可以使用kafka自带的zookeeper) 3,关闭防火墙 chkconfig  iptab ...

  7. alsa driver--card

    1.创建声卡 snd_card是对声卡硬件抽象出来的结构体,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体. 我们可以通过调用 ...

  8. iOS开发之使用 infer静态代码扫描工具

    infer是Facebook 的 Infer 是一个静态分析工具.可以分析 Objective-C, Java 或者 C 代码,报告潜在的问题. 任何人都可以使用 infer 检测应用,可以将严重的 ...

  9. 6_3 矩阵链乘(UVa424)<用栈实现简单的表达式解析>

    假设你必须做A*B*C*D*E的运算,在这里A,B,C,D,E都是矩阵(matrix).由于矩阵相乘具有连接性(associative),所以相乘的顺序可以是任意的.然而所需要的基本乘法数却与不尽相同 ...

  10. CCF 试题编号: 201909-4 试题名称: 推荐系统

    这题是stl的综合应用,map要想快,直接上unordered_map,这样查询接近O(1),是不是很嗨皮. 思路其实还是很简单的,type+id做个Hash,由于set.insert的第一个返回值是 ...