0
点赞
收藏
分享

微信扫一扫

nginx虚拟主机与日志管理

虚拟主机

三种主机:

  • 基于IP -- > ​​server_name _;​
  • 基于域名 --> ​​server_name www.example.com;​
  • 基于端口 --> ​​listen 8080;​

基于域名,如果没有申请windows下可以修改host文件:

nginx虚拟主机与日志管理_虚拟主机

nginx虚拟主机与日志管理_虚拟主机_02

双击进入....

编辑host文件

nginx虚拟主机与日志管理_虚拟主机_03


如果同一个ip对应多个域名,在空格后追加新域名。

日志管理

日志格式

user  nginx;
worker_processes auto;

error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;


events {
worker_connections 1024;
}


http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;
#tcp_nopush on;

keepalive_timeout 65;

#gzip on;

include /etc/nginx/conf.d/*.conf;
}

  • 17行定义了日志格式,然后在第21行定义日志的路径并引用格式。
  • logformat 必须在 http context中定义
  • 每个server 可以有自己的 access_log 如果没有就使用http中的日志格式

日志分割

如果是用apt安装,在/etc/logrotate.d中就有分割的脚本:

# nginx
/var/log/nginx/*.log { # 要分割的文件
daily # 按天分割
missingok # 忽略错误
rotate 52 # 保留52天
compress # 压缩
delaycompress # 延迟压缩
notifempty # 空日志不切割
create 640 nginx adm # 日志文件权限 和 属主
sharedscripts # 执行的脚本
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid` # 相当于 nginx -s reload
fi
endscript

logrotate是一个系统工具,时间到后会自动执行

举报

相关推荐

0 条评论