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端 口. 每个虚拟主机可以是一个独立网站.可以具有独立域名,同一台物理机上面的虚拟主机相互之间 ...
随机推荐
- getParameterMap的使用
就是前端提交到Servlet或者Action里面的参数Map哈,如果你是以表单提交,那么request.getParameterMap()中将包含你表单里面所有input标签的数据,以其name为ke ...
- android菜鸟学习笔记27----Fragment的简单使用
1.Fragment的生命周期: 简单在新建一个MyFragment继承自Fragment,重写各个生命周期回调方法,各个方法中直接输出标识相关函数被调用的信息. 重写MainActivity的各个生 ...
- 面向对象、接口编程的重要性 python 为什么引入接口interface
面向对象编程的实践 有个产品,其有10个子产品,现在要统计每日消费数据其中8个子产品的消费入账金额算法相同,2个不同; 拓展性差的糟糕的代码 def ConsumptionSum(product): ...
- FW 配置一个私有的Docker仓库
思维 66 3月1日 发布 建分支 0 分支 收藏 0 收藏 我们在本地开发时,如果内网能部署一台Docker服务器,无疑会极大的方便镜像的分享发布,有些私有镜像就是可以直接放到内网服务器上,省去了不 ...
- 免费的webservice接口
快递查询接口 http://webservice.36wu.com/ExpressService.asmx ip查询接口 http://webservice.36wu.com/ipService.as ...
- Yii2 高级模板 多域名管理问题
现在在网站中有这种情况,比如有一个 http://frontend.com/tv 需要根据判断用户的 User Agent ,如果用户是手机浏览器的话,则跳转到 http://mobile.com/t ...
- C++友元概念
采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口. 但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类 ...
- 每天一个Linux命令(42)watch命令
watch命令以周期性的方式执行给定的指令,指令输出以全屏方式显示. (1)用法: 用法: watch [参数] [命令] (2)功能: 功能: 可 ...
- 【TopCoder】SRM160 DIV1总结
做了两道题之后才发现做的是DIV1,不是DIV2,DIV1的第二道题是DIV1的第三道题,果断决定第3题就不看了=.= 250分题:给定一个时间起点8:00 AM DAY 1,再给出一组时间终点,格式 ...
- 跨平台移动开发_Windows Phone 8 使用 PhoneGap 方法
第一步,下载Windows Phone SDK 8.0 http://www.microsoft.com/zh-cn/download/details.aspx?id=35471 离线下载地址(推荐使 ...