1,nginx简介
高性能的http和反向代理服务器,也是一个IMAP、POP3、SMTP代理服务器。
优点:
1、具有占用内存少,并发能力强的特点。处理静态文件达到50000/s的速度。
2、反向代理性能非常强,可用于负载均衡
3、内存占用低,大概为Apache的1/5-1/10
4、对后端服务器有健康检查功能
5、配置代码简介,容易上手
2,常用命令
ngnix -t
检测配置是否正确 ,配置文件nginx.conf修改,可用于加载最新配置前,检测配置语法格式的正确性。
ngnix -s reload
加载最新配置
ngnix -s stop
立即停止
ngnix -s quit
优雅停止(当前的请求还没有结束之前,会继续执行到结束)
ngnix - reopen
重新打开日志
3,配置文件全局段配置
打开配置文件:nginx.conf文件
worker_processes 1; #工作进程的数量,该值一般根据服务器性能配置:CPU数量*核数
events {
worker_connections 1024; #该值一般不需要修改
}
http{
...
#server段配置虚拟主机
server {
listen 80; #监听的窗口
server_name test.com; #配置域名
access_log logs/test.log mylog #日志文件放在logs目录下,名为test.log,使用自定义的mylog格式
location / { #域名的文件位置
root html/test; #可以写绝对路径或者相对路径
index index.jsp; #网站的默认主页
}
}
}
4,日志管理
cd nginx/logs/
mv access.log access.log.bak
touch access.log
./nginx -s reopen #需要执行这个命令,不然日志不会写进新建的文件
5,负载均衡
Nginx实现负载均衡的基础知识
nginx的upstream支持3种方式分配:
1、轮询(默认):每个请求按照时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除;
2、weight:指定轮询几率,weight和访问率成正比,用户服务器性能不均的情况;
3、ip_hash:每个请求按照访问的ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题;
4、fair(第3方):按照后端服务器的响应时间来分配请求,响应时间快的有限分配;
5、url_hash(第3方);
6,静态分离的负载均衡
vim nginx.conf #打开nginx.conf配置文件
http {
...
server{
...
if ($request_uri ~* \.html$){
proxy_pass http://htmlservsers;
}
if ($request_uri ~* \.php$){
proxy_pass http://htmlservsers;
}
proxy_pass http://picservsers;
}
upstream htmlservers {
server 172.0.0.1:80;
}
upstream phpservsers {
server 172.0.0.1:80;
}
upstream picservsers {
server 172.0.0.1:80;
}
}