Linux下使用Nginx做CDN服务器下的配置

由于使用docker配置Nginx比较方便,所以博主就使用docker做为容器配置下

第一步、配置docker-compose.yml文件

version: '3
services:
        nginx:
                restart: always
                image: nginx
                container_name: nginx-1
                ports:
                        - 80:80
                volumes:
                        - /usr/local/application/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
                        - /usr/local/application/nginx/logs/:/var/log/nginx/
                        - /usr/local/application/nginx/data/:/var/share/nginx/html/
                        - /usr/local/application/nginx/cdn/:/usr/share/nginx/html/

说明下上面的代码的几个重要部分

首先就是volumes这个节点的值:
  第一个 配置文件的映射 前面是宿主机 后面是容器
  第二个 日志映射
  第三个 数据文件映射
  第四个 cdn的映射

第二步、配置nginx.conf文件

  nginx.fonf

user nginx;
worker_processes  1;
 
events {
    worker_connections  1024;
}
 
http {

    include       mime.types;

    default_type  application/octet-stream;

    keepalive_timeout    65;

    server {
        listen       80;
        server_name  192.168.157.128;
        location / {
            root /usr/share/nginx/html;
            index  index.html index.htm;

            add_header 'Access-Control-Allow-Origin' '*'; 

            add_header 'Access-Control-Allow-Credentials' 'true';

            add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, DELETE, OPTIONS';
        }

        location ~* \.(eot|ttf|woff|woff2|svg|otf)$ {
            add_header Access-Control-Allow-Origin *;
            root /usr/share/nginx/html;
        }
    }
}

说明下上面部分代码的含义

第一个地方:root这个的值表示的是容器内的值,因为是映射为容器的conf文件。
第二个地方:三个add_header
  第一个表示的是允许访问的域,*表示统配,为了安全推荐自定义的域名
  第二个表示的是是否带Cookie
  第三个表示的是允许的请求方式,GET和OPTIONS必须投
第三方地方:include和default_type这两个的值表示的是设置请求的Content—Type的内容,如果不设置的话,在html里面使用CDN的css文件和js文件会在浏览器中报错,不理解的COntent-Type类型。

猜你喜欢

转载自www.cnblogs.com/xiaoliuqing/p/11954175.html