Nginx虚拟主机配置模板
/////////////////////////////写在前头//////////////////////////////////////////
Nginx 服务器中文文档:
http://www.nginx.cn/doc
Nginx 变量:
http://blog.sina.com.cn/s/blog_594c47d00101dfyh.html
nginx.conf 配置详解:
http://www.ha97.com/5194.html
nginx rewrite 参数和例子
http://blog.c1gstudio.com/archives/434
/////////////////////////////////目录//////////////////////////////////////////
1.用户认证
2.静态文件不记录日志
3.伪静态
4.防盗链
5.日志
6.访问控制
7.代理
/////////////////////////////////////////////////////////////////////////////////
用户认证:
准备工作:
yum install httpd
htpasswd -c /usr/local/nginx/conf/.htpasswd username
if it the first time to use the tool htpasswd , please use -c
配置参考如下:
server {
listen 80;
server_name yourdomain.com;
index index.html index.htm index.php;
root /yourpath;
location ~ .*admin\.php$ {
auth_basic "aminglinux auth";
auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
#真正起作用的是上面两句,实质上是通过密钥认证
...
}
}
/////////////////////////////////////////////////////////////////////////////////
静态文件不记录日志:
配置参考如下:
location ~ ^.*\.(gif|jpg|jpeg|png|bmp|swf|zip|pdf|bz2|flv|doc|xls|gz|rar)$ {
expires 10d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 12h;
access_log off;
}
/////////////////////////////////////////////////////////////////////////////////
伪静态:
模板如下:
rewrite ^([^\.*])/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.*])/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.*])/thread-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.*])/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2page=$3 last;
rewrite ^([^\.*])/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
Nginx的Rewrite设置及示例
http://ask.apelearn.com/question/239
nginx $document_uri 参数使用
http://ask.apelearn.com/question/993
nginx的301与302如何配置
http://www.lishiming.net/thread-4840-1-1.html
/////////////////////////////////////////////////////////////////////////////////
防盗链:
配置参考如下:
location ~* ^.+\.(gif|jpg|jpeg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpg|bmp|xls)${
valid_referers none blocked server_names *.taobao.com *.baidu.com *.google.com *.google.cn *.soso.com;
if($invalid_referer){
return 403;
}
}
/////////////////////////////////////////////////////////////////////////////////
配置访问日志:
编写日志切割脚本:
vi /usr/local/sbin/logrotate.sh //加入
#!/bin/bash
datedir=`date -d "-1 day"+%Y%m%d`
/bin/mkdir /home/logs/$datadir > /dev/null 2>&1
/bin/mv /home/logs/discuz.log /home/logs/discuz_$datedir.log
/etc/init.d/nginx reload >/dev/null 2> /dev/null
#reload之后就生成了一个新的discuz.log
server{
access_log /home/logs/discuz.log combined_realip
}
日志格式
log_format main '$remote_addr -$remote_user [$time_local]$request'
'"$status" $body_bytes_sent "$http_referer"'
'"$http_user_agent" "$http_x_forwarded_for"';
log_format main1 '$proxy_add_x_forwarded_for -$remote_user[$time_local]'
'"$request" $status $body_bytes_sent'
'"$http_referer" "$http_user_agent"'; //此日志格式为,ip不仅记录代理的ip,还记录远程客户端真实ip
错误日志error_log日志级别
error_log 级别分为 debug, info, notice, warn, error, crit 默认为crit,该级别在日志名后面定义格式如下
error_log /your/path/error.log crit;
crit记录的日志最少,而debug记录的日志最多,如果你的nginx遇到一些问题,比如502比较频繁出现,但是看默认的error_log没有看到有意义的信息,那么就可以调一下错误日志级别,当你调成error级别时,错误日志记录的内容会更加丰富
/////////////////////////////////////////////////////////////////////////////////
配置访问控制:
根据目录来限制php解析:
location ~ .*(diy|template|attachments|forumdata|attachment|image)/.*\.php${
deny all;
#这个类似Apache的php_engine off
}
使用user_agent控制客户端访问
location / {
if($http_user_agent ~ 'bingbot/2.0|MJ12bot/v1.4.2|Spider/3.0|YoudaoBot|Tomato|Gecko/20100315'){
return 403;
}
}
/////////////////////////////////////////////////////////////////////////////////
配置Proxy:
server {
listen 80;
server_name www.w1.discuz.com;
index index.html index.htm index.php;
root /data/www;
location ~ \.php$ {
proxy_pass http://192.168.75.132:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
【拓展】
根据访问的目录来区分后端的web
http://www.lishiming.net/thread-920-1-1.html
针对请求的uri来代理
http://www.lishiming.net/thread-1049-1-1.html
Nginx虚拟主机配置模板的更多相关文章
- nginx虚拟主机配置
nginx虚拟主机配置 虚拟主机的概念虚拟主机,就是把一台物理服务器划分成多个"虚拟"的服务器,每一个虚拟主机都可以有独立的域名和独立的目录nginx虚拟主机的配置nginx的 ...
- Nginx高性能服务器安装、配置、运维 (5) —— Nginx虚拟主机配置
六.Nginx虚拟主机配置 建立基于域名的虚拟主机: (1)建立基于域名的虚拟主机配置文件(以abc.com为例): (2)更改虚拟主机配置文件: 更改配置如下(更改部分即可): server { l ...
- Nginx教程(二) Nginx虚拟主机配置
Nginx教程(二) Nginx虚拟主机配置 1 虚拟主机管理 1.1 Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主 ...
- Nginx网络架构实战学习笔记(一):Nginx简介、安装、信号控制、nginx虚拟主机配置、日志管理、location 语法、Rewrite语法详解
文章目录 nginx简介 nginx安装 nginx信号控制 nginx虚拟主机配置 日志管理 location 语法 精准匹配的一般匹配 正则匹配 总结 Rewrite语法详解 nginx简介 Ng ...
- Nginx教程(二) Nginx虚拟主机配置 (转)
Nginx教程(二) Nginx虚拟主机配置 1 虚拟主机管理 1.1 Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主 ...
- Nginx虚拟主机配置(20200202)
一台机器上跑多个站点,即多个域名 curl -xIP:port 域名 用来指定访问的域名在哪个IP的哪个端口上 Nginx默认虚拟主机 不管什么域名解析到该服务器,都会访问到默认虚拟主机 ngi ...
- Nginx虚拟主机配置教程
说明:配置之前先把域名解析到服务器IP地址上 站点1:bbs.osyunwei.com 程序所在目录/data/osyunwei/bbs 站点2:sns.osyunwei.com 程序所在目录/d ...
- nginx虚拟主机配置实践
1.配置基于域名的虚拟主机 [root@web01 html]# egrep -v "#|^$" /application/nginx/conf/nginx.conf.defaul ...
- Nginx虚拟主机配置--配置Nginx的主配置文件
单台Nginx WEB服务器同时会配置N个网站,也可称之为配置N个虚拟域名的主机,即多个域名对应同一个80端 口. 每个虚拟主机可以是一个独立网站.可以具有独立域名,同一台物理机上面的虚拟主机相互之间 ...
随机推荐
- java.lang.ClassFormatError: Truncated class file
之前跑的很好的程序,因为我本地IDE出了问题的原因,倒是编译的错误的class文件,结果点击的时候报这样的错误,后来重新clean了工程,重新打包解压启动,问题依旧. 解决办法: 把tomcat的wo ...
- mixin 在传参中可以出现 参数 在类内部可以定义 作用域
mixin 在传参中可以出现 参数 在类内部可以定义
- JavaScript中对事件简单的理解
事件(event) 1.什么是JavaScript事件? 事件是文档或浏览器中发生的特定交互瞬间. 2.事件流 事件流描述的是从页面中接受事件的顺序,包含IE提出的事件冒泡流与Netscape提出的事 ...
- JavaScript遍历IP段内所有IP
思路:将两个IP转换为数字进行比较,小的那个慢慢加一,直到变成大的那个IP所转换的数字,将这其中的数字再转换为IP地址即为IP段内所有的IP. //IP转数字 function ip2int(ip) ...
- VCL控件组件大都应该重载TWinControl的虚函数WndProc来进行处理窗口消息的工作
TWinControl的构造函数中会调用MakeObjectInstance并且传递MainWndProc作为窗口消息处理函数,而MainWndProc则会调用虚函数WndProc来处理窗口消息.留个 ...
- win7安装laravel
使用Packagist 镜像 建立一个composer.json文件,内容如下: { "name": "laravel/laravel", "desc ...
- Js用户引导插件bootstrap-tour
1.demo直接贴上来了,有什么不懂的,直接去官网上看,地址:http://bootstraptour.com/. 2.这个bootstrap-tour插件的版本是v0.12.0,复制下来代码,引入库 ...
- 【云图】怎样制作全国KTV查询系统?
摘要:本文以[唱吧]531麦霸音乐节为案例,具体解读了怎样导入自有数据到高德云图,并进行检索和展示.最后,调起高德mobile地图来进行路线规划和周边查询. 本案例能够应用在微信开发平台,支付宝公众服 ...
- 我的第二个Python小程序
输出0-100之间的偶数: # Author: fansik # Description: Output an even number between 0 and 100 # method one n ...
- Putty常用属性设置
1. 使用 UTF-8避免显示乱码 2.调整 Lines of scrollback,能够回看更多的控制台输出log 3.调整颜色和字体使得看上去更舒服 4.解决数字键盘无法输入数字的问题 效果图: