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.1
Enter SAMBA\root's password: 
Sharename       Type      Comment
---------       ----      -------
LNMP            Disk  

[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abc
Password for root@//192.168.235.1/LNMP:  
[root@localhost ~]# ls /abc
Discuz_X3.4_SC_UTF8.zip    nginx-1.12.0.tar.gz  php-7.1.10.tar.bz2
mysql-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 /opt
nginx-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 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服務啓動


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.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   
//關閉增強型安全功能

第三步:開啓一臺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網站服務的所有內容了,謝謝閱讀!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章