nginx-1

今日內容:

1.nginx的基本介紹

nginx 是一個web服務器忙厌。

2.nginx基本介紹

1.高性能贡定,近w個連接請求時,他的響應要比其他的web要快触趴。
2.高擴展性:nginx功能模塊化。官方提供了很多的優(yōu)秀模塊潮剪。
3.高可靠性:9999  99999(9代表宕機時間) 
4.熱部署:不停止服務的情況下進行升級腻惠。 
5.互聯(lián)網公司都選擇Nginx  代理、緩存糜芳、負載均衡飒货、靜態(tài)資源處理、動靜分離峭竣、LNMP塘辅、LNMT、LNMG 架構皆撩。

3.nginx的應用場景

1 web服務
2 負載均衡
3 代理緩存
4 安全服務 Https Lua
5 動靜分離 Nginx+Tomcat
6 靜態(tài)資源服務

4.nginx的基本組件

1.使用yum安裝
 首先安裝nginx的依賴環(huán)境
vim /etc/yum.repos.d nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
yum install nginx -y
 執(zhí)行nginx -v 即可看到安裝的版本
2.使用源碼安裝
3.nginx的網址
http://nginx.org/en/linux_packages.html#RHEL-CentOS

5.nginx的目錄結構

[root@web01 ~]# rpm -ql nginx      
/etc/logrotate.d/nginx        nginx日志輪轉扣墩,用于logrotate服務的日
/etc/nginx
/etc/nginx/conf.d                nginx主配置文件
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf             編碼轉換映射轉化文件(很少用到)
/etc/nginx/koi-win
/etc/nginx/mime.types           設置HTTP協(xié)議的Content-Type與拓展名對應關系
/etc/nginx/modules     Nginx目錄模塊
/etc/nginx/nginx.conf       #主配置文件 ( 駕駛員 )
/etc/nginx/scgi_params      cgi配置相關,fastcgi配置
/etc/nginx/uwsgi_params
/etc/nginx/win-utf
/etc/sysconfig/nginx          
/etc/sysconfig/nginx-debug   用于配置出系統(tǒng)守護進程管理器的管理方式      

/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx
/usr/lib64/nginx/modules    
/usr/libexec/initscripts/legacy-actions/nginx
/usr/libexec/initscripts/legacy-actions/nginx/check-reload
/usr/libexec/initscripts/legacy-actions/nginx/upgrade
/usr/sbin/nginx         #編譯出來的二進制文件 ( 汽車 )
/usr/sbin/nginx-debug
/var/cache/nginx           Nginx的緩存目錄
/var/log/nginx          #訪問日志和錯誤日志

6.nginx的配置文件

[root@web01 conf.d]# cat /etc/nginx/nginx.conf 

user  nginx;                     # nginx進程是哪個用戶來運行
worker_processes  1;    # 啟動多少個worker進程

error_log  /var/log/nginx/error.log warn;# 錯誤日志存在哪里( 黑匣子 )
pid        /var/run/nginx.pid;# 每個進程運行起來都會存在一個pid文件扛吞,里面存放的是該進程的 ID  


events {
    worker_connections  1024;        #worker接收的連接數(shù)  1024 * worker_process
}                  


http {
    include       /etc/nginx/mime.types;#當nginx無法識別你這個文件時呻惕,則默認一訪問就直接下載了。
    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  /var/log/nginx/access.log  main;    #訪問日志的路徑


    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;#長連接 ( 默認長連接保持 65s )

    #gzip  on;#壓縮

    include /etc/nginx/conf.d/*.conf;#包含/etc/nginx/conf.d/目錄下的所有以 .conf 結尾的文件滥比。
}
################################################################
server {                    #server表示要配置網站亚脆,每個Server{} 代表一個網站,簡稱虛擬主機
    listen       80;                #這個網站監(jiān)聽80端口
    server_name  oldxu.com;         #這個網站的域名是什么

    location / {                #控制網站訪問的路徑
        root   /usr/share/nginx/html;       #定義網站源代碼存放的路徑
        index  index.html index.htm;        #默認返回哪個文件作為默認返回頁
    }
}

7.nginx中的http盲泛、server濒持、location之間的關系是?

http:主要用來解決用戶的請求和響應寺滚。   比如www用戶ttt用戶
server:主要用來響應具體的某一個網站柑营。
location:用于匹配網站的uri路徑。 
http{} 下面可以有多個 Server{} 每個server{} 又可以有多個 location {} 

8.nginx運行一個游戲網站

1.準備一個游戲的源碼   
2.準備一個目錄村视,存放我們的游戲
[root@web01 ~]# mkdir /code
[root@web01 ~]# cd /code
[root@web01 ~]# rz  游戲
[root@web01 ~]#  unzip 游戲安裝包
[root@web01 ~]# cd /code/
[root@web01 code]# ls
gedou  gedou.zip  images  index.html  js  README.md  sound
################################################################
[root@web01 xiaolai]# ls
ceshi  game  h5game.zip  img  index.html  readme.txt
3.配置Nginx
        #3.1 配置監(jiān)聽的端口
        #3.2 配置網站的域名
        #3.3 配置用戶訪問網站路徑規(guī)則  location
        #3.4 配置默認返回的頁面
[root@web01 ~]# cat /etc/nginx/conf.d/game.oldxu.com.conf 
server{
        listen 80;
        server_name game.oldxu.com;
        location / { 
                root /code;
                index index.html;
}

}
###############################################################
[root@web01 ~]# cat /etc/nginx/conf.d/h5xiaolai.com.conf 
server{
        listen 80;
        server_name h5xiaolai.com;
        location / {
        root /xiaolai;
        index index.html;
}


}

4.檢查nginx的語法  {} 成對出現(xiàn)并且每一條指令的結尾都有官套;號
[root@web01 code]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
5.重啟服務,讓配置生效
[root@web01 code]# systemctl restart nginx

9.nginx訪問網站的原理(詳細過程)

nginx.jpg
第一步:瀏覽器請求  game.oldxu.com 
第二步:瀏覽會將請求的 game.oldxu.com   -->  http://game.oldxu.com/
第三步:瀏覽器對 域名進行解析    DNS解析  ( 我們域名是假的,所以奶赔,我們配置 hosts 劫持 )
第四步:瀏覽器通過隨機端口惋嚎,像服務端 80 端口建立TCP連接
第五步:瀏覽器發(fā)起HTTP的請求
第六步:請求被80端口對應的Nginx應用所接受,會交給http層纺阔,發(fā)現(xiàn)請求的域名是  game.oldxu.com 
第七步:接下來檢查所有配文件瘸彤,看是否有配置文件 滿足用戶請求的域名。   server_name 
第八步:滿足域名匹配之后笛钝,檢查用戶 請求的路徑质况,   /    就會被location /   所匹配
第九步:返回結果,/code下面的index.html 給用戶
第十步:nginx應用程序像內核發(fā)送請求玻靡,獲取磁盤中的某個文件结榄,磁盤將數(shù)據拷貝至內核的緩存區(qū),然后在 拷貝到nginx應用進程的緩存區(qū)
第十一步:nginx應用進程封裝數(shù)據報文囤捻,回傳給客戶端瀏覽器臼朗。

10.訪問/code/gedou #出現(xiàn)403的錯誤如何解決

方式一:root /code/gedou;   
方式二:game.oldxu.com/gedou/index.html   --> /code/gedou/index.html
找不到為啥是403 而不是404 ?
本來要返回的是 /code/index.html   可你只有  /code  所以就403 蝎土,權限不對视哑,返回的默認主頁找不到了。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末誊涯,一起剝皮案震驚了整個濱河市挡毅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌暴构,老刑警劉巖跪呈,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異取逾,居然都是意外死亡耗绿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門砾隅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來误阻,“玉大人,你說我怎么就攤上這事晴埂【糠矗” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵邑时,是天一觀的道長。 經常有香客問我特姐,道長晶丘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮浅浮,結果婚禮上沫浆,老公的妹妹穿的比我還像新娘。我一直安慰自己滚秩,他們只是感情好专执,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著郁油,像睡著了一般本股。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上桐腌,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天拄显,我揣著相機與錄音,去河邊找鬼案站。 笑死躬审,一個胖子當著我的面吹牛,可吹牛的內容都是我干的蟆盐。 我是一名探鬼主播承边,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼石挂!你這毒婦竟也來了博助?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤誊稚,失蹤者是張志新(化名)和其女友劉穎翔始,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體里伯,經...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡城瞎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了疾瓮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脖镀。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖狼电,靈堂內的尸體忽然破棺而出蜒灰,到底是詐尸還是另有隱情,我是刑警寧澤肩碟,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布强窖,位于F島的核電站,受9級特大地震影響削祈,放射性物質發(fā)生泄漏翅溺。R本人自食惡果不足惜脑漫,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咙崎。 院中可真熱鬧优幸,春花似錦、人聲如沸褪猛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伊滋。三九已至碳却,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間新啼,已是汗流浹背追城。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留燥撞,地道東北人座柱。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像物舒,于是被迫代替她去往敵國和親色洞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內容

  • 企業(yè)中常見的網站服務 處理靜態(tài)資源網站服務: httpd(apache): http://apache.org/ ...
    StandingBy_abc閱讀 146評論 0 0
  • 1冠胯、 Nginx 介紹 I/O:網絡IO:本質是socket讀取磁盤IO:每次IO火诸,都要經由兩個階段:第一步:將數(shù)...
    張大志的博客閱讀 378評論 0 0
  • 1、 Nginx 介紹 I/O:網絡IO:本質是socket讀取磁盤IO:每次IO荠察,都要經由兩個階段:第一步:將數(shù)...
    阿喪小威閱讀 148評論 0 0
  • 大多數(shù) Nginx 新手都會頻繁遇到這樣一個困惑置蜀,那就是當同一個location配置塊使用了多個 Nginx 模塊...
    SkTj閱讀 7,697評論 0 12
  • 1. 配置文件 nginx運行時的配置是來自nginx.conf這個文件,默認是在這個路徑下:/etc/nginx...
    keith666閱讀 748評論 0 1