3 Nginx的基本配置和优化
来源:互联网 发布:三星s8网络制式 编辑:程序博客网 时间:2024/06/03 13:28
Nignx的配置文件内容
#运行用户
user
#启动进程,通常设置成和cpu的数量的两倍
worker_processes
#全局错误日志及PID文件
error_log
pid
#工作模式及连接数上限
events
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http
#连接超时时间
#fastcgi
fasccgi_connect_timeout
fastcgi_send_timeout
fastcgi_read_timeout
fastcgi_buffer_size
fastcgi_buffers
fastcgi_busy_buffers_size
fastcgi_temp_file_write_size
gzip_min_length
gzip_buffers
gzip_comp_level
gzip_types
gzip_vary
#设定请求缓冲
include
#
#静态文件,nginx自己处理
}
配置基于IP的虚拟主机
IP别名的概念很简单,可以在一块网卡上绑定多个IP地址。在Linux上可以通过ifconfig和route命令添加IP别名。
现在我们在eth0上添加两个IP别名192.168.0.111和192.168.0.112:
Shell>ifconfig
Shell>route
Shell>ifconfig
Shell>route
但是,通过ifconfig和route配置的IPD别名在服务器重启后会消息,不过可以将这两条ifconfig和route命令添加到/etc/rc.local文件中,让系统开机自动运行。
下面我们在配置文件中(nginx.conf)中分别对这几个IP配置基于IP虚拟主机:
http{
#第一个虚拟机
server{
listen
server_name
access_log
location
#默认首页文件
index
#网站目录
root
}
#第二个虚拟机
server{
listen
server_name
access_log
location
#默认首页文件
index
#网站目录
root
}
}
}
配置基于域名的虚拟主机
http{
#第一个虚拟机
server{
listen
server_name
access_log
location
#默认首页文件
index
#网站目录
root
}
#第二个虚拟机
server{
listen
server_name
access_log
location
#默认首页文件
index
#网站目录
root
}
}
}
日志文件配置和切割
Nignx的日志格式主要与两条命令有关,第一条是log_format定义日志的格式,另一条是access_log定义日志的存放路径。
log_format的语法如下:
log_format
Log_format
'"$request"
'"$http_referer"
但是现在我们假设在Nignx上做了Web服务器,反向代理服务器,负载均衡等,如果Web服务器配置放在反向代理服务器配置后面,我们就不能通过$remote_addr得到用户的IP,因为我们只能得到反向代理服务器的IP了。
日志格式的意义:$remote_addr和$http_x_forwarded_for代表用户IP;$remote_user代表远程客户端名称;$time_local代表访问时间和时区;$request代表请求URL的HTTP协议;$status代表请求状态如200;$body_bytes_sent代表发送给客户端的内容大小;$http_referer代表从哪个页面访问过来的;$http_user_agent记录客户端浏览器信息。
access_log命令的分析
语法为:access_log
其中path表示日志存放路径,format表示使用log_format定义的格式名称,buffer表示设置内存缓存区的大小,例如buffer
Nignx日志文件的切割
在生产环境中的服务器,由于日志文件过大,会大大影响服务器的效率。所以我们需要对日志文件进行按天分割。主要是通过crontab脚本来自动执行下面的代码,保证下面的代码文件在每天的00:00点执行。
假设文件名字为:cut_nignx_log.sh
#!/bin/bash
#定义日志目录
logs_path = "/usr/local/nignx/logs/"
#按时间创建日志目录
mkdir
#重命名前一天的access.log为日期名称
mv
#重启服务器,生成新的一天的access.log文件
kill
定义crontab文件:
Shell>crontab
00
Nignx的压缩输出配置
Gzip可以将页面进行压缩,压缩后的页面大小可以变为原来的30%甚至更小,加快用户的访问速度。Gzip的配置位于http{...}里面
gzip
gzip_min_length
gzip_buffers
gzip_http_version
gzip_comp_level
gzip_types
gzip_vary
Nignx自动列目录配置
location
autoindex
autoindex_exact_size
autoindex_localtime [on
}
Nginx的浏览器本地缓存设置
浏览器缓存是为了加速用户浏览,将请求过的文档存储在用户磁盘上。浏览器缓存可以通过expires
语法:expire
默认值:
作用域:
用途:
例如:对常见格式的图片,flash文件在浏览器本地缓存30天,对js,css文件在浏览器本地缓存1小时。
location
expires
}
location
expires
}
- 3 Nginx的基本配置和优化
- Nginx基本配置和性能优化
- 基本的 (优化过的)配置Nginx
- Nginx优化设置基本的TCP配置
- Nginx配置性能基本优化的方法
- 3.nginx 的基本配置与优化
- 《实战nginx》第3章-nginx基本配置与优化
- Nginx基本配置与优化
- 发现和记录--Nginx基本配置、性能优化指南
- Centos6.2 下Nginx的安装和配置
- Nginx的基本配置
- nginx的基本配置
- nginx 的基本配置
- nginx的基本配置
- nginx的基本配置
- Nginx的基本配置
- nginx的配置优化
- nginx配置的优化
- 我的linux学习10 例行命令
- 我的linux学习11 程序与资源管理
- 编程珠玑--位图在排序中的使用
- 我的linux学习9 linux的帐号与身份…
- 我的linux学习8 shell脚本
- 3 Nginx的基本配置和优化
- 第五周 项目3-对象数组
- UVa 11729
- php spawn-fcgi和php-fpm
- LNMP和LAMP的编译安装
- google+ 登录办法
- CodeIgniter笔记1
- CodeIgniter笔记2
- CodeIgniter笔记3