Centos7.4搭建Nginx服務器實現訪問狀態統計(內附源碼包)
Nginx是一個網站架設軟件,與Apache一樣可完成網站架設。由俄羅斯程序設計師伊戈爾·賽索耶夫開發。目前新浪、網易、騰訊、Purk等都在使用。Nginx,,專為性能優化而開發,其最知名的優點是它的穩定性和低系統資源消耗,以及對HTTP並發連接的高處理能力,單臺物理服務器可支持30000~50000個並發請求。正因為如此,大量提供社交網絡、新聞資訊、電子商務及虛擬主機等服務的企業紛紛選擇Nginx提供Web服務。
Niginx與Apache
- 輕量級,同樣web服務,比Apache占用更少的內存及資源
- 高並發,nginx處理請求是異步非阻塞的,而Apache則是阻塞型的,在高並發下nginx能保持低資源低消耗高性能
- 高度模塊化的設計,編寫模塊相對簡單
- 可作為負載均衡服務器,支持7層負載均衡
- 靜態處理性能比Apache高3倍以上,但動態處理不足,需要通過後端服務器支持,如Apache
實驗環境
- 系統環境:centos7.4
- 服務器IP地址:192.168.100.71
- 客戶端IP地址:192.168.100.77
- yum掛載目錄:/mnt/sr0
- 相關源碼包下載地址:百度雲下載 ??密碼:uhzm
搭建步驟
一、準備工作
1、關閉防火墻及selinux
[root@localhost ~]# systemctl stop firewalld.service #關閉防火墻
[root@localhost ~]# systemctl disable firewalld.service #隨開機自動關閉
[root@Init5 ~]# vim /etc/sysconfig/selinux
[root@localhost ~]# reboot #重啟Linux生效
二、搭建DNS服務器
1、安裝bind軟件包
[root@localhost ~]# cd /mnt/sr0/Packages/
[root@localhost Packages]# rpm -ivh bind-9.9.4-50.el7.x86_64.rpm
2、修改主配置文件named.conf
[root@localhost ~]# vim /etc/named.conf
3、創建並修改DNS正向解析文件
[root@localhost ~]# cd /var/named/
[root@localhost ~]# vim /var/named/bt.com.zone #修改正向解析文件
4、啟動DNS服務器
[root@localhost ~]# systemctl start named.service
5、修改DNS客戶機配置文件
[root@localhost ~]# echo "nameserver 192.168.100.71" >> /etc/resolv.conf
6、測試DNS解析
[root@localhost ~]# nslookup www.bt.com #nslookup 用於查詢DNS的記錄,查看域名解析是否正常
二、搭建Nginx服務
1、安裝相應的工具包以及C語言編譯器
[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc gcc-c++
2、創建Nginx進程用戶
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
3、配置、編譯及編譯安裝Nginx源碼包
[root@localhost ~]# tar xvf nginx-1.12.0.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx --group=nginx \
--with-http_stub_status_module
參數解析:
prefix #指定安裝位置
user=nginx #指定nginx系統用戶
group=nginx #指定組
with-http_stub_status_module #添加日誌統計模塊
[root@localhost nginx-1.12.0]# make && make install
4、優化路徑
[root@localhost ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
三、設置Nginx運行控制
1、檢測語法
[root@localhost ~]# nginx -t #測試配置是否有語法錯誤
2、啟動Nginx服務
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf #修改主配置文件
[root@localhost ~]# nginx #啟動Nginx
[root@localhost ~]# netstat -anpt | grep ":80" #檢測服務是否啟動
[root@localhost ~]# cat /usr/local/nginx/logs/nginx.pid #查看pid
3、停止Nginx服務
[root@localhost ~]# kill -1 3809 #平滑重啟Nginx服務。相當於killall -s HUP nginx;nginx -s reload
[root@localhost ~]# kill -3 1514 #關閉Nginx服務。相當於killall -s QUIT nginx;nginx -s quit
[root@localhost ~]# nginx #重啟服務
[root@localhost ~]# cat /usr/local/nginx/logs/nginx.pid #查看pid號
4、編輯Nginx服務腳本
[root@localhost ~]# vim /lib/systemd/system/nginx.service
[Unit]
Description=Nginx Server Control Script #說明
After=network.target #描述服務類別[Service]
Type=forking #後臺運行形式
PIDFile=/usr/local/nginx/logs/nginx.pid #PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx #啟動服務
ExecReload=/usr/bin/kill -s HUP $PIDFile #重載服務
ExecStop=/usr/bin/kill -s QUIT $PIDFile #停止服務[Install]
WanteBy=multi-user.target
[root@localhost ~]# systemctl daemon-reload #重新加載服務單元
[root@localhost ~]# systemctl enable nginx.service #設置開機自啟動
[root@localhost ~]# systemctl stop nginx.service#停止服務
[root@localhost ~]# systemctl start nginx.service#開啟服務
[root@localhost ~]# systemctl reload nginx.service#平滑重啟服務
[root@localhost ~]# systemctl restart nginx.service#重啟服務
四、構建靜態網頁、統計訪問狀態
1、編輯主配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
[root@localhost ~]# systemctl restart nginx.service #重啟服務
2、編輯首頁文件
[root@localhost ~]# cd /usr/local/nginx/html/ #進入站點目錄
[root@localhost html]# vim index.html #編輯首頁
3、訪問測試
4、查看統計日誌
Centos7.4搭建Nginx服務器實現訪問狀態統計(內附源碼包)