简单认识Nginx主配置文件及实操模拟

文章目录

  • 一、Nginx主配置文件
    • 1、全局配置
    • 2、添加 I/O事件配置
    • 4.HTTP配置
  • 实操模拟部分
    • 一、Nginx虚拟主机配置
      • 1.1基于域名
      • 1.2.基于IP
      • 1.3.基于端口
    • 二、Nginx访问状态统计
    • 三、Nginx配置访问控制
      • 1.基于授权的访问控制
      • 2.基于客户端的访问控制


一、Nginx主配置文件

位置:/usr/local/nginx/conf/nginx.conf

简单认识Nginx主配置文件及实操模拟_第1张图片

1、全局配置

#运行用户,若编译时未指定则默认为 nobody
#user nobody; 
#工作进程数量,可配置成服务器内核数 * 2,如果网站访问量不大,一般设为1就够用了
worker_processes 4; 
#错误日志文件的位置
#error_log logs/error.log;  
#PID 文件的位置
#pid logs/nginx.pid; 		   

Nginx的两种进程:

主进程(master process),用于管理工作进程。
工作进程(work process),用于处理用户的连接(一般设置数与cpu总线程数一致)。

简单认识Nginx主配置文件及实操模拟_第2张图片
修改为与本机cpu数一致
简单认识Nginx主配置文件及实操模拟_第3张图片

2、添加 I/O事件配置

默认配置
在这里插入图片描述
默认只有一行配置,添加use epoll; 表示使用epoll I/O模型,可以提高性能。
在这里插入图片描述

在Linux平台上,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。
epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

由于一个nginx服务器最大可以支持2~3万连接数,我们需要根据本机工作进程数修改每个进程支持的连接数(如我本机设置为8,约可修改为3500)
如提高每个进程的连接数还需执行“ulimit -n 65535”命令临时修改本地每个进程可以同时打开的最大 文件数(永久修改需要修改/etc/security/limits.conf 文件)。
可使用ulimit -a命令查看系统允许当前用户进程打开的文件数限制。

总结:
临时修改内核的大小:ulimit -n

永久修改内核的大小:/etc/security/limits.conf

查看内核的大小:ulimit -a

如果编辑文件时出现“注意”的可以使用:rm -rf /usr/local/nginx/conf/.nginx.conf.swp————删除这个生成的文件

4.HTTP配置

简单认识Nginx主配置文件及实操模拟_第4张图片
简单认识Nginx主配置文件及实操模拟_第5张图片

http {
	##文件扩展名与文件类型映射表
    include       mime.types;
	##默认文件类型
    default_type  application/octet-stream;
	##日志格式设定,前端给日志信息定位配置
    #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  logs/access.log  main;
	##支持文件发送(下载)
    sendfile        on;
	##此选项允许或禁止使用socket的TCP_CORK的选项(发送数据包前先缓存数据),此选项仅在使用sendfile的时候使用
    #tcp_nopush     on;
	##连接保持超时时间,单位是秒
    #keepalive_timeout  0;
    keepalive_timeout  65;
	##gzip模块设置,设置是否开启gzip压缩输出
    #gzip  on;
	
	##Web 服务的监听配置
	server {
		##监听地址及端口
		listen 80; 
		##站点域名,可以有多个,用空格隔开
		server_name www.ff.com;
		##网页的默认字符集
		charset utf-8;
		##根目录配置
		location / {
			##网站根目录的位置/usr/local/nginx/html
			root html;
			##默认首页文件名
			index index.html index.php;
		}
		##内部错误的反馈页面
		error_page 500 502 503 504 /50x.html;
		##错误页面配置
		location = /50x.html {
			root html;
		}
	}用来记录客户端用户名称;
}

日志格式设定
简单认识Nginx主配置文件及实操模拟_第6张图片

通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。

location常见配置指令,root、alias、proxy_pass
root(根路径配置):root /var/www/html
请求www.kgc.com/test/1.html,会返回文件/var/www/html/test/1.html

alias(别名配置):alias /var/www/html
请求www.kgc.com/test/1.html,会返回文件/var/www/html/1.html
proxy_pass(反向代理配置)

实操模拟部分

一、Nginx虚拟主机配置

1.1基于域名

(1)为虚拟主机提供域名解析

配置DNS
修改/etc/hosts文件
在这里插入图片描述
(2)为虚拟主机准备网页文档
简单认识Nginx主配置文件及实操模拟_第7张图片

#创建网页目录
mkdir -p /var/www/html/ikun
mkdir -p /var/www/html/heizi
 
#编写简易首页html文件
echo "

welcome to www.ikun.com

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

welcome to www.heizi.com

"
> /var/www/html/heizi/index.html

(3)修改nginx配置文件
域名不同,IP地址相同,端口相同
简单认识Nginx主配置文件及实操模拟_第8张图片
简单认识Nginx主配置文件及实操模拟_第9张图片
简单认识Nginx主配置文件及实操模拟_第10张图片
(4)检查语法并重启,访问测试
在这里插入图片描述

systemctl restart nginx.service 

成功
简单认识Nginx主配置文件及实操模拟_第11张图片
简单认识Nginx主配置文件及实操模拟_第12张图片

1.2.基于IP

(1)添加网络接口

简单认识Nginx主配置文件及实操模拟_第13张图片

(2)修改nginx配置文件
在这里插入图片描述

在这里插入图片描述

(3)检查语法并重启,访问测试
在这里插入图片描述
简单认识Nginx主配置文件及实操模拟_第14张图片
简单认识Nginx主配置文件及实操模拟_第15张图片

1.3.基于端口

(1)修改配置文件中监听端口

在这里插入图片描述

在这里插入图片描述

(2)检查语法并重启,访问测试

在这里插入图片描述

成功
简单认识Nginx主配置文件及实操模拟_第16张图片
简单认识Nginx主配置文件及实操模拟_第17张图片

二、Nginx访问状态统计

cat /opt/nginx-1.12.0/auto/options        可查看安装软件的所有模块(YES表示已安装)

1.先查看已安装的Nginx是否包含 HTTP_STUB_STATUS 模块
简单认识Nginx主配置文件及实操模拟_第18张图片

2.修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置

先恢复默认配置,再修改nginx.conf

简单认识Nginx主配置文件及实操模拟_第19张图片
简单认识Nginx主配置文件及实操模拟_第20张图片

#添加以下配置
location /status {
	stub_status on;#代表在当前目录status中,打开状态统计,关闭访问日志记录
	access_log off;
	

3.检查配置并重启服务,测试访问

在这里插入图片描述

成功
简单认识Nginx主配置文件及实操模拟_第21张图片

三、Nginx配置访问控制

1.基于授权的访问控制

(1)下载依赖软件,生成用户密码认证文件,修改密码文件权限

简单认识Nginx主配置文件及实操模拟_第22张图片

简单认识Nginx主配置文件及实操模拟_第23张图片
简单认识Nginx主配置文件及实操模拟_第24张图片

(2)修改主配置文件对应目录,添加认证配置项

简单认识Nginx主配置文件及实操模拟_第25张图片

(3)检查配置并重启服务,测试访问

在这里插入图片描述
成功!
简单认识Nginx主配置文件及实操模拟_第26张图片

简单认识Nginx主配置文件及实操模拟_第27张图片

2.基于客户端的访问控制

deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。
allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。
规则从上往下执行,如匹配则停止,不再往下匹配。
(1)修改配置文件,允许以下两个地址访问,拒绝其他

简单认识Nginx主配置文件及实操模拟_第28张图片

(2)检查配置并重启服务,测试访问
简单认识Nginx主配置文件及实操模拟_第29张图片

成功
简单认识Nginx主配置文件及实操模拟_第30张图片

你可能感兴趣的:(nginx,服务器,网络)