亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    部署Nginx網(wǎng)站服務(wù)實(shí)現(xiàn)訪問狀態(tài)統(tǒng)計(jì)以及訪問控制功能

    Nginx專為性能優(yōu)化而開發(fā),最知名的優(yōu)點(diǎn)是它的穩(wěn)定性和低系統(tǒng)資源消耗,以及對(duì)HTTP并發(fā)連接的高處理能力,單個(gè)物理服務(wù)器可支持30000-50000個(gè)并發(fā)請(qǐng)求。

    Nginx的安裝文件可以從官方網(wǎng)站http://www.nginx.org/下載,下面以Nginx1.12版本為例,基于CentOS7,部署Nginx網(wǎng)站服務(wù)。

    • 安裝Nginx

    第一步源碼編譯安裝

    1. 安裝支持軟件

    Nginx的配置及運(yùn)行需要gcc 、 gcc-c++ 、 make 、 pcre、pcre-devel、zlib-devel軟件包的支持,以便提供相應(yīng)的庫和頭文件,確保Nginx安裝順利。

    創(chuàng)建yum倉庫的步驟詳細(xì)步驟請(qǐng)參考 Linux下通過rdesktop遠(yuǎn)程登陸Windows系統(tǒng)

     yum install gcc gcc-c++ make pcre pcre-devel zlib-devel -y

    如果是在有網(wǎng)絡(luò)的情況下,CentOS7無需創(chuàng)建yum倉庫,直接執(zhí)行yum list命令更新一下yum源,稍微等待一會(huì)兒。

     yum list //更新yum源   yum install gcc gcc-c++ make pcre pcre-devel zlib-devel -y

    2. 創(chuàng)建運(yùn)行用戶、組

    Nginx服務(wù)程序默認(rèn)以nobody身份運(yùn)行,建議為其創(chuàng)建專門的用戶賬號(hào),以便更準(zhǔn)確的控制其訪問權(quán)限,增加靈活性,降低安全風(fēng)險(xiǎn)。

    useradd -M -s /sbin/nologin nginx    //創(chuàng)建一個(gè)名為nginx用戶,不建立宿主文件夾,禁止登錄到shell環(huán)境

    3. 編譯安裝

    tar xzvf nginx-1.12.0.tar.gz -C /opt  //解壓Nginx軟件至opt目錄下
    cd /opt/nginx-1.12.0/  //切換到Nginx目錄下

    根據(jù)實(shí)際需要配置Nginx的具體選項(xiàng),配置前可參考“./configure –help”給出的說明。

    ./configure
    –prefix=/usr/local/nginx
    –user=nginx
    –group=nginx
    –with-http_stub_status_module

    • –prefix:指定Nginx的安裝目錄
    • –user:指定Nginx的運(yùn)行用戶
    • –group:指定Nginx的運(yùn)行組
    • –with-http_stub_status_module:啟用http_stub_status_module模塊以支持狀態(tài)統(tǒng)計(jì),便于查看服務(wù)器的連接信息
      make                //生成二進(jìn)制文件  make install        //編譯安裝

      4. 為主程序Nginx創(chuàng)建鏈接文件

      創(chuàng)建Nginx主程序的鏈接文件是為了方便管理員直接“nginx”命令就可以調(diào)用Nginx的主程序。

      ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

      第二步檢查配置文件并啟動(dòng)Nginx服務(wù)

    1.檢查配置文件

    Nginx的主程序提供了“-t”選項(xiàng)來對(duì)配置文件進(jìn)行檢查,以便找出不當(dāng)或錯(cuò)誤的配置。

    [root@centos7-1 nginx-1.12.0]# nginx -t  nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok  nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

    2.啟動(dòng)Nginx

    直接運(yùn)行Nginx即可啟動(dòng)Nginx服務(wù)器

    [root@centos7-1 nginx-1.12.0]# nginx   [root@centos7-1 nginx-1.12.0]# killall -1 nginx       //重啟nginx服務(wù)  [root@centos7-1 nginx-1.12.0]# killall -3 nginx      //停止nginx服務(wù)

    3.使用Nginx服務(wù)腳本

    為了使nginx服務(wù)的啟動(dòng)、停止、重載等操作更加方便,可以編寫nginx服務(wù)腳本,并使用chkconfig和systemctl工具來進(jìn)行管理,這更加符合系統(tǒng)的管理習(xí)慣。

    [root@centos7-1 nginx-1.12.0]# vim /etc/init.d/nginx #!/bin/bash # chkconfig: - 99 20 # description: Nginx Service Control Script  PROG="/usr/local/nginx/sbin/nginx"               //主程序路徑  PIDF="/usr/local/nginx/logs/nginx.pid"           //PID存放路徑  case "$1" in    start)      $PROG      ;;    stop)      kill -s QUIT $(cat $PIDF)              //根據(jù)PID中止nginx進(jìn)程      ;;    restart)      $0 stop      $0 start      ;;    reload)      kill -s HUP $(cat $PIDF)              //根據(jù)進(jìn)程號(hào)重載配置      ;;    *)          echo "Usage: $0 {start|stop|restart|reload}" exit 1  esac exit 0
    [root@centos7-1 nginx-1.12.0]# chmod +x /etc/init.d/nginx  [root@centos7-1 nginx-1.12.0]# chkconfig --add nginx                 //添加為系統(tǒng)服務(wù)  [root@centos7-1 nginx-1.12.0]# systemctl start nginx.service

    第三步確認(rèn)Nginx服務(wù)是否正常運(yùn)行

    通過檢查Nginx程序的監(jiān)聽狀態(tài),或者在瀏覽器中訪問此Web服務(wù),默認(rèn)頁面將顯示“Welcome to nginx!”

    [root@centos7-1 nginx-1.12.0]# netstat -antp | grep nginx  tcp        0 0 0.0.0.0:80 0.0.0.0:*               LISTEN      54386/nginx: master   [root@centos7-1 nginx-1.12.0]# yum install elinks -y  [root@centos7-1 nginx-1.12.0]# elinks http://localhost //使用elinks瀏覽器

    部署Nginx網(wǎng)站服務(wù)實(shí)現(xiàn)訪問狀態(tài)統(tǒng)計(jì)以及訪問控制功能

    • 配置訪問狀態(tài)統(tǒng)計(jì)頁面

      Nginx內(nèi)置了HTTP_STUB_STATUS狀態(tài)統(tǒng)計(jì)模塊,用來反饋當(dāng)前的Web訪問情況。要使用Nginx的狀態(tài)統(tǒng)計(jì)功能,除了啟用內(nèi)建模塊以外,還需要修改nginx.conf配置文件,指定訪問位置并添加stub_status配置代碼。

      [root@centos7-1 nginx-1.12.0]# cd /usr/local/nginx/conf  [root@centos7-1 conf]# mv nginx.conf nginx.conf.back  [root@centos7-1 conf]# grep -v "#" nginx.conf.back > nginx.conf     //過濾配置文件#號(hào)注釋的信息
    [root@centos7-1 conf]# vim nginx.conf    server {          listen       80;          server_name  localhost;      charset utf-8;            location / {              root   html;              index  index.html index.htm;          }          //"server"這里插入的這4行的信息          location ~ /status {                      //訪問位置為/status          stub_status   on;                        //打開狀態(tài)統(tǒng)計(jì)功能          access_log off;                          //關(guān)閉此位置的日志記錄          }                                error_page   500 502 503 504  /50x.html;          location = /50x.html {              root   html;          }           }      }

    新的配置生效后,在瀏覽器中訪問nginx服務(wù)器的/status網(wǎng)站位置,可以看到當(dāng)前的狀態(tài)統(tǒng)計(jì)信息。

    systemctl reload nginx.service                  //重新加載nginx服務(wù)  systemctl stop firewalld.service               //關(guān)閉防火墻  systemctl disable firewalld.service         //禁用防火墻

    部署Nginx網(wǎng)站服務(wù)實(shí)現(xiàn)訪問狀態(tài)統(tǒng)計(jì)以及訪問控制功能
    其中,“Active connections”表示當(dāng)前的活動(dòng)連接數(shù);而“server accepts handled requests”表示已經(jīng)處理的連接信息。三個(gè)數(shù)字依次表示已處理的連接數(shù)、成功的TCP握手次數(shù)、已處理的請(qǐng)求數(shù)。

    • 配置Nginx的訪問控制

      1.基于用戶授權(quán)的訪問控制

      (1).使用htpasswd生成用戶認(rèn)證文件,如果沒有該命令,可使用yum安裝httpd-tools軟件包,用法與Apache認(rèn)證時(shí)方式一樣,在/usr/local/nginx/目錄生成passwd.db文件,用戶名是test,密碼輸入2次。

      yum install httpd-tools -y    //安裝httpd-tools軟件包
      [root@centos7-1 ~]# htpasswd -c /usr/local/nginx/passwd.db test  New password:                      //設(shè)置test用戶密碼  Re-type new password:   Adding password for user test  [root@centos7-1 ~]# cat /usr/local/nginx/passwd.db         //查看生成的用戶認(rèn)證文件 test:$apr1$WfkC0IdB$sMyjqJzg2tcqcIe1mJ8LI/

    (2).修改密碼文件的權(quán)限為400,將所有者改為nginx,設(shè)置nginx的運(yùn)行用戶能夠讀取。

    [root@centos7-1 ~]# chmod 400 /usr/local/nginx/passwd.db   [root@centos7-1 ~]# chown nginx /usr/local/nginx/passwd.db   [root@centos7-1 ~]# ll -d /usr/local/nginx/passwd.db   -r--------. 1 nginx root 43 620 14:45 /usr/local/nginx/passwd.db

    (3).修改主配置文件nginx.conf,添加相應(yīng)認(rèn)證配置項(xiàng)。

    [root@centos7-1 ~]# vim /usr/local/nginx/conf/nginx.conf    location / {              auth_basic "secret";       //添加認(rèn)證配置              auth_basic_user_file /usr/local/nginx/passwd.db;              root   html;              index  index.html index.htm;          }

    (4).檢測(cè)語法、重啟服務(wù)

    [root@centos7-1 ~]# nginx -t  nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok  nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful  [root@centos7-1 ~]# systemctl restart nginx.service

    (5).用瀏覽器訪問網(wǎng)址,檢驗(yàn)控制效果。

    部署Nginx網(wǎng)站服務(wù)實(shí)現(xiàn)訪問狀態(tài)統(tǒng)計(jì)以及訪問控制功能
    需要輸入用戶名和密碼進(jìn)行訪問,驗(yàn)證通過才能進(jìn)行訪問。
    部署Nginx網(wǎng)站服務(wù)實(shí)現(xiàn)訪問狀態(tài)統(tǒng)計(jì)以及訪問控制功能

    2.基于客戶端的訪問控制

    Nginx基于客戶端的訪問控制要比Apache的簡單,規(guī)則如下:

    • deny IP/IP段:拒絕某個(gè)IP或IP段的客戶端訪問
    • allow IP/IP段:允許某個(gè)IP或IP段的客戶端訪問。
    • 規(guī)則從上往下執(zhí)行,如匹配規(guī)則停止,不在往下匹配。

    (1).修改主配置文件nginx.conf,添加相應(yīng)認(rèn)證配置項(xiàng)。

    [root@centos7-1 ~]# vim /usr/local/nginx/conf/nginx.conf      location / {              deny 192.168.113.132;          //客戶端IP              allow all;              root   html;              index  index.html index.htm;          }

    deny 192.168.113.132表示這個(gè)ip地址訪問會(huì)被拒絕,其他IP客戶端正常訪問。
    (2).重啟服務(wù)器訪問網(wǎng)址,頁面已經(jīng)訪問不到。

    [root@centos7-1 ~]# systemctl restart nginx.service 

    部署Nginx網(wǎng)站服務(wù)實(shí)現(xiàn)訪問狀態(tài)統(tǒng)計(jì)以及訪問控制功能
    部署Nginx網(wǎng)站服務(wù)實(shí)現(xiàn)訪問狀態(tài)統(tǒng)計(jì)以及訪問控制功能

    要注意的是如果是用域名訪問網(wǎng)頁,需要配置DNS域名解析服務(wù)器,詳細(xì)步驟參考使用Bind部署DNS域名解析服務(wù)器之正向解析。

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)