千家信息网

Nginx网站服务搭建——基础服务、设置访问权限

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,NginxNginx是一款高性能,轻量级web服务软件,其稳定性高、系统资源消耗低, 对HTTP并发连接的处理能力高。为何nginx的高并发处理能力比apache强?处理客户端请求方式上,nginx为
千家信息网最后更新 2025年02月02日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、使用测试机验证访问控制授权效果

0