nginx相关
Nginx虚拟主机:设置默认虚拟主机
server {
listen 80 default_server;
//如果不配置,则是虚拟主机中的第一个为默认虚拟主机。
server_name www.taobao.com;
location / {
root /data/wwwroot/default;
index index.html;
}
}
Nignx的用户验证:
server {
listen 80;
server_name www.taobao.com;
location / {
root /data/wwwroot/default/admin;
index index.html;
auth_basic "please admin";
auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
}
}
[root@localhost nginx]# htpasswd -c /usr/local/nginx/conf/.htpasswd zhangsan
New password:
Re-type new password:
Adding password for user zhangsan
验证
Nignx域名重定向:
server {
listen 80;
server_name www.taobao.com www1.taobao.com www2.taobao.com;
location / {
root html/abc;
index index.html;
if ($host != 'abc' ) {
rewrite ^/(.*)$ http://www.taobao.com/$1 redirect;
} //permanent是301返回码,还可以修改为redirect,为302。
}
}
Nginx访问日志:
$remote_addr :客户端IP(公网IP) $request_uri :访问的uri
$http_x_forwarded_for :代理服务器IP $status :状态码
$time_local :服务器本地时间 $http_referer :referer跳转来源
$host :访问主机 $http_user_agent :客户端浏览器
http referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上referer,告诉服务器我是从哪个页面连接过来的,服务器基于此可以获取一些信息用于处理。
$remote_addr :远程请求地址; $body_bytes_sent:请求文件内容的大小
$http_user_agent :用来检查浏览页面的访问者是用的什么操作系统包括版本号,浏览器及其版本号,以及用户个人的偏好的代码等。
主配置文件:
log_format main '$remote-addr $http_x_forworded_for [$time_local]'
'$host "$request_uri" $status'
'"$http_referer" "http_user_agent"';
server {
listen 80;
server_name www.taobao.com;
access_log /tmp/taobao.com.log main;
location / {
root html/abc;
index index.html;
}
}
Nginx日志切割:脚本实现
Vim /usr/local/sbin/nginx_logrotate.sh
#!/bin/bash
#nginx_logfile_path=/tmp/
d=`date -d "-1 day" +%Y%m%d`
logdir="/tmp/"
nginx_pid="/usr/local/nginx/logs/nginx.pid"
cd $logdir
for log in `ls *.com.log`
do
mv $log $log-$d
done
/bin/kill -HUP `cat $nginx_pid`