nginx相关:
1.nginx基本概念
1.概述:
nginx是一个高性能的http和反向代理服务器,同时 也提供了IMAP/POP3/SMTP服务;
特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务 器中表
现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
nginx专门为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受
高负载的考验,可以支持高达50000个并发连接数.
2.反向代理
1.正向代理:
在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网的访问,然后将数据返回给客服端;
因为可以通过代理访问任意网站并且隐藏客户端自身,所以必须采取安全措施以确保仅为经过授权的客
户端提供服务.
2.反向代理:保护和隐藏原始资源服务器
将请求发给代理服务器,由代理服务器去选择目标服务器获取数据后,在返回给客户端;反向代理服
务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器ip地址.
3.负载均衡
定义:将负载进行平衡,分摊到多个服务器,从而协同完成工作任务.
优点:加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性.
4.动静分离
定义:把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力.
2.nginx 安装,常用命令与配置文件
0.安装Nginx需要的相关依赖包:
pcre-devel zlib zlib-devel openssl openssl-devel
安装依赖包:
yum install pcre-devel zlib zlib-devel openssl openssl-devel
1.安装nginx:
1)前往用户根目录
>: cd ~
2)下载nginx1.13.7
>: wget http://nginx.org/download/nginx-1.13.7.tar.gz
3)解压安装包
>: tar -xf nginx-1.13.7.tar.gz
4)进入目标文件
>: cd nginx-1.13.7
5)配置安装路径:/usr/local/nginx
>: ./configure --prefix=/usr/local/nginx
6)编译并安装
>: make && sudo make install
7)建立软连接:终端命令 nginx
>: ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
8)删除安装包与文件:
>: rm -rf nginx-1.13.7
>: rm -rf nginx-1.13.7.tar.gz
9)测试Nginx环境,服务器运行nginx,本地访问服务器ip
>: nginx
>: 服务器绑定的域名 或 ip:80
查看开放的端口号: firewall-cmd --list-all
设置开放的端口号:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=80/tcp --permanent
重启防火墙: firewall-cmd --reload
2.nginx常见命令:
0) 使用命令的前提:进入nginx的目录
>:/usr/local/nginx/sbin
1)启动
>: nginx
2)关闭nginx
>: nginx -s stop
3)重启nginx
>: nginx -s reload
4)查看端口,强行关闭
>: ps -aux|grep nginx
>: kill <pid:进程编号>
5)查看nginx的版本号
>: nginx -v
3.nginx配置文件
1.位置:/usr/local/nginx/conf 下 nginx.conf中
2.组成:由三部分组成
1.第一部分:全局块
作用:主要会设置一些影响nginx服务器整体运行的配置指令
worker_processes 1; #
注:该值越大,可以支持的并发处理数量也越多,但是受到硬件,软件等设备的制约
2.第二部分:events块
作用:主要会设置一些影响nginx服务器与用户的网络连接
events {
worker_connections 1024; #支持最大连接数为1024
}
注:这部分的配置对nginx的性能影响较大
3.第三部分:http块 配置最频繁的部分
http块可以分为:http全局块与server块
http全局块:配置的指令包括文件引入,mime-type定义,日志自定义,连接超时时间,单链接请求数上限
server块:与虚拟主机有密切关系
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name local host;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
...
}
3.nginx原理
1. 1个master多个worker的优势:
1.可以使用 nginx -s reload 热部署,利用nginx进行热部署操作
2.每一个worker都是独立的进程,其中一个挂了,不会影响到其他的worker的正常争抢,不会造成服务中断
2.设置多少个worker
worker数与cpu数相等最合适;
3.连接数worker_connections
1.发送请求会占用worker的多少个连接数 两个或者四个
2.计算最大并发数公式:
普通静态资源访问:worker_connections*worker_processes/2
http做反向代理时:worker_connections*worker_processes/4