标题
Nginx配置
全局块
所有在nginx.conf中,但是不在{ }
中的配置
1 | # 指定运行nginx的用户和用户组 |
events块
主要配置Nginx服务器和用户的网络连接
1 | events{ |
http块
基础配置
1 | http{ |
http反向代理基本配置
1 | http{ |
http反向代理服务器和负载均衡
1 | upstream product_server { |
http_gzip配置
启动gzip压缩功能,可以在传输网站的静态资源的时候进行压缩
压缩后的资源是原来资源大小的30%甚至更小
虽然会消耗一定的CPU资源,但是可以节约大量的带宽
服务端压缩,浏览器接收后解压后再解析
图片和大文件不建议压缩
1 | http { |
server相关配置
server基础配置
1 | http{ |
ssl配置
如果请求方式是https的话,需要服务器提供证书,就需要设置ssl
1 | http{ |
location配置
基于Nginx服务器接收到的请求字符串,对除虚拟机主机名称之外的字符串进行匹配,对特定的请求进行处理,完成地址定向、数据缓存和应答控制等功能
http {
server {
# 1、路由匹配规则:只有符合了匹配规则的uri才会进入该location块
# location [ = | ~ | ~* | ^~ ] uri { ... }
# = :用于标准uri前,要求请求字符串和uri严格匹配
# ^~:用于标准uri前,要求Nginx服务器找到标识uri和请求字符串匹配度最高的location后,立即使用此location处理请求,不再使用正则uri和请求字符串做匹配
# ~:用于正则uri前,区分大小写
# ~*:用于正则uri前,不区分大小写
location 匹配规则{
# 2、服务器默认网站根目录位置
root /var/www/html
# 3、默认访问的文件名
index index.html index.htm index.jsp;
# 4.1、拒绝的ip
deny 192.168.56.21;
# 4.2、允许的ip
allow 192.168.56.10;
# 5.1、跨域、请求头配置
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Credentials 'true' always;
add_header Access-Control-Allow-Headers * always;
add_header Access-Control-Allow-Method 'PUT, GET, POST, DELETE, OPTIONS' always;
}
location ~/product {
# 反向代理服务器
proxy_pass http://product_server;
# 是否重定向代理服务器地址
proxy_redirect off;
# 后台可以获取完整的ip和端口号
proxy_set_header Host $host;
# 后台可以获取用户访问的真实ip地址
proxy_set_header X-Forwarder-For $remote_addr;
}
}
}