Nginx的搭建与核心配置

一、Nginx

1、Nginx概述

  • 一款高新能、轻量级Web服务软件
  • 系统资源消耗低
  • 对HTTP并发连接的处理能力高
  • 单台物理服务器可支持30 000~50 000个并发请求。

2、Nginx主要功能:

  1. 静态文件服务:nginx可直接提供静态文件服务,HTML、CSS、JAVAScrippt、图片等/能够高效地处理并响应静态文件请求

  2. 反向代理:可作为反向代理服务器,客户端在请求时,会通过代理服务器将流量按照轮询算法,转发到后台不同的服务器,实现负载均衡和高可用

  3. 缓存服务: nginx自带缓存功能

  4. 动态服务: 可代理请求,将动态请求模块发送到后端的动态服务进行处理,处理完成后,在返回nginx,nginx响应客户端

  5. 虚拟主机服务:nginx可以在一台服务器上设置多个虚拟机,同一个服务器上可有多个域名或站点

  6. URL重定向:可以实现灵活的url重定向和重写

  7. SSL/TLS加密:https加密方式,数字证书验证机制

  8. 日志功能:可以详细的记录请求信息,包括访问时间,请求路径IP地址、响应状态有助于故障排查(系统控制日志:/var/log/messages 业务日志:access.log访问成功记录;error访问失败记录)

 3、nginx主要文件功能

/usr/local/nginx下

  1. conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件

  2. html:目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件是默认的错误页面提示页面。

  3. logs:用来保存nginx服务器的访问日志错误日志等日志, logs目录可以放在其他路径,比如/var/logs/nginx里面。

  4. sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能

 4、nginx常用命令

  1. nginx -t:检查配置文件是否配置正确

  2. nginx -v:查看nginx的版本号

  3. nginx -s:向主进程传输信号,停止、开启、重启、重新加载

  4. nginx -c:设置配置文件的默认路径

5、Nginx主配置文件各模块与作用 

  • 全局块:全局配置,对全局生效

Nginx的搭建与核心配置_第1张图片

  •  events块:配置影响 Nginx 服务器与用户的网络连接
  • http块:主要针对HTTP请求的配置,包括代理,缓存,日志反向代理,虚拟web主机,server块
  • server块:配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块

Nginx的搭建与核心配置_第2张图片

  • location块:用于配置匹配的 uri  

6、locatin模块当中root和alias的区别

root:拼接,root指定的目录和location匹配的uri之间做的一个拼接,/opt/ ky30/这两个路径都要真实存在,而且都是目录,并且,在uri目录离面要有web文件

alias:匹配指定路径下的web文件

访问时:/root后面有没有/无所谓,alias加了/,后面也必须有/,否则匹配不到

二、实验 

1、 访问状态统计配置

1、先使用命令/usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含HTTP_STUB_STATUS 模块
2、修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置

vim /usr/local/nginx/conf/nginx.conf
......
http {
......
	server {
		listen 80;
		server_name www.kgc.com;
		charset utf-8;
		location / {
			root html;
			index index.html index.php;
		}
		##添加 stub_status 配置##
		location /status { 					#访问位置为/status
			stub_status on; 				#打开状态统计功能
			access_log off; 				#关闭此位置的日志记录
		}
	}
}

打开:http://192.168.247.40/status
验证:

Nginx的搭建与核心配置_第3张图片

  •  Active connections :表示当前的活动连接数;
  • server accepts handled requests:表示已经处理的连接信息
  • 三个数字依次表示已处理的连接数、成功的TCP握手次数、 已处理的请求数。
     

2、 基于域名的 Nginx 虚拟主机

为虚拟主机提供域名解析
echo "192.168.247.40 www.kgc_test.com www.accp.com" >> /etc/hosts

为虚拟主机准备网页文档
mkdir -p /var/www/html/kgc
mkdir -p /var/www/html/accp
echo "

www.kgc.com

" > /var/www/html/kgc/index.html echo "

www.accp.com

" > /var/www/html/accp/index.html 修改Nginx的配置文件 vim /usr/local/nginx/conf/nginx.conf ...... http { ...... server { listen 80; server_name www.kgc.com; #设置域名www.kgc.com charset utf-8; access_log logs/www.kgc.access.log; location / { root /var/www/html/kgc; #设置www.kgc.com 的工作目录 index index.html index.php; } error_page 500 502 503 504 /50x.html; location = 50x.html{ root html; } } server { listen 80; server_name www.accp.com; #设置域名www.accp.com charset utf-8; access_log logs/www.accp.access.log; location / { root /var/www/html/accp; index index.html index.php; } error_page 500 502 503 504 /50x.html; location = 50x.html{ root html; } } }

Nginx的搭建与核心配置_第4张图片

Nginx的搭建与核心配置_第5张图片

 验证1:访问域名www.kgc.com

Nginx的搭建与核心配置_第6张图片

 验证2:访问域名www.accp.com

Nginx的搭建与核心配置_第7张图片

 3、基于IP 的 Nginx 虚拟主机:

ifconfig ens33:0 192.168.247.100 netmask 255.255.255.0 
#添加虚拟网卡
vim /usr/local/nginx/conf/nginx.conf
......
http {
......
server {
		listen 192.168.247.40:80;					#设置监听地址
		server_name www.kgc.com;
		charset utf-8;
		access_log logs/www.kgc.access.log; 
		location / {
			root /var/www/html/kgc;
			index index.html index.php;
		}
		error_page 500 502 503 504 /50x.html;
		location = 50x.html{
			root html;
		}
	}

server {
	listen 192.168.247.100:80;					#设置监听地址
	server_name www.accp.com;
	charset utf-8;
	access_log logs/www.accp.access.log; 
	location / {
		root /var/www/html/accp;
		index index.html index.php;
	}
	error_page 500 502 503 504 /50x.html;
	location = 50x.html{
		root html;
	}
}	
}
systemctl restart nginx
#重启服务

Nginx的搭建与核心配置_第8张图片 Nginx的搭建与核心配置_第9张图片

 验证1:访问192.168.247.100:80

Nginx的搭建与核心配置_第10张图片

 验证2:访问192.168.247.40:80

Nginx的搭建与核心配置_第11张图片

4、基于端口的 Nginx 虚拟主机:
 Nginx的搭建与核心配置_第12张图片

Nginx的搭建与核心配置_第13张图片

 验证1:访问888端口

Nginx的搭建与核心配置_第14张图片

  验证1:访问8080端口

Nginx的搭建与核心配置_第15张图片

 

你可能感兴趣的:(nginx,运维)