Nginx是一款高性能,輕量級web服務軟件,其穩定性高、系統資源消耗低, 對HTTP併發鏈接的處理能力高(單臺物理服務器可支持30000~50000個併發請求)。php
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虛擬機html
第一步:遠程獲取Windows上的源碼包,並掛載到Linux上mysql
[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
第二步:解壓源碼包nginx
[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
第三步:下載安裝編譯組件包c++
[root@localhost abc]# cd /opt [root@localhost opt]# yum install -y \ > gcc \ //C語言 > gcc-c++ \ //c++語言 > pcre-devel \ //pcre語言工具 > zlib-devel //壓縮函數庫
第四步:建立程序用戶並配置Nginx服務相關組件web
[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 //安裝狀態統計模塊
第五步:編譯與安裝Nginxsql
[root@localhost nginx-1.12.0]# make && make install
第六步:優化Nginx服務啓動腳本,並創建命令軟鏈接vim
[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服務啓動
啓用HTTP STUB _STATUS狀態統計模塊
●配置編譯參數時添加--with-http_ stub status module
(前文咱們已經順帶安裝了統計模塊)
●nginx -V查看已安裝的Nginx是否包含HTTP STUB_ _STATUS模塊安全
[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; ##訪問日誌關閉 }
[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 //關閉加強型安全功能
1.生成用戶密碼認證文件
2.修改主配置文件對相應目錄,添加認證配置項
3.重啓服務,訪問測試
[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; }
[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服務