Nginx是一款高性能,轻量级web服务软件,其稳定性高、系统资源消耗低, 对HTTP并发连接的处理能力高。
创新互联是一家专注网站建设、网络营销策划、微信平台小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立10余年以来,已经为成百上千成都垃圾桶各业的企业公司提供互联网服务。现在,服务的成百上千客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。
处理客户端请求方式上,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 Script
PROG="/usr/local/nginx/sbin/nginx"
##设置变量为nginx命令文件
PIDF="/usr/local/nginx/logs/nginx.pid"
##设置变量PID文件 进程号为5346
case "$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 1
esac
exit 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服务启动
启用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.1
www 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系统的虚拟机测试访问状态统计
1、修改Nginx.conf配置文件
2、安装httpd-tools工具包,并指定用户名与密码
3、使用测试机验证访问控制授权效果