nginx基本概念
nginx简介:nginx是一个高性能的HTTP和反向代理Web服务器,占有内存少,并发能力强,nginx专为性能优化而开发,非常的注重效率,能够经受高负载的考验,有报告表明nginx最高可以支持50000个并发连接数。
反向代理:
- 正向代理:在我们的客户端配置代理服务器进行互联网的访问就是正向代理,客户端需要进行正向代理配置,对代理是有感知的。
- 反向代理:客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器选择处理请求的目标服务器,获取结果后最终将结果返回给客户端,此过程对外暴露的是反向代理服务器的端口号。
负载均衡:在高并发且业务比较复杂时,通常一个服务器是无法满足对客户端多个请求的流畅处理,这种情况下,我们可以提高这台服务器的配置,比如内存,CPU等等配置从而解决问题,但也有些时候,单单靠这种方式是无法从根本上解决问题的,第二种解决办法是我们增加服务器的数量,然后将客户端的请求通过中间的反向代理服务器分发到不同的服务器上执行。而负载均衡就是反向代理服务器根据不同服务器的不同性能对客户端发送的多个请求均衡的分发处理。
动静分离:为了加快网站的解析速度,可以把动态请求和静态请求进行分开部署到不同的服务器,降低单个服务器的压力,可以理解为使用nginx处理静态页面,而Tomcat处理动态页面;动静分离目前实现角度大致分为两种:一种是纯粹把静态文件独立成单独的域名,放在单独的服务器上,也是目前主流推崇的方案;另一种是动态和静态文件混合在一起发布,通过nginx来分开。
nginx安装、常用命令和配置文件
nginx安装
1.安装nginx需要提前安装nginx相关的依赖pcre,openssl,zlib,然后安装nginx
2.使用nginx
命令启动nginx
3.开放80端口firewall-cmd --add-port=80/tcp --permanent
重启防火墙firewall-cmd --reload
nginx常用命令
查看nginx版本号nginx -v
启动nginx命令nginx
停止nginx命令nginx -s stop
重新加载nginx命令nginx -s reload
nginx配置文件
1.nginx配置文件由三个部分组成,第一部分为全局块,第二部分为events
全局块:从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令,主要包括配置运行nginx服务器的用户(组),允许生成的worker process数,进程PID的存放路径,日志存放路径和类型以及配置文件的引入,比如非常常见的一行配置为
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
这是nginx服务器并发处理服务的关键配置,worker_processes的值越大,可以支持的并发处理量也越多,但是会收到硬件,软件等设备的制约
2.events块:涉及的指令主要影响nginx服务器与网络用户的网络连接部分,比如worker_connections表示每个worker_processes支持的最大连接数为1024,实际过程中这部分配置对nginx的性能影响较大,在实际中应该灵活配置
worker_connections 1024;
3.http块:http块也可以包括http块和server块
-
http全局块:
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 /var/log/nginx/access.log main; sendfile on;