Nginx 介绍

服务器:
硬件服务器,类似于电脑,不能断点,ip可以外网访问
web服务器:软件,部署项目,项目运行的一个环境

在高并发情况下:解决服务器“很卡”问题:
1、服务器加内存、加固态硬盘提高服务器的读写能力
2、做集群:多台服务器一起工作,怎么工作

Nginx介绍:Nginx是一个web服务器和反向代理服务器,可以部署HTTP、代理邮件服务器。
Nginx的优点:处理高并发能力强(5W+)、稳定性非常好;轻量级、配置简单
处理高并发能力强为什么强:采用多进程管理-(主进程(master), 工作进程(work process))
主进程: 管理工作进程
工作进程:负责处理HTTP请求


web服务器:
Apache/Tomcat/uWSGI/Jetty/Weblogic/Nginx...

Nginx的作用:
1、HTTP静态资源服务器:部署的项目是静态资源的项目(css/js/image/vedio等等)
2、正向代理服务器
3、反向代理服务器
4、动静分离

Nginx安装:
不能安装到中文目录下
windows安装:下载、解压、双击(只要双击就行)
浏览器查看:localhost即可,端口默认是80

Linux安装:
1. 安装相关依赖环境
yum install gcc openssl-devel pcre-devel zlib-devel
2. 下载 wget http://nginx.org/download/nginx-1.10.3.tar.gz/ curl命令
3. 解压:tar -zxvf nginx-1.10.3.tar.gz
4. 编译安装: ./configure --prefix=/usr/nginx
5. 启动: 启动命令在nginx的安装目录下sbin目录下,在执行./nginx
6. 也可以设置环境变量
安装后:最好修改一下nginx的配置文件,将user设置成当前使用的账号(root)


Nginx的配置说明:
user nobody;最好改成具体的用户名
worker_processes 1; 这是工作进程数量,不是越多越好,依据一般是CPU的核数
http模块,所有关于http的配置都在这里
include mime.types;能够处理的媒体类型
access_log logs/access.log main;访问日志的存放目录
log_format # 日志格式化格式
server模块:就是服务器相关配置:
listen 80; 访问端口
server_name localhost; 访问服务器的名字,可以是域名
location 拦截配置,/代所有表请求
root html;html是访问目录
index index.html index.htm; 访问的默认首页(欢迎页面)
error_page 404 错误页面配置


把Nginx作为HTTP的静态资源服务器:
修改nginx.conf下的location下的root目录,指向到静态资源的项目即可,修改完后必须要重启服务器
./nginx -s reload

./nginx -s stop|quit
kill -9 进程号

配置:
location / {
# root html;
root takeaway;
index index.html index.htm;
}


代理三个角色:客户端、代理、服务端
正向代理:代理服务器代理的是客户端,即服务端不知道客户端访问的地址,客户知道服务器地址 --FQ
反向代理:反向代理特点:客户端不清楚服务器是哪台,代理服务器代理的是服务端 -- 负载均衡
就是当客户端访问代理服务器,再由代理服务器转发到真实的服务器即可
配置:
upstream test {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}

server中location配置
location / {
# root html;
root takeaway;
index index.html index.htm;
# 指定到具体的服务器
proxy_pass http://test;
proxy_set_header Host $host:$server_port;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

}

启动Tomcat服务器步骤:进入bin目录下的双击startup.bat
关闭:使用shutdown.bat 命令或者Ctrl + C

负载均衡:就是将流量分摊到多个服务器进行访问。负载均衡按照网络七层模型进划分有以下几种负载均衡的方式:
网络七层模型物理层-》数据链路层-》网络层-》传输层-》会话层-》表示层-》应用层
1、第七层负载均衡:nginx服务器的负载均衡
2、第四层负载均衡:lvs 虚拟主机 也是软件
3、第二层负载均衡:硬件的服务器F5


负载均衡策略:
随机轮询(RR):默认,就是在upstream中配置多台服务器

权重轮询:在upstream配置代理服务器时,添加权重,即根据权重大小进行分配请求
ip_hash:在upstream配置代理服务器时,添加ip_hash,根据访问的ip地址进行hash取值,
然后分配具体的服务器,那么接下来这个ip地址的客户端所有访问都会在同一台服务器上
fair: 根据响应时间越短优先分配的原则。需要要在预编译时添加安装模块:
步骤:在clone或者下载fair模块内容(在GitHub上搜索nginx fair)
在预编译时添加安装模块:./configure --prefix=/usr/local/nginx -- add_modules 模块的本地目录
下载地址:https://github.com/gnosek/nginx-upstream-fair
安装:
./configure --with-http_ssl_module --add-module=/absolute/path/to/nginx-upstream-fair其中=/absolute/path/to/nginx-upstream-fair就是下载的模块地址
make
make install

url_hash:根据url取hash值,在分配服务器,作用:可以提高服务器的缓存命中率
下载地址:https://github.com/flygoast/ngx_http_url_hash_module

掌握:Nginx的作用(优势)、Nginx实际应用尤其是正反向代理的区分、使用nginx做负载均衡时的负载均衡的策略

shadowsocks 代理软件
买一些vps 搬瓦工

posted @ 2019-03-07 12:24  一念之间的抉择  阅读(179)  评论(0编辑  收藏  举报