栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

nginx配置文件的配置规则和说明

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nginx配置文件的配置规则和说明

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 前言
  • 一、nginx是什么?
  • 二、如何安装
    • 1.安装依赖
    • 2.下载安装文件
    • 3.安装文件
  • 三 配置文件
    • 1.nginx作为文件服务器
      • 1.文件目录配置
      • 2.反向代理服务器
      • 3.跨域配置
      • 4 负载均衡
        • 1.轮询(默认)
        • 2.权重
        • 3.ip_hash


前言
一、nginx是什么?

nginx常用来做负载负载均衡和反向代理服务器,同样可以作为文件服务器和做跨域配置

二、如何安装

nginx安装的时候不指定安装目录,会默认安装到/usr/local/nginx下,因此如果需要改变安装目录的同学,可以按照以下方法安装

1.安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2.下载安装文件
//下载
wget http://nginx.org/download/nginx-1.13.7.tar.gz
//解压
tar -xvf nginx-1.13.7.tar.gz
//官方网站
https://nginx.org/en/download.html
3.安装文件
//创建文件夹
mkdir /user/nginx
//进入到nginx解压目录
[root@bogon nginx-1.13.7]# cd nginx-1.13.7
//将nginx安装到指定文件夹下
[root@bogon nginx-1.13.7]# ./configure --prefix=/usr/local/nginx
[root@bogon nginx-1.13.7]# make
[root@bogon nginx-1.13.7]# make install

以上就是nginx的简单安装流程

三 配置文件 1.nginx作为文件服务器 1.文件目录配置
	location / {  
	    root /data/www;  
	} 
	//访问 ip:port 命中 /data/www下的文件 如ip:port/1.jpg -> /data/www/1.jpg

location 中有路径

location /images/ {  
    root /data/www;  
}
//访问 ip:port/images 会命中 /data/www/images 如 ip:port/images/1.jpg -> /data/www/images/1.jpg

alias和root

上面配置为root配置,以下为alias配置

	location /target {
        alias /etc/nginx/html/static/;
        }
     //访问 ip:port/target - >  命中alias  如 ip:port/target/1.jpg -> /etc/nginx/html/static/1.jpg	 

nginx默认会选择最长前缀去匹配当前URL,所以路径中有相同的,会匹配最长的.

2.反向代理服务器

nginx接受前端发来的所有请求,并转发这些请求,可以配置转发规则,如 请求地址 url带有 user的可以转发到指定 ip:port

		location /user {
               proxy_pass http://ip:port;
        }
	  //访问规则: server_name/user/query?id=1 ->转发 ip:port/user/query?id=1

		//如果 是以下
		location /user {
               proxy_pass http://ip:port/user;
        }
	  //访问规则: server_name/user/query?id=1 ->转发 ip:port/user/query?id=1
3.跨域配置

在 location 中添加如下配置

	add_header 'Access-Control-Allow-Origin' $http_origin;
	add_header 'Access-Control-Allow-Credentials' 'true';
	add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
	add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
	add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
	if ($request_method = 'OPTIONS') {
		add_header 'Access-Control-Max-Age' 1728000;
		add_header 'Content-Type' 'text/plain; charset=utf-8';
		add_header 'Content-Length' 0;
		return 204;
	}

4 负载均衡

在http模块添加 upstream。upstream支持5种分配方式

1.轮询(默认)
// upstream 后自定义名称,最好不是数字
upstream backend {
    server 192.168.1.128:8081 ;
    server 192.168.1.128:8082 ;
}
server {
        listen       80;
        server_name 0.0.0.0;
        location / {
		    proxy_pass http://backend;
        }
}
2.权重

weight和访问几率成正比,用于在不同性能的后端服务器分配上

upstream backend {
    server 192.168.1.128:8081 weight=1;
    server 192.168.1.128:8082 weight=2;
}
server {
        listen       80;
        server_name 0.0.0.0;
        location / {
		    proxy_pass http://backend;
        }
}
3.ip_hash

每个请求按照访问ip(即Nginx的前置服务器或者客户端IP)的hash结果分配,这样每个访客会固定访问一个后端服务器,可以解决session一致问题。

        upstream backend {
            ip_hash;
            server 192.168.1.101:7777;
            server 192.168.1.102:8888;
            server 192.168.1.103:9999;
}
server {
        listen       80;
        server_name 0.0.0.0;
        location / {
		    proxy_pass http://backend;
        }
}

其他两种为fair响应时间分配请求,和url_hash根据url结果进行分配请求


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945872.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号