中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Nginx基礎搭建篇

發布時間:2020-04-08 00:34:31 來源:網絡 閱讀:374 作者:鷺51CTO 欄目:建站服務器

Nginx(輕量級web服務器  是一個高性能的HTTP和 反向代理 服務器 

優點:占用內存少、抗并發能力強、適合處理靜態頁面、穩定性高、支持熱部署等。

缺點:處理動態頁面雞肋、bug比apache要多。

特點:模塊化

總體大致分為兩大模塊:主模塊 與 事件模塊

(主模塊:配置和服務器全局有關的一些參數,比如:錯誤日志、進程、權限等)

(事件模塊:配置IO事件接口的相關參數,比如:worker_connections這個參數) 

細化的話 模塊又分為五類:1.核心模塊    2.標準http模塊    3.可選http模塊    4.郵件模塊    5.第三方模塊和補丁

Nginx官網:http://www.nginx.org/


一、Nginx安裝前的準備:

      1)安裝支持軟件

       yum  -y install  make zlib  zlib-devel  gcc-c++  libtool  openssl  openssl-devel  

      2)安裝PCRE (PCRE的作用是讓Nginx支持Rewrite功能)

         1.下載PCRE安裝包

    #wget  http:// http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

         2.解壓并進入安裝包的目錄

    #tar  zxvf  pcre-8.35.tar.gz

    #cd pcre-8.35

         3.編譯安裝 并 查看pcre版本

    #./configure && make && make install

    #prce-config  --version

      3)創建運行用戶、組

    Nginx服務程序默認以nobody身份運行,建議為其創建專門的用戶賬號,以便更準確地控制其訪問權限,增加靈活性、 降低安全風險。

    例如:創建一個名為nginx的用戶,不建立宿主文件夾,也禁止登錄到Shell環境。

    #useradd  -M -s /sbin/nologin  nginx           


二、安裝Nginx并啟動:

      1)安裝Nginx

        1.下載Nginx

    #wget  http://nginx.org/download/nginx-1.6.2.tar.gz

        2.解壓并進入安裝包的目錄

    #tar  zxvf  nginx-1.6.2.tar.gz

    #cd  nginx-1.6.2

        3.基礎的編譯安裝

    #./configure  --prefix=/usr/local/nginx  --user=nginx  --grep=nginx  --with-http_stub_status_module (<<--這是最基礎的模塊,如果日后有需要添加新的模塊,可重新編譯安裝)

    #make && make install

        4.簡單的優化

    為了是Nginx服務器的運行更加方便,可以為主程序nginx創建鏈接文件,以便管理員直接執行"nginx"命令就可以調用Nginx的主程序。

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

    #ls -l /usr/local/sbin/nginx

        5.查看版本 并 檢查配置文件

    #nginx -v (查看版本)

    #nginx -t(檢查配置文件) 

        6.啟用、停止Nginx

啟用并驗證:#nginx

            #netstat -anpt | grep nginx (檢查端口)

            #yum -y install elinks

            #elinks http://localhost   //使用elinks瀏覽器


停止Nginx: # killall  -s HUP nginx   //選項 -s HUP 等同與 -1

            # killall  -s QUIT nginx  //選項 -s QUIT 等同于 -3

  注:HUP信號表示:重載配置

      QUIT信號表示:退出進程

      -s 選項指定信號種類

      當Nginx進程運行時,PID號默認存放在 logs/目錄下的nginx.pid文件中,因此若改用kill命令,也可以根據nginx.pid文件中的PID號來進行控制。


三、編寫Nginx服務腳本(為了以后的方便,編制服務的啟動腳本):

    #vi /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)

    ;;

       restart)

         $0  stop

         $0  start

     ;;

       reload)

        kill -s HUP $(cat $PIDF)

     ;;

        *)

            echo "Usage:$0 {start|stop|restart|reload}"

            exit  1

    esac

    exit  0

     #chmod +x /etc/init.d/nginx

     #chkconfig  --add nginx  //添加為系統服務


四、配置文件nginx.conf

在Nginx 服務器的主配置文件/usr/local/nginx/conf/nginx.conf中,包括全局配置、I/O事件配置和HTTP配置這三大塊內容。


    1.全局配置

由各種配置語句組成,不使用特定的界定標記。全局配置部分包括Nginx服務的運行用戶、工作進程數、錯誤日志、PID存放位置等基本設置。

例:#user  nobody;    //運行用戶

    worker_processes  1;   //工作進程數量

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

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

2.I/O事件配置

    使用 "events{}" 界定標記,用來指定Nginx進程的I/O響應模型、每個進程的連接數等設置。對于2.6及以上版本的內核,建議使用epoll模型以提供高性能;每個進程的連接數應根據實際需要來定,一般在10000以下(默認為1024)。

    例:events {

        use  epoll;            //使用epoll模型

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

}

3.HTTP配置

    使用"http{}"界定標記,包括訪問日志、HTTP端口、網頁目錄、默認字符集、連接保持,以及虛擬Web主機、PHP解析等一系列設置,其中大部分配置語句都保存在子定界標記"server {}"內。

例:http {
     #設定mime類型,類型由mime.type文件定義
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    #設定日志格式
    access_log    /var/log/nginx/access.log;

    #sendfile 指令指定 nginx 是否調用 sendfile 函數(zero copy 方式)來輸出文件,對于普通應用,
    #必須設為 on,如果用來進行下載等應用磁盤IO重負載應用,可設置為 off,以平衡磁盤與網絡I/O處理速度,降低系統的uptime.
    sendfile        on;
    #tcp_nopush     on;

    #連接超時時間
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;
    
   
#開啟gzip壓縮
    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    #設定請求緩沖
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

    #設定負載均衡的服務器列表
     upstream mysvr {
    #weigth參數表示權值,權值越高被分配到的幾率越大
    #本機上的Squid開啟3128端口
    server 192.168.8.1:3128 weight=5;
    server 192.168.8.2:80  weight=1;

    server 192.168.8.3:80  weight=6;
    }

 server {
    #偵聽80端口
        listen       80;
        #定義使用
www.xx.com訪問
        server_name  www.xx.com;

        #設定本虛擬主機的訪問日志
        access_log  logs/www.xx.com.access.log  main;

    #默認請求
    location / {
          root   /root;      #定義服務器的默認網站根目錄位置
          index index.php index.html index.htm;   #定義首頁索引文件的名稱

          fastcgi_pass  www.xx.com;
         fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name; 
          include /etc/nginx/fastcgi_params;
        }

    # 定義錯誤提示頁面
    error_page   500 502 503 504 /50x.html;  
        location = /50x.html {
        root   /root;
    }

    #靜態文件,nginx自己處理
    location ~ ^/(p_w_picpaths|javascript|js|css|flash|media|static)/ {
        root /var/www/virtual/htdocs;
        #過期30天,靜態文件不怎么更新,過期可以設大一點,如果頻繁更新,則可以設置得小一點。
        expires 30d;
    }
    #PHP 腳本請求全部轉發到 FastCGI處理. 使用FastCGI默認配置.
 
   location ~ \.php$ {
        root /root;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
        include fastcgi_params;
    }
    #設定查看Nginx狀態的地址
    location /NginxStatus {

        stub_status            on;
        access_log              on;
        auth_basic              "NginxStatus";
        auth_basic_user_file  conf/htpasswd;
    }
    #禁止訪問 .htxxx 文件
    location ~ /\.ht {
        deny all;
    }
     
     }
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

印江| 定襄县| 唐河县| 孝义市| 大兴区| 环江| 丹江口市| 侯马市| 纳雍县| 孝昌县| 白山市| 新丰县| 台东市| 木兰县| 墨玉县| 五原县| 双牌县| 乡宁县| 房产| 扎兰屯市| 娄底市| 邵阳县| 南宁市| 措美县| 古蔺县| 灵川县| 盐城市| 黑山县| 嘉峪关市| 永平县| 鲁山县| 当涂县| 兰溪市| 修水县| 深州市| 志丹县| 上杭县| 谢通门县| 栾川县| 屯门区| 建昌县|