一、Nginx简介
1.是什么
Nginx("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并 发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、 淘宝等。
[1].web服务器和Tomcat的关系
Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Nginx 和 apache 是竞争对手,和 tomcat是合作关系。
Java 程序只能通过与 tomcat 配合完成。
[2].代理
(1)正向代理
正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
(2)反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
[3].负载均衡
负载均衡:单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器.
[4].动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
二、Nginx安装
https://www.cnblogs.com/HOsystem/p/13894112.html |
三、Nginx常用命令
注:使用nginx命令必须进入nginx的目录/usr/local/nginx/sbin
1.查看nginx版本
命令:./nginx -v
[root@host79 /]# cd /usr/local/nginx/sbin/ [root@host79 sbin]# ./nginx -v nginx version: nginx/1.12.2 |
2.启动nginx
命令:./nginx
[root@host79 sbin]# ps -ef|grep nginx root 20804 16136 0 22:44 pts/2 00:00:00 grep nginx [root@host79 sbin]# ./nginx [root@host79 sbin]# ps -ef|grep nginx root 20808 1 0 22:45 ? 00:00:00 nginx: master process ./nginx nobody 20809 20808 0 22:45 ? 00:00:00 nginx: worker process root 20811 16136 0 22:45 pts/2 00:00:00 grep nginx |
3.关闭nginx
命令:./nginx -s stop
[root@host79 sbin]# ps -ef|grep nginx root 20562 1 0 22:25 ? 00:00:00 nginx: master process ./nginx nobody 20563 20562 0 22:25 ? 00:00:00 nginx: worker process root 20799 16136 0 22:44 pts/2 00:00:00 grep nginx [root@host79 sbin]# ./nginx -s stop [root@host79 sbin]# ps -ef|grep nginx root 20802 16136 0 22:44 pts/2 00:00:00 grep nginx |
4.重加载nginx
[root@host79 sbin]# ./nginx -s reload |
四、nginx配置文件
1.nginx配置文件位置
文件位置:/usr/local/nginx/conf/nginx.conf
[root@host79 /]# cd /usr/local/nginx/conf/ [root@host79 conf]# ls fastcgi.conf koi-utf nginx.conf uwsgi_params fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default fastcgi_params mime.types scgi_params win-utf fastcgi_params.default mime.types.default scgi_params.default |
2.nginx配置文件
nginx 安装目录下,其默认的配置文件都放在这个目录的 conf 目录下,而主配置文件nginx.conf 也在其中,后续对 nginx 的使用基本上都是对此配置文件进行相应的修改.
[1].全局块
从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以
及配置文件的引入等。
worker_processes 1; #处理并发数的配置 |
Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约
[2].events块
影响 Nginx 服务器与用户的网络连接,这部分的配置对 Nginx 的性能影响较大,在实际中应该灵活配置。
worker_connections 1024; #支持的最大连接数为 1024 |
[3].http块
代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。包含http全局快、server块
(1).http全局块
http 全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。
(2).server 块
这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。
每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。
每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块。
(1.全局server块
常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或 IP 配置。
(2.location块
一个 server 块可以配置多个 location 块。
这块的主要作用是基于Nginx服务器接收到的请求字符串(例如server_name/uri-string),对虚拟主机名称(也可以是 IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓
存和应答控制等功能,还有许多第三方模块的配置也在这里进行。