溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nginx網(wǎng)站服務(wù)——基礎(chǔ)服務(wù)與訪問控制

發(fā)布時間:2020-05-17 04:54:34 來源:網(wǎng)絡(luò) 閱讀:390 作者:caozhengtao1213 欄目:系統(tǒng)運維

Nginx簡述

Nginx是一款高性能,輕量級web服務(wù)軟件,其穩(wěn)定性高、系統(tǒng)資源消耗低, 對HTTP并發(fā)連接的處理能力高(單臺物理服務(wù)器可支持30000~50000個并發(fā)請求)。

Nginx常用命令

nginx -t                    檢查配置文件語法
nginx                       啟動nginx服務(wù)
killall -3 nginx            停止nginx服務(wù)
killall -s QUIT nginx       停止nginx服務(wù)
killall -s HUP nginx        重載nginx服務(wù)
killall -1 nginx            重載nginx服務(wù)

實驗環(huán)境

1.基礎(chǔ)源碼包(無密碼):https://pan.baidu.com/s/14WvcmNMC6CFX1SnjHxE7JQ
2.CentOS 7版本Linux虛擬機(jī)

實驗步驟

第一步:遠(yuǎn)程獲取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        //壓縮函數(shù)庫

第四步:創(chuàng)建程序用戶并配置Nginx服務(wù)相關(guān)組件

[root@localhost opt]# useradd -M -s /sbin/nologin nginx
//創(chuàng)建程序用戶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
//安裝狀態(tài)統(tǒng)計模塊

第五步:編譯與安裝Nginx

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

第六步:優(yōu)化Nginx服務(wù)啟動腳本,并建立命令軟連接

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 
//創(chuàng)建nginx服務(wù)命令軟鏈接到系統(tǒng)命令
[root@localhost nginx-1.12.0]# systemctl stop firewalld.service 
//關(guān)閉防火墻
[root@localhost nginx-1.12.0]# setenforce 0
//關(guān)閉增強(qiáng)型安全功能
[root@localhost nginx-1.12.0]# nginx 
//輸入nginx 開啟服務(wù)
[root@localhost nginx-1.12.0]# netstat -ntap | grep 80      //查看服務(wù)的80 端口,顯示已開啟
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7520/nginx: master  

第七步:使用瀏覽器訪問192.168.235.158,即可訪問到Nginx服務(wù)的首頁
Nginx網(wǎng)站服務(wù)——基礎(chǔ)服務(wù)與訪問控制
第八步:制作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"           
##設(shè)置變量為nginx命令文件
PIDF="/usr/local/nginx/logs/nginx.pid"       
##設(shè)置變量PID文件 進(jìn)程號為5346
case "$1" in  
    start)
        $PROG                                              ##開啟服務(wù)
        ;;
    stop)
        kill -s QUIT $(cat $PIDF)                   ##關(guān)閉服務(wù)
        ;;
    restart)                                                  ##重啟服務(wù)
        $0 stop
        $0 start
        ;;
    reload)                                                  ##重載服務(wù)
        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執(zhí)行權(quán)限
[root@localhost init.d]# chkconfig --add nginx    
//將nginx添加到service管理器
[root@localhost init.d]# service nginx stop               
//使用service控制nginx服務(wù)停止
[root@localhost init.d]# service nginx start
//使用service控制nginx服務(wù)啟動


Nginx的訪問狀態(tài)統(tǒng)計

啟用HTTP STUB _STATUS狀態(tài)統(tǒng)計模塊
●配置編譯參數(shù)時添加--with-http_ stub status module
(前文我們已經(jīng)順帶安裝了統(tǒng)計模塊)
●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 行的內(nèi)容,使其支持utf-8(中文字符集)

 43         location / {
 44             root   html;
 45             index  index.html index.htm;
 46         }
//在第46行下添加狀態(tài)統(tǒng)計參數(shù)
         location /status {
              stub_status on;
              ##統(tǒng)計模塊開啟
              access_log off;
              ##訪問日志關(guān)閉
          }     

第二步:安裝并配置DNS服務(wù)

[root@localhost ~]# yum -y install bind
//安裝DNS服務(wù)的bind包
[root@localhost ~]# vim /etc/named.conf 
//編輯主配置文件

options {
        listen-on port 53 { any; };
        ##將監(jiān)聽地址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; };
        ##將授權(quán)l(xiāng)ocalhost替換為any

[root@localhost ~]# vim /etc/named.rfc1912.zones 
//編輯區(qū)域配置文件

zone "bdqn.com" IN {        type master;
##將localhost替換為域名bdqn.com
        file "bdqn.com.zone";
        ##指定區(qū)域數(shù)據(jù)配置文件bdqn.com.zone
        allow-update { none; };
};      

[root@localhost ~]# cd /var/named
[root@localhost named]# cp -p named.localhost bdqn.com.zone   
//復(fù)制區(qū)域數(shù)據(jù)配置文件模板為bdqn.com.zone
[root@localhost named]# vim bdqn.com.zone 
//編輯區(qū)域數(shù)據(jù)配置文件
$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
##刪除原來末行的內(nèi)容,添加域名解析地址為本機(jī)地址

[root@localhost named]# systemctl start named   
//開啟dns服務(wù)
[root@localhost named]# systemctl stop firewalld.service    
//關(guān)閉防火墻
[root@localhost named]# setenforce 0   
//關(guān)閉增強(qiáng)型安全功能

第三步:開啟一臺WIndows系統(tǒng)的虛擬機(jī)測試訪問狀態(tài)統(tǒng)計

Nginx網(wǎng)站服務(wù)——基礎(chǔ)服務(wù)與訪問控制

Nginx網(wǎng)站服務(wù)——基礎(chǔ)服務(wù)與訪問控制



Nginx訪問控制授權(quán)

1.生成用戶密碼認(rèn)證文件
2.修改主配置文件對相應(yīng)目錄,添加認(rèn)證配置項
3.重啟服務(wù),訪問測試

第一步:修改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  
##創(chuàng)建test用戶密碼認(rèn)證文件
New password: 
##輸入密碼
Re-type new password: 
##確認(rèn)輸入密碼
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服務(wù)

第三步:使用測試機(jī)驗證訪問控制授權(quán)效果

Nginx網(wǎng)站服務(wù)——基礎(chǔ)服務(wù)與訪問控制

Nginx網(wǎng)站服務(wù)——基礎(chǔ)服務(wù)與訪問控制

以上就是本次的Nginx網(wǎng)站服務(wù)的所有內(nèi)容了,謝謝閱讀!!!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI