部署Nginx网站服务实现访问状态统计以及访问控制功能
部署Nginx网站服务实现访问状态统计以及访问控制功能
精选 原创Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求。
Nginx的安装文件可以从官方网站http://www.nginx.org/下载,下面以Nginx1.12版本为例,基于CentOS7,部署Nginx网站服务。
第一步源码编译安装
1. 安装支持软件
Nginx的配置及运行需要gcc 、 gcc-c++ 、 make 、 pcre、pcre-devel、zlib-devel软件包的支持,以便提供相应的库和头文件,确保Nginx安装顺利。
创建yum仓库的步骤详细步骤请参考 Linux下通过rdesktop远程登陆Windows系统
如果是在有网络的情况下,CentOS7无需创建yum仓库,直接执行yum list命令更新一下yum源,稍微等待一会儿。
2. 创建运行用户、组
Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确的控制其访问权限,增加灵活性,降低安全风险。
3. 编译安装
根据实际需要配置Nginx的具体选项,配置前可参考“./configure --help”给出的说明。
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
./configure \
--prefix=/usr/local/nginx \
--user=nginx
--group=nginx
--with-http_stub_status_module
- –prefix:指定Nginx的安装目录
- –user:指定Nginx的运行用户
- –group:指定Nginx的运行组
- –with-http_stub_status_module:启用http_stub_status_module模块以支持状态统计,便于查看服务器的连接信息
4. 为主程序Nginx创建链接文件
创建Nginx主程序的链接文件是为了方便管理员直接“nginx”命令就可以调用Nginx的主程序。
第二步检查配置文件并启动Nginx服务
1.检查配置文件
Nginx的主程序提供了“-t”选项来对配置文件进行检查,以便找出不当或错误的配置。
2.启动Nginx
直接运行Nginx即可启动Nginx服务器
3.使用Nginx服务脚本
为了使nginx服务的启动、停止、重载等操作更加方便,可以编写nginx服务脚本,并使用chkconfig和systemctl工具来进行管理,这更加符合系统的管理习惯。
第三步确认Nginx服务是否正常运行
通过检查Nginx程序的监听状态,或者在浏览器中访问此Web服务,默认页面将显示“Welcome to nginx!”
Nginx内置了HTTP_STUB_STATUS状态统计模块,用来反馈当前的Web访问情况。要使用Nginx的状态统计功能,除了启用内建模块以外,还需要修改nginx.conf配置文件,指定访问位置并添加stub_status配置代码。
新的配置生效后,在浏览器中访问nginx服务器的/status网站位置,可以看到当前的状态统计信息。
其中,“Active connections”表示当前的活动连接数;而“server accepts handled requests”表示已经处理的连接信息。三个数字依次表示已处理的连接数、成功的TCP握手次数、已处理的请求数。
1.基于用户授权的访问控制
(1).使用htpasswd生成用户认证文件,如果没有该命令,可使用yum安装httpd-tools软件包,用法与Apache认证时方式一样,在/usr/local/nginx/目录生成passwd.db文件,用户名是test,密码输入2次。
(2).修改密码文件的权限为400,将所有者改为nginx,设置nginx的运行用户能够读取。
(3).修改主配置文件nginx.conf,添加相应认证配置项。
(4).检测语法、重启服务
(5).用浏览器访问网址,检验控制效果。
需要输入用户名和密码进行访问,验证通过才能进行访问。
2.基于客户端的访问控制
Nginx基于客户端的访问控制要比Apache的简单,规则如下:
- deny IP/IP段:拒绝某个IP或IP段的客户端访问
- allow IP/IP段:允许某个IP或IP段的客户端访问。
- 规则从上往下执行,如匹配规则停止,不在往下匹配。
(1).修改主配置文件nginx.conf,添加相应认证配置项。
deny 192.168.113.132表示这个ip地址访问会被拒绝,其他IP客户端正常访问。
(2).重启服务器访问网址,页面已经访问不到。
要注意的是如果是用域名访问网页,需要配置DNS域名解析服务器,详细步骤参考 使用Bind部署DNS域名解析服务器之正向解析
- 打赏
- 3赞
- 收藏
- 评论
- 举报
-
nginx统计