linux下载安装参考链接: https://www.cnblogs.com/dennisit/p/4069521.html
注:nginx还需要其他依赖
nginx几种常用命令
cd /usr/local/nginx/sbin nginx默认路径/usr/local
./nginx -t 测试nginx是否安装正确
./nginx -s stop 停止nginx
./nginx -s quit 优雅停止停止nginx
./nginx 启动nginx
./nginx -s reload 重启nginx
Nginx核心配置分析
nginx的核心配置文件,主要包括三个段
Main、 Event 、 Http
虚拟主机配置
基于域名的虚拟主机
修改windows/system32/drivers/etc/hosts
修改nginx.conf文件,在http段中增加如下内容
基于端口的虚拟主机
基于ip的虚拟主机Nginx的日志配置
通过access_log进行日志记录
nginx中有两条是配置日志的:一条是log_format 来设置日志格式 ; 另外一条是access_log
#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 格式
#error_log logs/error.log notice;
logo声明 路径及文件名 日志标识
nginx日志切割
crontab
mv access.log access.log.20171206
kill -USR1 Nginx 主进程号 让nginx重新生成一个日志文件access.log
location的语法和匹配规则
location [~|=|^~|~*] /uri {
}
location的匹配规则
精准匹配
location=/uri{}
优先级最高的匹配规则
一般匹配
location /uri{
}
普通匹配的优先级要高于正则匹配
如果存在多个相同的前缀的一般匹配,那么最终会按照最大长度来做匹配
正则匹配
负载均衡
upstream是Nginx的HTTP Upstream模块,这个模块通过一个简单的调度算法来实现客户端IP到后端服务器的负载均衡
Upstream常用参数介绍
语法:server address [parameters]
其中关键字server必选。
address也必选,可以是主机名、域名、ip或unix socket,也可以指定端口号。
parameters是可选参数,可以是如下参数:
down:表示当前server已停用
backup:表示当前server是备用服务器,只有其它非backup后端服务器都挂掉了或者很忙才会分配到请求
weight:表示当前server负载权重,权重越大被请求几率越大。默认是1
max_fails和fail_timeout一般会关联使用,如果某台server在fail_timeout时间内出现了max_fails次连接失败,那么Nginx会认为其已经挂掉了,从而在fail_timeout时间内不再去请求它,fail_timeout默认是10s,max_fails默认是1,即默认情况是只要发生错误就认为服务器挂掉了,如果将max_fails设置为0,则表示取消这项检查。
ups支持的调度算法
ip_hash 根据ip的hash值来做转发
默认是轮询机制
权重 weight=x
fair 根据服务器的响应时间来分配请求
url_hash