一、nginx 之 概述

Nginx 是一款高性能的 Web 服務(wù)器軟件∧涨恚可以作為反向代理妨蛹、負(fù)載均衡與緩存服務(wù)器使用。Nginx 是為高并發(fā)網(wǎng)站的應(yīng)用場景而設(shè)計的晴竞。在國內(nèi)如百度蛙卤、淘寶、騰訊颓鲜、新浪表窘、網(wǎng)易等網(wǎng)站都開始使用Nginx 來滿足一些高并發(fā)訪問的需求。

1.linux 安裝 nginx

1.1 下載 nginx

[root@localhost opt]# wget https://nginx.org/download/nginx-1.14.0.tar.gz

1.2 解壓

[root@localhost opt]# tar xvf nginx-1.14.0.tar.gz

1.3 源碼安裝

安裝前甜滨,先安裝 nginx 依賴包

pcre- deve l 為Nginx 模塊(如rewrit e )提供正則表達式庫
zl ib -dev el 為Nginx 模塊(如gzip ) 提供數(shù)據(jù)壓縮用的函數(shù)庫
openss l <leve l 為Nginx 模塊(如ssl 提供密碼算法乐严、證書以及SSL 協(xié)議等功能)

[root@localhost opt]# yum -y install pcre-devel openssl-devel

安裝nginx

[root@localhost opt]# cd nginx-1.14.0/
[root@localhost nginx-1.14.0]# ./configure \
> --prefix=/opt/nginx \
> --with-http_ssl_module

[root@localhost nginx-1.14.0]# make && make install

2. nginx 基本操作

  • nginx 啟動停止
[root@localhost opt]# cd nginx/sbin      進行編譯后的nginx 執(zhí)行目錄下
[root@localhost sbin]# ./nginx   啟動 nginx

查看 nginx 是否啟動成功
[root@localhost sbin]# ps aux|grep nginx
root       8069  0.0  0.0  45924  1124 ?        Ss   15:11   0:00 nginx: master process ./nginx
nobody     8070  0.0  0.0  48456  1976 ?        S    15:11   0:00 nginx: worker process
root       8092  0.0  0.0 112720   976 pts/0    R+   15:12   0:00 grep --color=auto nginx

停止 nginx
[root@localhost sbin]# ./nginx  -s stop
  • 查看nginx 端口是否被占用
    nginx 默認(rèn)占用 80 端口
[root@localhost sbin]# netstat -tlnp
  • 測試
    注意關(guān)閉防火墻或者對 80 端口放行


    測試 nginx
  • 添加軟連接,在任意目錄下執(zhí)行 nginx 程序
[root@localhost sbin]# ln -s ./nginx /usr/local/sbin/nginx

3.nginx 基本配置 (nginx.conf 配置文件)

3.1 配置文件結(jié)構(gòu)

配置文件結(jié)構(gòu)是由 5 個塊組成 如下圖:


配置文件5部分組成

配置文件默認(rèn)配置內(nèi)容:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
  }
}
  • worker_processes 指令
    配置 nginx 工作進程數(shù)衣摩,一般為cpu 總核心數(shù)或者 總核心數(shù)的2倍

  • worker_connections 指令
    配置一個工作進程并發(fā)處理的連接數(shù)

  • include 指令
    引入配置文件 路徑為nginx.conf 配置文件的相對路徑昂验。 eg:/opt/nginx/conf/mime.types

  • default_type 指令
    設(shè)置默認(rèn)文件類型

  • sendfile 指令
    默認(rèn)的值為 on ,表示開啟高效文件傳輸

  • keepalive_timeout 指令
    設(shè)置長連接超時時間艾扮,秒為單位

  • listen 指令
    設(shè)置監(jiān)聽端口既琴,默認(rèn)為 80

  • server_name 指令
    設(shè)置主機域名

  • root 指令
    設(shè)置主機站點的根目錄地址

  • index 指令
    設(shè)置默認(rèn)索引文件

  • error_page 指令
    設(shè)置自定義錯誤頁面

3.2 訪問控制

是對資源的訪問權(quán)的控制

  • 訪問控制指令(allow deny)
    allow : 允許訪問權(quán)限
    deny :禁止訪問權(quán)限
    以上兩個指令值可以跟 ip地址 、 ip 段 泡嘴、 all

注意:allow 甫恩、 deny 兩種指令單個、或者混合酌予、還是單個多次磺箕、混合多次出現(xiàn)時,優(yōu)先級為里層塊出現(xiàn)的優(yōu)先級高于外層塊出現(xiàn)的指令 或者 在同一塊出現(xiàn)抛虫,后出現(xiàn)的指令可以覆蓋前出現(xiàn)的指令松靡。

  • 訪問控制指令窄化限定 配置使用 location 指令
    location 指令前綴:


    location 指令前綴

例子:

http {
    ...
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
            # deny all; 拒絕請求,返回403
            # allow all; 允許請求
        }

        location /abc {
            deny all;
        }

        location ~ /.+\.jsp$ {
            proxy_pass http://location:9090;
        }

        # 匹配所有/test路徑下的jsp文件
        location ~ /test/.+\.jsp$ {
            proxy_pass http://localhost:8080;
        }

        # 定義各類錯誤頁
        error_page 404  /404.html

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # @類似于變量定義
        # error_page 403 http://blog.csdn.net; #這種定義不允許建椰,需求利用@定義臨時變量來實現(xiàn)
        error_page 403 @page403;
        location @page403 {
            proxy_pass http://blog.csdn.net;
        } 
    }
}

4.虛擬主機

4.1 基于端口配置虛擬主機

#配置端口8001 端口號的虛擬主機
server {
listen 8001;
server name 192.168.1.188;
root html/html8001;
index index.html index.htm;
)
#配置端口8002 端口號的虛擬主機
server {
 listen 8002;
 server name 192.168.1.188;
 root html/html8002;
 index index . html index. htm;
 )

4.2 基于ip配置虛擬主機

#配置ip為192.168.1.189 的虛擬主機
server {
listen 80;
server name 192.168.1.189;
root html/html8001;
index index.html index.htm;
)
#配置ip為192.168.1.190 的虛擬主機
server {
 listen 80;
 server name 192.168.1.190;
 root html/html8002;
 index index . html index. htm;
 )

4.3 基于域名配置虛擬主機

#配置域名為www.cqzhangjian.cn 的虛擬主機
server {
listen 80;
server name www.cqzhangjian.cn;
root html/cqzhangjian.cn;
index index.html index.htm;
)
#配置域名為cqzhangjian.cn 的虛擬主機
server {
 listen 80;
 server name cqzhangjian.cn;
 root html/cqzhangjian.cn;
 index index . html index. htm;
 )

4.4 設(shè)置目錄列表

Nginx 提供的autoindex on 開啟目錄列表
Nginx 還提供的autoindex_ exac t size 指令設(shè)置精準(zhǔn)
顯示文件大小還是大概顯示文件大械衿邸;通過autoindex_localtime 指令設(shè)置文件最后一次修
改時間的格式棉姐。默認(rèn)情況下屠列, autoindex
exact_size 指令和autoind e x_localtime 指令的值分
別為on 和off

4.5 虛擬機主機配置文件引入

1.在 /usr / local/nginx/ conf 路徑下創(chuàng)建vhost 目錄,用于保存Nginx 服務(wù)器的虛擬主機配置文件伞矩。
2.為了便于管理脸哀,推薦使用站點域名為配置文件命名。例如扭吁,創(chuàng)建域名為www.cqzhangjian.cn的配置文件。
3.第1 種方式: 且在個文件引人 include vhost/www.cqzhangjian.cn;第2 種方式:利用通配符include vhost /*. conf;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市侥袜,隨后出現(xiàn)的幾起案子蝌诡,更是在濱河造成了極大的恐慌,老刑警劉巖枫吧,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浦旱,死亡現(xiàn)場離奇詭異,居然都是意外死亡九杂,警方通過查閱死者的電腦和手機颁湖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來例隆,“玉大人甥捺,你說我怎么就攤上這事《撇悖” “怎么了镰禾?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長唱逢。 經(jīng)常有香客問我吴侦,道長,這世上最難降的妖魔是什么坞古? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任备韧,我火速辦了婚禮,結(jié)果婚禮上痪枫,老公的妹妹穿的比我還像新娘织堂。我一直安慰自己,他們只是感情好听怕,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布捧挺。 她就那樣靜靜地躺著,像睡著了一般尿瞭。 火紅的嫁衣襯著肌膚如雪闽烙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天声搁,我揣著相機與錄音黑竞,去河邊找鬼。 笑死疏旨,一個胖子當(dāng)著我的面吹牛很魂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播檐涝,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼遏匆,長吁一口氣:“原來是場噩夢啊……” “哼法挨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起幅聘,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤凡纳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后帝蒿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荐糜,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年葛超,在試婚紗的時候發(fā)現(xiàn)自己被綠了暴氏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡绣张,死狀恐怖答渔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胖替,我是刑警寧澤研儒,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站独令,受9級特大地震影響端朵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜燃箭,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一冲呢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧招狸,春花似錦敬拓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至累榜,卻和暖如春营勤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背壹罚。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工葛作, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人猖凛。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓赂蠢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親辨泳。 傳聞我的和親對象是個殘疾皇子虱岂,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容

  • nginx在工作中已經(jīng)有好幾個環(huán)境在使用了玖院,每次都是重新去網(wǎng)上扒博客,各種編譯配置第岖,今天自己也整理一份安裝文檔和n...
    AndyChin閱讀 2,293評論 0 4
  • Nginx有什么作用呢司恳? Ngnix作為一款高性能的HTTP服務(wù)器、反向代理服務(wù)器绍傲、電子郵件代理服務(wù)器,主要有三方...
    JunChow520閱讀 3,137評論 1 14
  • 常用配置指令說明 1. ServerRoot:服務(wù)器的基礎(chǔ)目錄耍共,一般來說它將包含conf/和logs/子目錄烫饼,其它...
    小僧有禮了閱讀 4,489評論 0 5
  • 大多數(shù) Nginx 新手都會頻繁遇到這樣一個困惑,那就是當(dāng)同一個location配置塊使用了多個 Nginx 模塊...
    SkTj閱讀 7,610評論 0 12
  • 文/王漫 今天试读,偶然讀到李鴻章晚年書寫的一幀養(yǎng)生對聯(lián): 享清福不在為官杠纵,只要囊有錢,倉有粟钩骇,腹有詩書比藻,便是山中宰相...
    武商路漫漫閱讀 1,143評論 6 22