Nginx
概念:
Nginx(engine x) 是一个高性能的HTTP和反向代理web服务器。
最核心功能是:
- 高性能的静态web服务器
- 反向代理
正向代理/反向代理
正向代理是客户端请求代理服务器帮忙访问某个服务器。用户是主动的
反向代理是客户端访问服务器,而访问的这个服务器可能是一个代理服务器,代理服务器将按照负载均衡策略将请求发送给任意一个后台服务器。用户是没有感知的。
优势
- 高并发、高性能
- 扩展性好
- 可靠
安装
sudo apt install nginx
安装后
nginx的指令在usr/sbin/nginx
nginx的主配置在/etc/nginx/nginx.conf
nginx日志存放在 /var/log/nginx
bin sbin usr/bin usr/sbin文件区别
四个文件都是存放指令的文件
bin存放一般指令的文件:cat,cp,ps,ls…
sbin存在系统指令的文件:shutdown,reboot…
usr/bin存放后期安装的软件运行脚本:c++,gcc…
usr/sbin存放用户安装的系统管理的必备程式:nginx,…
ubuntu默认为这些文件配置了环境变量。
核心配置文件
每行都需要加分号
全局配置
user www-data; #运行worker子进程的用户名
worker_processes auto; #允许的子进程个数,auto是自动
pid /run/nginx.pid; #运行master的pid文件存放的路径,在linux中所有的应用都会生成一个pid文件,
include /etc/nginx/modules-enabled/*.conf; #将其他配置文件包含进来
events配置
主要影响Nginx服务器与用户的网络连接
#accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
#multi_accept on; #设置⼀个进程是否同时接受多个网络连接,默认为off
#use epoll; #事件驱动模型, select|poll|kqueue|epoll|resig|/dev/poll|eventport
worker_connections 1024; #每个子进程的最大连接数,默认为512
http配置(重点)
http全局块,server块
server块
http{
... ... #这部分是被代理服务器的设置 ciggar只是⼀一个代号
upstream ciggar{
server 192.168.45.151:8080; //需要被代理的服务器ip+端口
}
#这部分是nginx作为反向代理服务器的配置
server{
#nginx监听的端⼝
listen 80;
#虚拟服务器的识别标记,⼀般配置为本机ip
server_name 192.168.45.151; // 访问虚拟服务器
#代理设置地址
location / {
proxy_pass http://ciggar;
}
}
}
负载均衡策略:
1 轮询(默认)
2 weight
3 ip_hash
4 least_conn 最少连接方式
5 fair(第三方) 响应时间
6 url_hash (第三方)
weight:权重,权重越高的分配的客户端越多
upstream ciggar{
server 192.168.45.151:8080 weight=2;
server 192.168.45.151:8081 weight=1;
}