====================
Nginx的虚拟主机配置
什么是虚拟主机?
虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成为一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以的域名.
linux要用什么命令查看主机名?
Nginx的简单例子:
http
{
listen 80 default; <--监听的端口
server_name *; <-- IP 或主机名
location /
{
index index.html;
root /data/web_data/; <--存放访问文件目录地址
}
}
1)配置基于IP的虚拟主机
http
{
listen IP:port;
server_name IP;
location /
{
index index.html;
root /data/web_data/; <--存放访问文件目录地址
}
}
2)配置基于域名的虚拟主机
http
{
listen port;
server_name 域名;
location /
{
index index.html;
root /data/web_data/; <--存放访问文件目录地址
}
}
===========================================================
Nginx 的日志文件配置与切割
1)定义日志格式
语法:log_format name format [fromat ...]
Nginx的默认日志
log_format combined '$remote_addr -$remote_user [$time_local]'
'"$request" $status $body_bytes_sent'
'"$http_referer" "$http_user_agent"';
Nginx作为反向代理,浏览器与web服务器之间多一层。$remote_addr是代理Nginx服务器的IP。但是反向代理服务器在转发请求的Http信息中,可以增加X-Forwarded-For信息,用以记录原有的客户端IP地址和原来客户端请求的服务器地址。
log_format mylogformat '$http_x_forwarded_for -$remote_user [$time_local]'
'"$request" $status $body_bytes_sent'
'"$http_referer" "$http_user_agent"';
说明
$remote_addr,$http_x_forward_for记录IP地址
$remote_user记录客户端用户名
$time_local记录访问时间与地区
$request记录url请求
$status记录请求状态
$body_bytes_sent记录发送给客户端的文件主体内容大小
$http_referer记录从哪个页面链接访问过来的
$http_user_agent记录客户端浏览器的相关信息
=====
日志文件存放的路径
access_log path [format [buffer=size|off]]
说明
path -->日志目录
format -->定义的日志名称,默认是combined
buffer -->日志缓存
off -->关闭日志
===
Nginx日志文件的切割
mv nginx_home/logs/access.log 目标地址/年月日.log
kill -USR1 nginx主进程
或 kill -USR1 `cat /usr/local/nginx_home/nginx.pid`
写一个shell脚本,脚本写一个定时切割日志
把这个脚本,启动linux时就启动
========================================
压缩
服务器与浏览器要同时支持压缩特性,现在主流的浏览器都支持。
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_com_level 2;
gzip_types text/plain application/x-javascript text/css application/xml
gzip_vary on;
注意 :以后补上
=========================================
Nginx 的自动列目录配置
location /
{
autoindex on;
autoindex_exact_size [on|off]
autoindex_localtime [on|off]
}
===============================
Nginx的浏览器本地缓存置
语法:
expires [time | epoch | max | off(默认)]
作用域:
http,server,location(常用)
例:
location ~ .*\.(js|css)?$
{
expires 1h; --> 小时:h 天:d
}
2)