Nginx 的配置和访问控制

[TOC]

文章目录

一、Nginx简介

一款高性能、轻量级Web服务软件,稳定性高,系统资源消耗低,对HTTP并发连接的处理能力高

二、Nginx配置

2.1、安装依赖包和解压

2.2、配置编译安装

2.3、制作管理脚本

2.4、nginx.conf文件的修改

2.5、配置DNS域名解析

三、访问控制

3.1、基于授权的访问控制

3.2、基于客户端的访问控制

一、Nginx简介

一款高性能、轻量级Web服务软件,稳定性高,系统资源消耗低,对HTTP并发连接的处理能力高

二、Nginx配置

需要准备的安装包:

可以先通过远程挂载的方式将压缩包从Windows系统,挂载到linux系统,之后再进行压缩等操作。

2.1、安装依赖包和解压

在一台IP地址为 192.168.111.141 的 centos7系统中

1、安装依赖包

2、创建名为nginx的用户,且不允许登录系统

3、挂载,并解压安装包到指定/opt/中

2.2、配置编译安装

1、编译配置

2、make编译

3、关闭防火墙,优化路径


4、检查是否有误

5、装 elinks 安装包,用elinks测试

nginx -t //检查

nginx //启动

killall -1 nginx //重载

killall -3 nginx //停止

2.3、制作管理脚本

1、制作管理脚本,来控制 Nginx 的开启关闭。

2、添加执行权限,将脚本文件添加到服务列表中

2.4、nginx.conf文件的修改

在 Nginx 服务器的主配置文件 /usr/local/nginx/conf/nginx.conf 中,包括全局配置,I/O 事件配置,HTTP 配置 中三大块内容。

1、全局配置

2、I/O 事件配置

3、HTTP 配置

访问状态统计

nginx内置了 HTTP_STUB_STATUS 状态统计模块,用来反馈当前的 Web 访问情况,配置编译参数时可添加 --with-http_stub_status_module 来启用此模块支持。

可使用命令: /usr/local/nginx/sbin/nginx -V 来查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块。

要使用 Nginx 的状态统计功能,除了启用内建模块以外,还需要修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置代码。

在nginx.conf 配置文件 只修改 server{}区域:

修改好配置文件之后,重启一下服务即可。

2.5、配置DNS域名解析

1、安装

2、修改

3、启动named服务

在一台 win10系统的客户端中

修改DNS服务器的地址

在win10的浏览器中输入 www.king.com/status

三、访问控制

3.1、基于授权的访问控制

Nginx 和Apache 一样,可以实现基于用于授权的访问控制,当客户端想访问网站时,会要求输入用户名和密码才可以正常访问,配置步骤和 Apache 基本一致。

基于授权的访问控制配置思路:

生成用户密码认证文件

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

重启服务,访问测试

1、修改主配置文件 nginx.conf ,添加相应认证配置项。

安装tools软件包

htpasswd 命令生成用户认证文件

3、修改配置文件,就必须重启服务

4、这时,用win10的浏览器访问网址www.king.com,就会要求输入用户名 wanglu 和密码123123

3.2、基于客户端的访问控制

可以通过客户端的 IP地址,决定是否允许对页面访问,规则如下:

deny ip/ip段 :拒绝某个ip或IP段访问;

allow ip/ip段 :允许某个ip或IP段访问;

规则:从上往下,如匹配则停止,不再往下匹配

我的win10主机 IP地址为 192.168.111.140

配置过程:

1、修改主配置文件 nginx.conf ,添加相应认证配置项。

2、修改配置文件,就必须重启服务

3、在win10系统中验证:

原文地址:https://blog.51cto.com/14557584/2461720

时间: 2024-11-06 01:20:26

Nginx 的配置和访问控制的相关文章

【nginx】配置优化

1.编译安装过程优化 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆字节.在编译前取消Nginx的debug模式,编译完成后Nginx只有几百千字节,因此可以在编译之前,修改相关源码,取消debug模式,具体方法如下:在Nginx源码文件被解压后,找到源码目录下的auto/cc/gcc文件,修改如下几行 sed -i '[email protected]="$CFLAGS -g"@#CFLA

nginx的配置及模块详解

nginx: nginx是俄罗斯软件工程师Igor Sysoev开发的免费开源web服务器软件,nginx采用了模块化.事件驱动.异步.单线程及非阻塞的架构,并大量采用了多路复用及事件通知机制来实现高并发和高性能,解决C10K的问题,主要功能就是提供http和反向代理服务,以及邮件服务及反向代理等,并且具有多种web服务器功能特性:负载均衡,缓存,访问控制,带宽控制,以及高效整合各种应用的能力. 在nginx中,连接请求由为数不多的几个仅包含一个线程的进程worker以高效的回环(run-loo

nginx详细配置教程

一.安装nginx 安装nginx之前首先需要安装"Development Tools"和 "Development Libraries"两个基本组包.yum groupinstall "Development Tools" "Development Libraries".另外还需要安装pcre-devel包. 安装pcre-devel: yum install pcre-devel 安装nginx: 添加nginx账号gro

Nginx虚拟主机及访问控制

在上一篇Nginx服务构建及访问状态统计的基础上,尝试完成Nginx虚拟主机及访问控制实验. 实验环境: RHEL6-5(IP地址192.168.100.110) Win7-1(IP地址192.168.100.202) 配置虚拟主机实验过程: 1.修改主配置文件 # vim /usr/local/nginx/conf/nginx.conf 在配置文件的末尾单独插入就不会有影响,注意格式(主要就是注意括号问题!) server { server_name www.benet.com; locati

nginx全局配置和性能优化

nginx目录结构和命令 1.ls /apps/nginx/:         html是测试页,sbin是主程序 2.ls /apps/nginx/sbin/:  nginx 只有一个程序文件 3.ls /apps/nginx/html/:  50x.html index.html 测试网页 ?nginx:默认为启动nginx -h 查看帮助选项 -V 查看版本和配置选项 -t 测试nginx语法错误 -c filename 指定配置文件(default: /etc/nginx/nginx.c

Nginx 核心配置详解

目录 Nginx 核心配置详解 Nginx 四层访问控制: Nginx账户认证功能: 自定义错误页面: 自定义访问日志: 检测文件是否存在: 长连接配置: 作为下载服务器配置: 作为上传服务器: 其他配置: Nginx 核心配置详解 Nginx 四层访问控制: 准备两个客户端,做访问测试使用. centos7 IP:192.168.39.7 centos6 IP:192.168.39.6 [[email protected] images1]#vim /apps/nginx/conf/conf.

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

nginx安装配置

一.下载Nginx源文件 进入nginx官网下载nginx的稳定版本,我下载的是1.10.0. 下载:wget http://nginx.org/download/nginx-1.10.0.tar.gz 解压:tar -zxvf nginx-1.10.0.tar.gz 二.检查安装依赖项 执行下面的命令安装nginx的依赖库: yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel11 三.配置Nginx安

FastDFS的php和nginx模块配置

一.FastDFS和php整合 1.安装php # 安装依赖包 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel cu