成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于 nginx 前端知道這些就夠了

Alfred / 1102人閱讀

摘要:我備案了個(gè)域名,買了一個(gè)阿里云服務(wù)器,想要搭建幾個(gè)自己的網(wǎng)站,難免要接觸。創(chuàng)建軟鏈接假如我們每個(gè)網(wǎng)站程序放在一個(gè)文件夾里,該程序的配置文件也應(yīng)該放在這個(gè)文件夾里才方便管理。

我備案了個(gè)域名,買了一個(gè)阿里云服務(wù)器,想要搭建幾個(gè)自己的網(wǎng)站,難免要接觸 nginx。

那么我用 nginx 來干嘛呢:

靜態(tài)資源反向代理

將域名泛解析到服務(wù)器之后,通過 nginx 來給不同的二級(jí)域名分配服務(wù)器上的程序。

1、安裝 nginx 1.1、centos7
yum install -y nginx
1.2、windows

到官網(wǎng)下載,安裝包,解壓即可使用:官網(wǎng)

1.3、centos7 中 nginx 常用命令
# 開機(jī)啟動(dòng)
systemctl enable nginx.service

# 啟動(dòng)
systemctl start nginx.service

# 使用某個(gè)配置文件啟動(dòng)(要先關(guān)閉 ngxin,不然會(huì)報(bào)錯(cuò)的)
nginx -c /etc/nginx/nginx.conf

# 關(guān)閉(如果這樣關(guān)閉不了的話,就把 nginx 進(jìn)程給殺掉)
nginx -s stop

# 查看 nginx 的進(jìn)程 id
ps -ef | grep nginx

# 殺死進(jìn)程(比如殺死進(jìn)程1234)
kill -9 1234

nginx 的默認(rèn)配置文件是:/etc/nginx/nginx.conf

這個(gè)配置文件會(huì)自動(dòng)讀取:/etc/nginx/conf.d/ 文件夾下的所有 .conf 文件。

假如你寫了個(gè)網(wǎng)站,需要用到 nginx ,那么你就把配置文件丟到 /etc/nginx/conf.d/ 文件夾下,然后重啟 nginx 就行了:

nginx -s stop
nginx -c /etc/nginx/nginx.conf
2、nginx 配置(反向代理設(shè)置 & 二級(jí)域名) 2.1 配置文件

假設(shè)我們有兩個(gè)網(wǎng)站:
www.example.com
blog.example.com

它們分別有兩個(gè) ngxin 配置文件放在:
/home/www.example.com/www.example.com.nginx.conf
/home/blog.example.com/blog.example.com.nginx.conf

服務(wù)器對(duì)外開放 80 端口,兩個(gè)網(wǎng)站對(duì)應(yīng)的程序端口分別為:

www.example.com 程序 8000
www.example.com 靜態(tài)資源 8080

blog.example.com 程序 8001
blog.example.com 靜態(tài)資源 8081

那么他們的配置內(nèi)容分別為:

# /home/www.example.com/www.example.com.nginx.conf
server {
    # 服務(wù)器對(duì)外只監(jiān)聽 80 端口
    listen 80;
    # 當(dāng) 80 端口監(jiān)聽到了來自 www.example.com 的請(qǐng)求
    server_name www.example.com;
    # 那么把這個(gè)請(qǐng)求轉(zhuǎn)到 http://localhost:8080
    location / {
        proxy_pass http://localhost:8080;
    }
}
server {
    # 監(jiān)聽到 8080 端口有人發(fā)起請(qǐng)求(其實(shí)就是上面轉(zhuǎn)過來的↑,用戶不能直接訪問 8080 端口的)
    listen 8080;
    # 只允許本機(jī)訪問
    server_name localhost;
    # 程序根目錄
    root /home/www.example.com;
    # 默認(rèn)的網(wǎng)頁文件
    index index.html index.htm;
    # 匹配所有 uri (如果 url 為:http://www.example.com/hehe,那么 uri 為:/hehe)
    location / {
        # 我們的程序?qū)嶋H上是在 8000 端口上
        proxy_pass http://localhost:8000$request_uri;

        # 下面這一大堆,欲知詳情自己查
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size 0;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }
    # 匹配首頁
    location = / {
        proxy_pass http://localhost:8000;
    }
    # 匹配 /**.** 結(jié)尾的 uri,并且不是 /**.html、/**.htm
    location ~* ^.+/[^/]+(?=.)([^/](?!(html|htm)))+$ {
      # 匹配到的都定位到靜態(tài)資源目錄里
      root /home/www.example.com/static;
      etag         on;
      expires      max;
    }
}
# /home/blog.example.com/blog.example.com.nginx.conf
server {
    # 服務(wù)器對(duì)外只監(jiān)聽 80 端口
    listen 80;
    # 當(dāng) 80 端口監(jiān)聽到了來自 blog.example.com 的請(qǐng)求
    server_name blog.example.com;
    # 那么把這個(gè)請(qǐng)求轉(zhuǎn)到 http://localhost:8081
    location / {
        proxy_pass http://localhost:8081;
    }
}
server {
    # 監(jiān)聽到 8081 端口有人發(fā)起請(qǐng)求(其實(shí)就是上面轉(zhuǎn)過來的↑,用戶不能直接訪問 8081 端口的)
    listen 8081;
    # 只允許本機(jī)訪問
    server_name localhost;
    # 程序根目錄
    root /home/blog.example.com;
    # 默認(rèn)的網(wǎng)頁文件
    index index.html index.htm;
    # 匹配所有 uri (如果 url 為:http://blog.example.com/hehe,那么 uri 為:/hehe)
    location / {
        # 我們的程序?qū)嶋H上是在 8001 端口上
        proxy_pass http://localhost:8001$request_uri;

        # 下面這一大堆,欲知詳情自己查
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size 0;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }
    # 匹配首頁
    location = / {
        proxy_pass http://localhost:8001;
    }
    # 匹配 /**.** 結(jié)尾的 uri,并且不是 /**.html、/**.htm
    location ~* ^.+/[^/]+(?=.)([^/](?!(html|htm)))+$ {
      # 匹配到的都定位到靜態(tài)資源目錄里
      root /home/blog.example.com/static;
      etag         on;
      expires      max;
    }
}

注意看兩個(gè)配置的區(qū)別。

2.2 創(chuàng)建軟鏈接

假如我們每個(gè)網(wǎng)站程序放在一個(gè)文件夾里,該程序的 nginx 配置文件也應(yīng)該放在這個(gè)文件夾里才方便管理。但前面提到,我們需要把配置文件丟到 /etc/nginx/conf.d/ 文件夾下,怎樣才能使這個(gè)配置文件既在程序文件夾下,又在 /etc/nginx/conf.d/文件夾下呢?

假如我們?cè)诔绦蛭募A下有一個(gè) ngxin 配置文件:/home/www.example.com/www.example.com.nginx.conf

我們需要給這個(gè)文件創(chuàng)建一個(gè)軟鏈接到 /etc/nginx/conf.d/ 下:

ln -s /home/example/example.nginx.conf /etc/nginx/conf.d/www.example.com.nginx.conf

這樣操作之后,當(dāng)我們改程序文件夾下的配置文件,/etc/nginx/conf.d/ 下與之對(duì)應(yīng)的配置文件也會(huì)被修改,修改后重啟 nginx 就能夠使新的 ngxin 配置生效了。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/94725.html

相關(guān)文章

  • 關(guān)于 nginx 前端知道這些夠了

    摘要:我備案了個(gè)域名,買了一個(gè)阿里云服務(wù)器,想要搭建幾個(gè)自己的網(wǎng)站,難免要接觸。創(chuàng)建軟鏈接假如我們每個(gè)網(wǎng)站程序放在一個(gè)文件夾里,該程序的配置文件也應(yīng)該放在這個(gè)文件夾里才方便管理。 我備案了個(gè)域名,買了一個(gè)阿里云服務(wù)器,想要搭建幾個(gè)自己的網(wǎng)站,難免要接觸 nginx。 那么我用 nginx 來干嘛呢: 靜態(tài)資源反向代理 將域名泛解析到服務(wù)器之后,通過 nginx 來給不同的二級(jí)域名分配服務(wù)器...

    xiao7cn 評(píng)論0 收藏0
  • 前端基礎(chǔ)匯總

    摘要:及相關(guān)問題數(shù)據(jù)類型函數(shù)中指向原型作用域閉包面向?qū)ο髮?duì)象創(chuàng)建模式繼承嚴(yán)格模式與對(duì)象轉(zhuǎn)換的方法添加屬性,根據(jù)原型創(chuàng)建區(qū)別新特性解構(gòu)賦值簡(jiǎn)化對(duì)象寫法剪頭函數(shù)三點(diǎn)運(yùn)算符模板字符串形參默認(rèn)值異步過程深拷貝與淺拷貝賦值與淺拷貝的區(qū)別淺拷貝的幾種方法實(shí)現(xiàn) js及es相關(guān)問題 數(shù)據(jù)類型函數(shù)中this指向——————原型作用域閉包——————面向?qū)ο髮?duì)象創(chuàng)建模式繼承——————Es5嚴(yán)格模式Json與j...

    2json 評(píng)論0 收藏0
  • 前端基礎(chǔ)匯總

    摘要:及相關(guān)問題數(shù)據(jù)類型函數(shù)中指向原型作用域閉包面向?qū)ο髮?duì)象創(chuàng)建模式繼承嚴(yán)格模式與對(duì)象轉(zhuǎn)換的方法添加屬性,根據(jù)原型創(chuàng)建區(qū)別新特性解構(gòu)賦值簡(jiǎn)化對(duì)象寫法剪頭函數(shù)三點(diǎn)運(yùn)算符模板字符串形參默認(rèn)值異步過程深拷貝與淺拷貝賦值與淺拷貝的區(qū)別淺拷貝的幾種方法實(shí)現(xiàn) js及es相關(guān)問題 數(shù)據(jù)類型函數(shù)中this指向——————原型作用域閉包——————面向?qū)ο髮?duì)象創(chuàng)建模式繼承——————Es5嚴(yán)格模式Json與j...

    laznrbfe 評(píng)論0 收藏0
  • 企業(yè)只能申請(qǐng)兩個(gè)微信公眾號(hào),微信開發(fā)不夠用?不,一個(gè)公眾號(hào)夠了!

    摘要:微信年月日發(fā)公告稱,個(gè)人主體注冊(cè)公眾號(hào)數(shù)量上限由個(gè)調(diào)整為個(gè)。大家都知道每個(gè)微信公眾號(hào)在進(jìn)行開發(fā)時(shí),授權(quán)回調(diào)的域名只能設(shè)置一個(gè),正常的開發(fā)一般一套環(huán)境就對(duì)應(yīng)一個(gè)域名。 微信2018年11月16日發(fā)公告稱,個(gè)人主體注冊(cè)公眾號(hào)數(shù)量上限由2個(gè)調(diào)整為1個(gè)。企業(yè)類主體注冊(cè)公眾號(hào)數(shù)量上限由5個(gè)調(diào)整為2個(gè)。這個(gè)對(duì)馬上要注冊(cè)公眾號(hào)的企業(yè)來說頓時(shí)心情不好了。 大家都知道每個(gè)微信公眾號(hào)在進(jìn)行開發(fā)時(shí),授權(quán)回調(diào)...

    wthee 評(píng)論0 收藏0
  • 提高代碼可讀性,掌握這些夠了

    摘要:提高代碼可讀性掌握這些就夠了今天看到一篇關(guān)于代碼優(yōu)化的文章寫得十分實(shí)用在學(xué)習(xí)總結(jié)后梳理出思維結(jié)構(gòu)圖將收貨的分享一下原作者方應(yīng)杭原文地址注意這篇文章所指的代碼優(yōu)化特指的是代碼可讀性方面的一些寫法優(yōu)化而不是指的性能優(yōu)化。 提高代碼可讀性,掌握這些就夠了 今天看到一篇關(guān)于代碼優(yōu)化的文章,寫得十分實(shí)用,在學(xué)習(xí)總結(jié)后,梳理出思維結(jié)構(gòu)圖,將收貨的分享一下 原作者:方應(yīng)杭 原文地址:https://...

    khs1994 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<