Nginx学习总结(一)

Stella981
• 阅读 489

一、基本概念

1.什么是Nginx?

Nginx是一个高性能的web服务器和反向代理服务器,特点是占用内存少,并发能力强;事实上Nginx的并发能力确实在同类型的网页服务器中表现良好;

Nginx专为性能优化而开发,性能是其主要的考量;实现上非常注重效率,经得住高并发的考验,有报告表名能支持高达50000个并发连接数

2.反向代理

(1)正向代理

在客户端(浏览器)中需要配置代理服务器,通过代理服务器进行互联网访问

(2)反向代理

客户端只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器地址

3.负载均衡

单个服务器解决不了,我们增加服务器数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器上,这就是负载均衡

4.动静分离

为了加快网站的访问速度,可以吧动态页面和静态页面由不同服务器来解析,加快解析速度。降低原来单个服务器的压力。

二、Nginx的安装

1.安装Nginx

①安装pcre 依赖

wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

解压文件

执行 ./configure 完成后,回到pcre目录下执行 make,

在执行 make install

② 安装openssl

③ 安装zlib

yum -y install make zlib zlib -devel gcc-c++ libtool openssl openssl-devel

④安装Nginx

(1)把Nginx安装文件放入linux系统中去
(2) 解压压缩文件
(3) make && make install
安装成功以后,在usr多出一个文件夹 local/nginx,在nginx有sbin有启动脚本
(4)启动nginx(进入local/nginx/sbin 目录, 执行 ./nginx
(5)防火墙设置

查看开放的防火墙: firewall -cmd --list-all

设置开放的端口:firewall -cmd --add-service=http -permanent

sudu firewall -cmd --add-port=8002/tcp --permanent

重启防火墙:firewall -cmd --reload

三、nginx的常用命令

1.使用nginx操作命令前提条件:进入到nginx的目录下(usr/local/nginx/sbin)

命令说明

命令

查看nginx;版本号

./nginx -v

启动 nginx

./nginx

关闭nginx

/nginx -s stop

重新加载 nginx

./nginx -s reload

四、nginx配置文件

nginx配置文件有三部分组成

(1) 全局块

从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置命令,主要包括配置运行Nginx服务器的用户组,允许生成的 work_process数,进程PID存放路径,日志存放路径和类型一级配置文件的 引入等。

(2) events块

events块涉及的指令主要影响Nginx服务器与用户的网络连接

比如 worker_connections 1024; 支持的最大连接数

1  events {
2   worker_connections 1024;
3   }

(2) http块

  1 http {
  2   include mime.types;
  3   default_type application/octet-stream;
  4   ​
  5   #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  6   # '$status $body_bytes_sent "$http_referer" '
  7   # '"$http_user_agent" "$http_x_forwarded_for"';
  8   ​
  9   #access_log logs/access.log main;
 10   ​
 11   sendfile on;
 12   #tcp_nopush on;
 13   proxy_connect_timeout 5;
 14   proxy_read_timeout 60;
 15   proxy_send_timeout 60;
 16   proxy_buffer_size 32k;
 17   proxy_buffers 4 128k;
 18   proxy_busy_buffers_size 128k;
 19   proxy_temp_file_write_size 128k;
 20   client_max_body_size 128m;
 21   ignore_invalid_headers on;
 22   ​
 23   ​
 24   #keepalive_timeout 0;
 25   ​
 26    
 27   ​
 28   ​
 29   keepalive_timeout 65;
 30   ​
 31   #gzip on;
 32   ​
 33   upstream XXXXX {
 34   server IP地址:端口号;
 35   ​
 36   }
 37   ​
 38   ​
 39   server {
 40   listen 90;
 41   server_name localhost;
 42   ​
 43   #charset koi8-r;
 44   ​
 45   #access_log logs/host.access.log main;
 46   ​
 47   ​
 48   location / { 
 49   # these two lines here
 50   proxy_http_version 1.1;
 51   proxy_set_header Connection "";
 52   proxy_pass https://域名/;
 53   }
 54   ​
 55   location /ZZZZZ/ {
 56   proxy_pass http://XXXXX;
 57   }
 58   ​
 59   #error_page 404 /404.html;
 60   ​
 61   # redirect server error pages to the static page /50x.html
 62   #
 63   error_page 500 502 503 504 /50x.html;
 64   location = /50x.html {
 65   root html;
 66   }
 67   ​
 68   ​
 69   }
 70   ​
 71   server {
 72   listen 88;
 73   server_name localhost;
 74   ​
 75   #charset koi8-r;
 76   ​
 77   #access_log logs/host.access.log main;
 78   ​
 79   ​
 80   location / { 
 81   # these two lines here
 82   proxy_http_version 1.1;
 83   proxy_set_header Connection "";
 84   proxy_pass https://域名/;
 85   }
 86   ​
 87   location /ZZZZZ/ {
 88   proxy_pass http://XXXXX;
 89   }
 90   ​
 91   #error_page 404 /404.html;
 92   ​
 93   # redirect server error pages to the static page /50x.html
 94   #
 95   error_page 500 502 503 504 /50x.html;
 96   location = /50x.html {
 97   root html;
 98   }
 99   ​
100   ​
101   }
102   ​
103   server {
104   listen 95;
105   server_name localhost;
106   ​
107   #charset koi8-r;
108   ​
109   #access_log logs/host.access.log main;
110   ​
111   ​
112   location / { 
113   # these two lines here
114   proxy_http_version 1.1;
115   proxy_set_header Connection "";
116   proxy_pass https://域名/;
117   } 
118   #error_page 404 /404.html;
119   ​
120   # redirect server error pages to the static page /50x.html
121   #
122   error_page 500 502 503 504 /50x.html;
123   location = /50x.html {
124   root html;
125   }
126   ​
127   ​
128   }
129   ​
130    
131   ​
132   }

Nginx最频繁配置的地方,代理、缓存和日志定义等 绝大多数功能和第三方模块的配置都在这里

①http全局块

http全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链请求数上限等。

② server块

这块和虚拟主机 相关,虚拟主机从用户侧看,和一台独立额硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。

每个http块可以包括多个server块,而每个server块相当于一个主机

每个server块也分为全局server块,以及可以同时包括多个location块

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Nginx配置https
一、开启nginx的ssl模块1.未安装过nginx,编译安装配置参数如下:./configure\prefix/usr/local/nginx\withpcre\withhttp\_ssl\_modulessl模块\withhttp\_stub\_status\_module\wit
Stella981 Stella981
3年前
Nginx入门简介和反向代理、负载均衡、动静分离理解
场景Nginx简介Nginx("enginex")是一个高性能的HTTP和反向代理服务器特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。Nginx可以作为静态页面的web服务器,
Stella981 Stella981
3年前
Nginx是什么及作用?
一:介绍nginx是一个高性能的HTTP和反向代理服务器,其特点是占用内存少,并发能力强。二:名词介绍代理服务器:代理服务器英文全称是ProxyServer,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站,去获取信息。主要的功能有:1.突破自身IP访问限制,访问国外站点。教育网、169网等
可莉 可莉
3年前
12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向
12.5Nginx介绍Nginx("enginex")是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSDlike协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网
Wesley13 Wesley13
3年前
nginx中文手册内容说明
1.什么是nginx?Nginx是一个高性能的Web和反向代理服务器,它具有有很多非常优越的特性:作为Web服务器:相比Apache,Nginx使用更少的资源,支持更多的并发连接,体现更高的效率,这点使Nginx尤其受到虚拟主机提供商的欢迎。能够支持高达50,000个并发连接数的响应,感谢Nginx为我们选择了e
Stella981 Stella981
3年前
Nginx
!(https://imagestatic.segmentfault.com/255/117/25511790966008dc5b00fd8)Nginx进程模型分析在介绍Nginx的进程模型之前我们先来给大家解释下一些常见的名词,这能辅助我们更好的了解Nginx的进程模型。作为Web服务器,设计的初衷就是为了能够处理更多的客户端的请
Stella981 Stella981
3年前
Nginx安全加固配置手册
第1章   概述1.1   目标Nginx(发音同enginex)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师IgorSysoev所开发,可以稳定地运行在Linux、Windows等操作系统上,其特点是占用内存少,并发能力强。同其他软件一样,Ng
胖大海 胖大海
2年前
什么是nginx
Nginx的介绍Nginx是一款是由俄罗斯的程序设计师IgorSysoev所开发高性能的Web和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错