Nginx虛擬主機:設置默認虛擬主機html
server {nginx
listen 80 default_server;web
//若是不配置,則是虛擬主機中的第一個爲默認虛擬主機。瀏覽器
server_name www.taobao.com;bash
location / {服務器
root /data/wwwroot/default;操作系統
index index.html;代理
}日誌
}orm
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`