Nginx的配置注意点

1.服务端系统对自定义头部的参数需要在Nginx中配置才能生效,如:

set $cors '';
if ($http_origin ~* \.test\.com) {
    set $cors $http_origin;
}
add_header Access-Control-Allow-Origin $cors;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Headers "PARAM1, PARAM2, param1, param2";

※服务端获取该参数的时候需要使用大写或小写方式获取,因为IOS和Android大小写不一样,Android使用param1获取的参数。

2.定时器配置文件最后必须空一行空行防止Nginx执行定时器时报错。

3.vagrant nginx php开发环境中浏览器访问js文件,文件中出现乱码的解决方法

当nginx配置 sendfile设置为on时,某些js文件中会出现奇怪的字符:

�����������������

不管怎么刷新,重启服务都无效;

但是可以通过dos2unix命令修改就可以运行

通过google搜索之后发现原来是因为开启sendfile的原因!

将sendfile设置为off,则不再出现此问题!

这个可能是vagrant造成的吧!

来源:http://www.cnblogs.com/sanshuiqing/p/4512337.html

nginx中配置sendfile及详细说明:https://www.jianshu.com/p/70e1c396c320?utm_campaign

4.配置修改后重载配置文件:nginx -s reload nginx

nginx -t 测试nginx配置是否生效(不生效的情况可能是host没有加或者代理的host没到虚拟机里面加)

(nginx配置文件位置:cd /etc/nginx/conf.d/ )

5.跨域的配置添加:比如API域名中要访问CDN域名中的图片,在CDN的server配置中要添加跨域允许

add_header Access-Control-Allow-Origin *;

6.server配置文件添加PHP解析代理:

location ~ \.php$ {
        fastcgi_pass   unix:/dev/path/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  CI_ENV production;
        fastcgi_param  CI_DOMAIN xxx.com;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

7.Nginx 反向代理与正向代理:https://i4t.com/4051.html

(1)、什么是正向代理?什么是反向代理?
正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
这里写图片描述
反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。
这里写图片描述

(2)、反向代理有哪些主要应用?
现在许多大型web网站都用到反向代理。除了可以防止外网对内网服务器的恶性攻击、缓存以减少服务器的压力和访问安全控制之外,还可以进行负载均衡,将用户请求分配给多个服务器

8.NGINX安装image_filter图片缩放处理模块

// 进到虚拟机,并切换到 root
yum install -y gd-devel gcc libgd
yum install -y nginx-module-image-filter

// 在 /etc/nginx/nginx.conf 文件顶部加入
load_module /usr/lib64/nginx/modules/ngx_http_image_filter_module.so;