Nginx网站服务搭建——基础服务、设置访问权限
Nginx
Nginx是一款高性能,轻量级web服务软件,其稳定性高、系统资源消耗低, 对HTTP并发连接的处理能力高。
为何nginx的高并发处理能力比apache强?
处理客户端请求方式上,nginx为异步非阻塞,apache则为同步阻塞。
当一个程序在执行的时候,一般会创建一个进程,也可以有多个进程。一个进程至少会创建一个线程,多个线程共享一个程序进程的内存。程序的运行最终是靠线程来完成操作的。线程的数量跟CPU核数有关,一个核最多能发出两个线程。
线程的操作主要分为:
一:给CPU进行程序命令的执行。
二:IO的操作(读取或输出数据)或者请求网络数据。
阻塞
就是线程在执行IO操作获取数据时,这个IO可能会需要一定的时间才能等到数据返回,然后才能接着执行下面的命令。那么,此时,这个线程的等待状态我们就把它称为阻塞。没有充分利用起cpu的资源。
非阻塞
还是这个线程在进行 IO操作时,无需等待数据的返回,可以接着往下执行代码命令。cpu资源一直在充分利用。
同步
同步指的当线程进行IO操作请求数据时,是你主动"关心"数据的返回。
异步
是当前线程无需主动关心数据是否返回,当数据返回时,会有相关的事件通知你。
常用命令
实验步骤
1、远程获取Windows上的源码包,并挂载到Linux上
2、解压源码包、下载安装环境包
3、创建程序用户并配置Nginx服务相关组件
4、编译安装
5、优化Nginx服务启动脚本,并建立命令软连接
6、使用浏览器访问192.168.235.158,即可访问到Nginx服务的首页
7、制作service管理脚本
[root@localhost nginx-1.12.0]# cd /etc/init.d///切入启动配置文件目录#!/bin/bash# chkconfig: - 99 20 ##注释信息# description: Nginx Service Control ScriptPROG="/usr/local/nginx/sbin/nginx" ##设置变量为nginx命令文件PIDF="/usr/local/nginx/logs/nginx.pid" ##设置变量PID文件 进程号为5346case "$1" in start) $PROG ##开启服务 ;; stop) kill -s QUIT $(cat $PIDF) ##关闭服务 ;; restart) ##重启服务 $0 stop $0 start ;; reload) ##重载服务 kill -s HUP $(cat $PIDF) ;; *) ##错误输入提示 echo "Usage: $0 {start|stop|restart|reload}" exit 1esacexit 0[root@localhost init.d]# chmod +x nginx //授予nginx执行权限[root@localhost init.d]# chkconfig --add nginx //将nginx添加到service管理器[root@localhost init.d]# service nginx stop //使用service控制nginx服务停止[root@localhost init.d]# service nginx start//使用service控制nginx服务启动
Nginx的访问状态统计
启用HTTP STUB STATUS状态统计模块
●配置编译参数时添加--with-http stub status module
(前文我们已经顺带安装了统计模块)
●nginx -V查看已安装的Nginx是否包含HTTP STUB_ _STATUS模块
1、修改Nginx.conf配置文件
2、安装并配置DNS服务
[root@localhost ~]# yum -y install bind//安装DNS服务的bind包[root@localhost ~]# vim /etc/named.conf //编辑主配置文件options { listen-on port 53 { any; }; ##将监听地址127.0.0.1替换为any, listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; ##将授权localhost替换为any[root@localhost ~]# vim /etc/named.rfc1912.zones //编辑区域配置文件zone "bdqn.com" IN { type master;##将localhost替换为域名bdqn.com file "bdqn.com.zone"; ##指定区域数据配置文件bdqn.com.zone allow-update { none; };}; [root@localhost ~]# cd /var/named[root@localhost named]# cp -p named.localhost bdqn.com.zone //复制区域数据配置文件模板为bdqn.com.zone[root@localhost named]# vim bdqn.com.zone //编辑区域数据配置文件$TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1www IN A 192.168.235.158##删除原来末行的内容,添加域名解析地址为本机地址[root@localhost named]# systemctl start named //开启dns服务[root@localhost named]# systemctl stop firewalld.service //关闭防火墙[root@localhost named]# setenforce 0 //关闭增强型安全功能
3、开启一台WIndows系统的虚拟机测试访问状态统计
Nginx访问控制授权
1.生成用户密码认证文件
2.修改主配置文件对相应目录,添加认证配置项
3.重启服务,访问测试
1、修改Nginx.conf配置文件
2、安装httpd-tools工具包,并指定用户名与密码
3、使用测试机验证访问控制授权效果