#运行用户,默认即是nginx,可不设置
#user nobody;
#nginx进程,一般设置为和cpu核数一样
worker_processes 1;
#;单个后台worker process进程的最大并发链接数
events {
worker_connections 1024;
}
http {
#文件扩展名与类型映射表
include mime.types;
#默认文件类型
default_type application/octet-stream;
#开启高效传输模式
sendfile on;
#连接超时时间,单位是秒
keepalive_timeout 65;
server {
#监听端口
listen 80;
#映射域名
server_name www.abc.com;
#可以实现多种编码识别
charset utf-8; #nginx添加自定义header.表明,该资源可以被任意外域访问,用作跨域请求使用
add_header Access-Control-Allow-Origin *; location / {
#请求转向mysvr 定义的服务器列表
proxy_pass http://192.168.126.1:9000/;
#用来在后端获取用户发送过来的请求头
proxy_set_header Host $host;
#用来获取客户端的IP
proxy_set_header Remote_Addr $remote_addr;
#在后端这样获取:request.getAttribute("X-real-ip")
proxy_set_header X-Real-IP $remote_addr;
#后端通过request.getAttribute("X-Forwarded-For")获得的将会是客户端ip和第一台nginx的ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#访问http://192.168.126.1:9000/的路径会被映射到index.html
index index.html;
} location ~ ^/(hryfilefront) {
proxy_pass http://192.168.126.1:9000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
} location ~ ^/(hryfile) {
proxy_pass http://192.168.126.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
} server {
listen 80;
server_name manage.abc.com ;
charset utf-8; location ~ ^/(manage) {
proxy_pass http://192.168.126.1:9002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/(hryfile) {
proxy_pass http://192.168.126.1:9002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/(oauth) {
proxy_pass http://192.168.126.1:9001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/(hryfilefront) {
proxy_pass http://192.168.126.1:9002;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
} location ~ ^/(hryfile) {
proxy_pass http://192.168.126.1:9002;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
} location ~ ^/(admin) {
root /usr/share/nginx/html/admin;
index index.html;
}
} server {
listen 80;
server_name hq.abc.com ;
charset utf-8; location / {
proxy_pass http://192.168.126.1.25:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
} }

安装命令解析

docker pull nginx:1.12.2
docker run -itd --restart=unless-stopped -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -p $1:80:80 --name nginx -v /data/yjs/nginx/html:/usr/share/nginx/html -v /data/yjs/nginx/logs:/var/log/nginx -v /data/yjs/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx:1.12.2

解析后:

#拉取版本1.12.2的nginx
docker pull nginx:1.12.2
#-i: 以交互模式运行容器,通常与 -t 同时使用;
#-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
#-d: 后台运行容器,并返回容器ID;
#通过--restart选项,可以设置容器的重启策略,以决定在容器退出时Docker守护进程是否重启刚刚退出的容器。
#unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
docker run -itd --restart=unless-stopped
# 同步时区
-v /etc/localtime:/etc/localtime
-v /etc/timezone:/etc/timezone
#开放端口,并映射到本地的 80 端口。
-p $1:80:80 --name nginx
#挂载到绝对路径下
-v /data/yjs/nginx/html:/usr/share/nginx/html
-v /data/yjs/nginx/logs:/var/log/nginx
-v /data/yjs/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx:1.12.2

参考资源路径:

nginx add_header指令使用方法

https://www.jb51.net/article/47681.htm

nginx proxy_set_header设置、自定义header

https://blog.csdn.net/bao19901210/article/details/52537279

nginx location正则写法

https://www.cnblogs.com/IPYQ/p/7889399.html

nginx配置文件nginx.conf超详细讲解

https://www.cnblogs.com/liang-wei/p/5849771.html

注意事项:

  • 配置路径要为绝对路径
  • 上面的域名要想可以访问,要使用域名信息备案过的域名方可

Nginx配置解析的更多相关文章

  1. 初识nginx——配置解析篇

    一.nginx的介绍 nginx是由俄罗斯人开发的一款高性能的http和反向代理服务器,也可以用来作为邮件代理.相比较于其他的服务器,具有占用内存少,稳定性高等优势 二.nginx的配置 nginx的 ...

  2. 003.Nginx配置解析

    一 Nginx配置文件 1.1 Nginx主配置 Nginx主配置文件/etc/nginx/nginx.conf是一个纯文本类型的文件,整个配置文件是以区块的形式组织,通常每一个区块以一对大括号{}来 ...

  3. Nginx 配置解析

    概述:本篇文章主要对Nginx配置文件中一些常用配置进行了讲解,和如何使用Docker进行安装Nginx.因为该文章是回首在工作闲暇之余整理的,还有待完善,如果有疑义和更好的建议的朋友可以留言给我. ...

  4. nginx配置解析之客户端真实IP的传递

    前后端分离之后,采用nginx作为静态服务器,并通过反向代理的方式实现接口跨域的方式,在降低开发成本的同时也带来了诸多问题,例如客户端真实IP的获取. 在一些特殊场景下,比如风控和支付流程,往往需要获 ...

  5. NGINX(四)配置解析

    前言 nginx配置解析是在初始化ngx_cycle_t数据结构时,首先解析core模块,然后core模块依次解析自己的子模块. 配置解析过程 nginx调用ngx_conf_parse函数进行配置文 ...

  6. php php-fpm安装 nginx配置php

    centos 6.2 linux下安装php5.6.6源码 PHP在 5.3.3 之后已经把php-fpm并入到php的核心代码中了. 所以php-fpm不需要单独的下载安装.要想php支持php-f ...

  7. Nginx 原理解析和配置摘要

    前言 Nginx 作为高性能的 http 服务器,知名度不必多言,相似产品中无出其右.本篇随笔记录我认为较为重要的原理和配置. 1. 原理解析 1.1 结构 以上是 Nginx 的结构图,其包含一个 ...

  8. [Linux.NET]Nginx 泛解析配置请求映射到多端口实现二级域名访问

    由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试 ...

  9. Nginx 泛解析配置请求映射到多端口实现二级域名访问

    由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试 ...

随机推荐

  1. 结合BeautifulSoup和hackhttp的爬虫实例

    网页页数的改变 headers头不添加

  2. 【SpringCloud】 第九篇: 服务链路追踪(Spring Cloud Sleuth)

    前言: 必需学会SpringBoot基础知识 简介: spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选. ...

  3. TW实习日记:第11、12天

    这两天其实都在做一件事,项目组组长丢了个需求下来,要求完成一个百度地图api的页面.原本以为和之前写微信接口的类似,没想到这次问题这么多.并且在写代码的时候和组长交流不畅导致心情也很差,深刻的反思了一 ...

  4. java学习笔记-9.违例差错控制

      1.违例规范是告诉程序员这个方法可能抛出哪些类型的异常.他的格式在方法声明中,位于自变量(参数)列表的后面,如void f() throws tooBig, tooSmall, divZero { ...

  5. Cassandra 类型转换限制

    原文地址:http://stackoverflow.com/questions/31880381/cassandra-alter-column-type-which-types-are-compati ...

  6. solidity合约详解

    Solidity 是一个面向合约的高级语言,其语法类似于JavaScript .是运行在以太坊虚拟机中的代码.这里我们用的是remix编译环境.是一个在线的编译环境.地址为http://remix.e ...

  7. Python3 数据类型-列表

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 索引如下图: 列表命名(list): 组成:使用[]括起来,并且 ...

  8. nginx配置和网站的部署

    环境: CentOS Linux release 7.3.1611 (Core) nginx version: nginx/1.13.4 PHP 5.4.16 (cli) (built: Nov 6 ...

  9. HDU 2068 Choose the best route

    http://acm.hdu.edu.cn/showproblem.php?pid=2680 Problem Description One day , Kiki wants to visit one ...

  10. 【Linux】- apt-get命令

    apt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统. Advanced Package Tool,又名apt-g ...