Nginx網站服務

Nginx網站服務

Nginx專爲性能優化而開發,優點是它的穩定性和低系統資源消耗,以及對HTTP併發連接的高處理能力(單臺服務器可支持30000 – 50000個併發請求

Nginx和Apache的區別

Nginx:只需一個進程可以接收多個用戶的連接,以線程爲單位(線程包含在進程裏面)節省資源

Apache:一個用戶需一個進程,以進程爲單位

 

主要結構:Nginx的基本配置

        :構建LNMP網站服務器平臺

 

 

實驗要求:

1.服務器的ip地址爲192.168.1.1,使用泛域名解析*.benet.com

2.構建LNMP網站服務平臺,並通過腳本實現自動化控制

3.配置虛擬web主機服務,同時支持三個站點:www.benet.com與www.accp.com以及vod.benet.com

 

  

 

安裝nginx

1:安裝支持軟件

 

wKioL1kuulDy8_L6AAKRJeQydXc119.png 

 

wKioL1kuumKC206ZAACXu-I3KwQ722.pngwKioL1kuunGBckQeAAAgG-Qeiew250.png 

 

2.創建運行用戶、組

wKioL1kuuoDhllEqAAASthLm_Q0991.png 

 

3.編譯安裝nginx

啓用狀態統計模塊以支持狀態統計,便於查看服務器的連接信息

 

wKioL1kuuo6z8wnoAACl_9G95UI867.png 

 

wKioL1kuurDhqMb9AAAMLK3oz4g467.png 

 

 

4.添加符號鏈接,以便通過nginx命令就可以調用nginx的主程序

 

[[email protected]]#ln-s/usr/local/nginx/sbin/nginx  /usr/local/sbin

 

二、nginx的運行控制

1.檢查配置文件

 

wKioL1kuusaxFES3AABSSeU9nj8235.png 

 

2.啓動和停止nginx

 

wKiom1kuutXB5wk6AABqGsT086M869.png


  

3.重新加載nginx

 

wKioL1kuutWxfiC0AAAcUWoSRCE325.png 

 

4.退出nginx

 

wKioL1kuuvvhOve6AAAix8xLTK0530.png 

 

 

 

三、瞭解nginx的配置文件nginx.conf

 

nginx.conf文件包含三部分配置,分別是全局配置、I/O事件配置和HTTP配置

1. 全局配置

2. #user  nobody;  //運行用戶 默認爲nobody

3. worker_processes  1; //工作的進程數量,可以根據cpu核心總數來指定工作進程數

4. #error_log  logs/error.log;//錯誤日誌文件的位置

5. #pid        logs/nginx.pid; //PID文件的位置

2.I/O事件配置

events {

    use epoll  //使用epoll模型

    worker_connections  4096;每個進程處理4096個進程連接

}

nginx服務提供的連接數爲工作的進程數x每個進程提供的連接數

3.HTTP配置,用於完成web站點的設置

 

 

http {

    include       mime.types;

    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' //去掉前面的#

                      '$status $body_bytes_sent "$http_referer" ' //去掉前面的#

                      '"$http_user_agent""$http_x_forwarded_for"'; //去掉前面的#

 

    access_log  logs/access.log  main; //去掉前面的#

    sendfile        on;

    #tcp_nopush     on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    #gzip  on;

 server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html;

            index  index.html index.htm;

        }

wKiom1kuuxOSHFBqAAD1xORruqY059.png 

location / status{   //訪問位置爲/status

stub_status on;//打開狀態統計功能

access_log off;//關閉此位置的日誌記錄

        }

 

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

            }

4.修改完配置文件後,重新加載下配置文件

[root@centos1 nginx-1.6.2]# killall -s HUP nginx

 

5 測試

Active connections :表示當前的活動連接數

Server accepts handled requests :表示已經處理的連接信息,三個數字依次表示已經處理的連接數(1) 成功的TCP握手次數(1) 已經處理的請求次數(1)

wKioL1kuuyiDJWodAABWTqOxJGo089.png


 

四、構建基於域名的虛擬web主機

1.準備網站目錄以及測試文件

 

 

wKiom1kuuymTsc8PAAB4_1Ge2YA751.png 

 

2.調整nginx.conf配置文件

虛擬主機配置在server{}區域中,每個server{}區域代表一個web站點配置,指定各自網站名稱、監聽地址、網站根目錄、訪問日誌等信息,然後重新加載配置

省略部分內容

 

 

wKioL1kuu2XTJbi8AACL70nuwCk253.png

wKioL1kuu2XjuJp8AABRwDmkNWc549.png

  

3重新加載.

 

wKioL1kuu7_DCnTRAAAZtr_ZAn0919.png


4 測試

wKiom1kuu7-jqtTlAAFokMQo2f8998.png 

wKioL1kuu8Dy3TJ_AACtUqlrNCw885.png 

 

wKiom1kuu8Czt-FrAADWxaJfTdo778.png 

 

 

五、構建LNMP架構及應用部署

1.安裝mysql數據庫(略,直接啓動mysql服務器)

2.安裝php解析環境

說明:較新版本(如5.3)php已經自帶FPM(fastCGI Process Manager FastCGI進程管理器)模塊,用來對php解析實例進行管理、優化解

 

wKioL1kuvGbAEhdHAAA2Rz64A0o672.png

 

(1)編譯安裝php

wKioL1kuvGfx7jb6AABHYXVWn0o153.png 

 

 

wKiom1kuvGexHr4PAACiwq5KazQ784.png 

 

wKioL1kuvGiTBhjOAAELI_8A_x0698.png 

 

 wKioL1kuvPPy4Ak6AABQcbyN4is498.png

 

(2)安裝後的調整

 

wKiom1kuvGnhw4DuAABuukYiUSg256.png 

 

3.配置nginx支持php環境

有兩種讓nginx支持php的方法

充當中介,將訪問php頁面的web請求轉交給其他的服務器(lamp)去處理

通過使用php的FPM模塊來調用本機的php環境

 

 

 

(1)啓用php-fpm進程

 

wKiom1kuvVzy5RF5AAArQxyi0bY836.png

 

①修改php-fpm.conf配置文件修改相關參數,然後啓動php-fpm進程,php-fpm默認監聽本機的9000端口

  Vim Php-fpm.com文件中配置

pid = run/php-fpm.pid   //確認pid文件的位置

user = php               //運行用戶

group = php//運行組

pm.start_servers = 20//啓動時開啓的進程數

pm.min_spare_servers = 5//最小空閒進程數

pm.max_spare_servers = 35  //最大空閒進程數

pm.max_children = 50//最大子進程數

②啓動php-fpm

 

wKioL1kuvV2CmFDaAAB3kBk-Ipg955.png 

2)配置nginx:完全支持php解析

說明:無論使用哪一種解析方式都需要server中進行配置

[root@centos1 Desktop]# vim /usr/local/nginx/conf/nginx.conf

 

wKiom1kuvV6xSkYGAACwY7roYpU902.png 

 

   location ~ \.php$ {//訪問.php頁面的配置段

        root   /var/www/vod;//php頁面的根目錄

     fastcgi_pass 127.0.0.1:9000;     //php-fpm監聽地址

       astcgi_index index.php;//php首頁名稱

       include fastcgi.conf;//fastcgi模塊配置

        }

 

[root@centos1 vod]# killall -s QUIT nginx

[root@centos1 vod]# nginx

(3)php頁面訪問測試

[root@centos1 vod]# mysqladmin -u root -p passwor'123456'

 

 

wKiom1kuvV6TuCawAAATk5Zbcg0052.png 

 

 

wKioL1kuvV6CGP3lAAB7P0thwYI620.png 

 

 

然後在客戶機使用瀏覽器訪問(在hosts中添加記錄

wKiom1kuvV_TerqwAAGJIp-iJgU408.png 

LNMP平臺的應用--部署天空網絡電影系統

1.下載並部署程序代碼

[root@centos1 ~]# unzip /mnt/SKYUC_3.4.2_for_php5.3.zip -d /usr/src

[root@centos1 ~]# cd /usr/src/SKYUC.v3.4.2.SOURCE/

[root@centos1 SKYUC.v3.4.2.SOURCE]# mv wwwroot/ /var/www/vod/skyuc

[root@centos1 SKYUC.v3.4.2.SOURCE]# cd /var/www/vod/skyuc/

[root@centos1 skyuc]# chown -R php:php admincp/ data/ templates/ upload/

[root@centos1 skyuc]#

2.創建數據庫

爲了降低web應用程序對數據庫的風險,建議設置專用的數據庫以及授權用戶[root@centos1 skyuc]# mysql -u root -p

mysql> create database skyucdb;

mysql> grant all on skyucdb.* to runskyuc@localhost identified by 'sky@uc123';

3.安裝web應用

wKiom1kuvdbQCY6BAAD1-FCJhi4040.png



 

wKiom1kuvdfDlONZAABPsNg7ucw912.png 

 

 

 

4.訪問web應用系統

wKioL1kuvdrCT8AkAAFPq4g71D4063.png 

 

 

 

 

 

 

 

 

 

 


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