千家信息网

Nginx网站服务——基础服务与访问控制

发表于:2024-10-05 作者:千家信息网编辑
千家信息网最后更新 2024年10月05日,Nginx简述Nginx是一款高性能,轻量级web服务软件,其稳定性高、系统资源消耗低, 对HTTP并发连接的处理能力高(单台物理服务器可支持30000~50000个并发请求)。Nginx常用命令ng
千家信息网最后更新 2024年10月05日Nginx网站服务——基础服务与访问控制

Nginx简述

Nginx是一款高性能,轻量级web服务软件,其稳定性高、系统资源消耗低, 对HTTP并发连接的处理能力高(单台物理服务器可支持30000~50000个并发请求)。

Nginx常用命令

nginx -t                    检查配置文件语法nginx                       启动nginx服务killall -3 nginx            停止nginx服务killall -s QUIT nginx       停止nginx服务killall -s HUP nginx        重载nginx服务killall -1 nginx            重载nginx服务

实验环境

1.基础源码包(无密码):https://pan.baidu.com/s/14WvcmNMC6CFX1SnjHxE7JQ
2.CentOS 7版本Linux虚拟机

实验步骤

第一步:远程获取Windows上的源码包,并挂载到Linux上

[root@localhost ~]# smbclient -L //192.168.235.1Enter SAMBA\root's password: Sharename       Type      Comment---------       ----      -------LNMP            Disk  [root@localhost ~]# mkdir /abc[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abcPassword for root@//192.168.235.1/LNMP:  [root@localhost ~]# ls /abcDiscuz_X3.4_SC_UTF8.zip    nginx-1.12.0.tar.gz  php-7.1.10.tar.bz2mysql-boost-5.7.20.tar.gz  nginx-1.12.2.tar.gz  php-7.1.20.tar.gz

第二步:解压源码包

[root@localhost ~]# cd /abc[root@localhost abc]# tar zxvf nginx-1.12.0.tar.gz -C /opt[root@localhost abc]# ls /optnginx-1.12.0  rh

第三步:下载安装编译组件包

[root@localhost abc]# cd /opt[root@localhost opt]# yum install -y \> gcc \             //C语言> gcc-c++ \         //c++语言> pcre-devel \      //pcre语言工具> zlib-devel        //压缩函数库

第四步:创建程序用户并配置Nginx服务相关组件

[root@localhost opt]# useradd -M -s /sbin/nologin nginx//创建程序用户nginx,并限定其不可登录终端[root@localhost opt]# cd nginx-1.12.0/[root@localhost nginx-1.12.0]# ./configure \            //配置nginx> --prefix=//usr/local/nginx \      //指定安装路径                        > --user=nginx \//指定用户名> --group=nginx \//指定用户所属组> --with-http_stub_status_module//安装状态统计模块

第五步:编译与安装Nginx

[root@localhost nginx-1.12.0]# make && make install

第六步:优化Nginx服务启动脚本,并建立命令软连接

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建nginx服务命令软链接到系统命令[root@localhost nginx-1.12.0]# systemctl stop firewalld.service //关闭防火墙[root@localhost nginx-1.12.0]# setenforce 0//关闭增强型安全功能[root@localhost nginx-1.12.0]# nginx //输入nginx 开启服务[root@localhost nginx-1.12.0]# netstat -ntap | grep 80      //查看服务的80 端口,显示已开启tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7520/nginx: master  

第七步:使用浏览器访问192.168.235.158,即可访问到Nginx服务的首页

第八步:制作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模块

第一步:修改Nginx.conf配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf//编辑Nginx.conf配置文件 35     server { 36         listen       80; 37         server_name  www.bdqn.com;//在第37行指定域名 39         charset utf-8;//更改第39 行的内容,使其支持utf-8(中文字符集) 43         location / { 44             root   html; 45             index  index.html index.htm; 46         }//在第46行下添加状态统计参数         location /status {              stub_status on;              ##统计模块开启              access_log off;              ##访问日志关闭          }     

第二步:安装并配置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   //关闭增强型安全功能

第三步:开启一台WIndows系统的虚拟机测试访问状态统计



Nginx访问控制授权

1.生成用户密码认证文件
2.修改主配置文件对相应目录,添加认证配置项
3.重启服务,访问测试

第一步:修改Nginx.conf配置文件

[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf//编辑Nginx.conf配置文件       location / {                auth_basic "secret";                ##验证类型为秘密                auth_basic_user_file /usr/local/nginx/passwd.db;                ##指明验证文件路径            root   html;            index  index.html index.htm;        }

第二步:安装httpd-tools工具包,并指定用户名与密码

[root@localhost named]# yum install httpd-tools -y//安装httpd-tools工具包[root@localhost named]# htpasswd -c /usr/local/nginx/passwd.db test  ##创建test用户密码认证文件New password: ##输入密码Re-type new password: ##确认输入密码Adding password for user test[root@localhost named]# cat /usr/local/nginx/passwd.db##查看密码文件信息test:$apr1$mOje4UYz$BvRBABTcQB9XRG0SCCToZ1[root@localhost named]# killall -1 nginx//重载nginx服务

第三步:使用测试机验证访问控制授权效果

以上就是本次的Nginx网站服务的所有内容了,谢谢阅读!!!

0