Nginx最实用的配置技巧,曾经是老司机

发布者:上海IT外包来源:http://www.lanmon.net点击数:1102

本文列出了Nginx的一些常见,实用和有趣的配置。我希望我读完之后能说出来:我学到了它!
为一个站点配置多个域
服务器{
听80;
Server_name ops-coffee.cn b.ops-coffee.cn;
}
Server_name后面可以跟多个域名,用空格分隔
一个服务配置的多个站点
服务器{
听80;
Server_name a.ops-coffee.cn;
地点/{
Root/home/project/pa;
Index index.html;
}
}
服务器{
听80;
Server_name ops-coffee.cn b.ops-coffee.cn;
地点/{
Root/home/project/pb;
Index index.html;
}
}
服务器{
听80;
Server_name c.ops-coffee.cn;
地点/{
Root/home/project/pc;
Index index.html;
}
}
基于Nginx虚拟主机配置实现,Nginx有三种类型的虚拟主机。
基于IP的虚拟主机:您的服务器上需要有多个地址,每个站点都有不同的地址,这种方式较少使用。
基于端口的虚拟主机:每个站点对应一个不同的端口。访问时,使用ip:端口进行访问,可以修改要使用的监听端口。
基于域的虚拟主机:使用最广泛的方法,上面的示例使用基于域的虚拟主机,前提是每个站点有多个域名,server_name填写不同的域名Nginx添加帐户密码验证
服务器{
地点/{
Auth_basic'请输入user&passwd';
Auth_basic_user_file key/auth.key;
}
}
有许多服务可以通过nginx访问,但它们不提供帐户身份验证。您可以使用nginx提供的authbase帐户密码身份验证。您可以使用以下脚本生成帐户的密码。
#cat pwd.pl
#!的/usr/bin中/perl的
使用严格;
我的$ pw=$ ARGV [0];
打印地穴($ pw,$ pw)。'\ n';
说明:
#perl pwd.pl ops-coffee.cn
opf8BImqCAXww
#echo'admin: opf8BImqCAXww'>
键/auth.key
Nginx打开列目录
如果希望nginx作为文件下载服务器存在,则需要打开nginx列目录。
服务器{
位置下载{
自动索引;
Autoindex_exact_size off;
Autoindex_localtime on;
}
}
Autoindex_exact_size:文件打开时的确切大小(默认),单位为字节;文件的值以KB或MB或GB显示。
Autoindex_localtime:关闭时显示的文件时间(默认)为GMT时间;当它变为on时,显示的文件时间是服务器时间。
默认情况下,当您访问列出的文件(如txt)时,该文件的内容将显示在浏览器上。如果您希望浏览器直接下载,请添加以下配置。
如果($ request_filename〜* ^。*?\。(txt | pdf | jpg | png)$){
Add_header Content-Disposition'附件';
}
配置默认站点
服务器{
听80默认;
}
在nginx服务上创建多个虚拟主机时,默认情况下将从上到下搜索它们。如果它们与虚拟主机不匹配,则将返回第一个虚拟主机的内容。如果要指定默认站点,可以使用此站点。将虚拟主机放在配置文件中第一个虚拟主机的位置,或在此站点的虚拟主机上配置listen默认值。Operation timed out after 30000 milliseconds with 0 out of -1 bytes receivedOperation timed out after 30000 milliseconds with 0 out of -1 bytes received}
服务器{
地点/{
Proxy_http_version 1.1;
Proxy_set_header连接'';
Proxy_passhttp://tomcat;
}
}
在大多数情况下,nginx将用作反向代理,例如nginx后跟tomcat,nginx后跟php等。这时,我们可以启用nginx和后端服务之间的keepalive来减少频繁引起的资源消耗TCP连接。配置如上
Keepalive:指定每个nginxworker可以维护的最大连接数为1024.未设置默认值。也就是说,当nginx用作客户端时,keepalive不会生效。
Proxy_http_version 1.1:启用keepalive要求HTTP协议版本为HTTP 1.1
Proxy_set_header连接'':为了与旧协议兼容并防止http报头中由Connection关闭引起的keepalive故障,有必要及时清除HTTP报头的连接。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部