国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端必備 Nginx 配置

這篇具有很好參考價值的文章主要介紹了前端必備 Nginx 配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Nginx (engine x) 是一個輕量級高性能的HTTP和反向代理服務(wù)器,同時也是一個通用 代理服務(wù)器 (TCP/UDP/IMAP/POP3/SMTP),最初由俄羅斯人Igor Sysoev編寫。

基本命令:

nginx -s reopen #重啟Nginx
nginx -s reload #重新加載Nginx配置文件,然后以優(yōu)雅的方式重啟Nginx
nginx -s stop #強制停止Nginx服務(wù)
nginx -s quit #優(yōu)雅地停止Nginx服務(wù)(即處理完所有請求后再停止服務(wù))
nginx -?,-h #打開幫助信息
nginx -v #顯示版本信息并退出
nginx -V #顯示版本和配置選項信息,然后退出
nginx -t #檢測配置文件是否有語法錯誤,然后退出
nginx -T #檢測配置文件是否有語法錯誤,轉(zhuǎn)儲并退出
nginx -q #在檢測配置文件期間屏蔽非錯誤信息
nginx -p prefix #設(shè)置前綴路徑(默認是:/usr/share/nginx/)nginx -c filename #設(shè)置配置文件(默認是:/etc/nginx/nginx.conf)
nginx -g directives #設(shè)置配置文件外的全局指令
killall nginx #殺死所有nginx進程

搭建好nginx服務(wù)器并啟動過后,先看nginx默認配置,再介紹不同使用場景。

默認配置:

Nginx 安裝目錄下, 復(fù)制一份`nginx.conf`成`nginx.conf.default`作為配置文件備份,然后修改`nginx.conf`

# 工作進程的數(shù)量
worker_processes  1;
events {
    worker_connections  1024; # 每個工作進程連接數(shù)
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    # 日志格式
    log_format  access  '$remote_addr - $remote_user [$time_local] $host "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for" "$clientip"';
    access_log  /srv/log/nginx/access.log  access; # 日志輸出目錄
    gzip  on;
    sendfile  on;

    # 鏈接超時時間,自動斷開
    keepalive_timeout  60;

    # 虛擬主機
    server {
        listen       8080;
        server_name  localhost; # 瀏覽器訪問域名

        charset utf-8;
        access_log  logs/localhost.access.log  access;

        # 路由
        location / {
            root   www; # 訪問根目錄
            index  index.html index.htm; # 入口文件
        }
    }

    # 引入其他的配置文件
    include servers/*;
}

搭建站點:

在其他配置文件`servers`目錄下,添加新建站點配置文件 xx.conf。

# 虛擬主機
server {
    listen       8080;
    server_name  xx_domian; # 瀏覽器訪問域名

    charset utf-8;
    access_log  logs/xx_domian.access.log  access;

    # 路由
    location / {
        root   www; # 訪問根目錄
        index  index.html index.htm; # 入口文件
    }
}

類型設(shè)置過期時間:

location ~.*\.css$ {
    expires 1d;
    break;
}
location ~.*\.js$ {
    expires 1d;
    break;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    access_log off;
    expires 15d;    #保存15天
    break;
}

# curl -x127.0.0.1:80 http://www.test.com/static/image/common/logo.png -I #測試圖片的max-age
復(fù)制代碼

禁止緩存:

開發(fā)環(huán)境經(jīng)常改動代碼,由于瀏覽器緩存需要強制刷新才能看到效果。這是我們可以禁止瀏覽器緩存提高效率。

location ~* \.(js|css|png|jpg|gif)$ {
    add_header Cache-Control no-store;
}

防盜鏈:

防止文件被其他網(wǎng)站調(diào)用。

location ~* \.(gif|jpg|png)$ {
    # 只允許 192.168.0.1 請求資源
    valid_referers none blocked 192.168.0.1;
    if ($invalid_referer) {
       rewrite ^/ http://$host/logo.png;
    }
}

靜態(tài)文件壓縮:

server {
    # 開啟gzip 壓縮
    gzip on;
    # 設(shè)置gzip所需的http協(xié)議最低版本 (HTTP/1.1, HTTP/1.0)
    gzip_http_version 1.1;
    # 設(shè)置壓縮級別,壓縮級別越高壓縮時間越長  (1-9)
    gzip_comp_level 4;
    # 設(shè)置壓縮的最小字節(jié)數(shù), 頁面Content-Length獲取
    gzip_min_length 1000;
    # 設(shè)置壓縮文件的類型  (text/html)
    gzip_types text/plain application/javascript text/css;
}

執(zhí)行命令 nginx -s reload,成功后瀏覽器訪問。

指定錯誤頁面:

# 根據(jù)狀態(tài)碼,返回對于的錯誤頁面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
    root /source/error_page;
}

跨域:

跨域的定義

同源策略限制了從同一個源加載的文檔或腳本如何與來自另一個源的資源進行交互。這是一個用于隔離潛在惡意文件的重要安全機制。通常不允許不同源間的讀操作。

同源的定義

如果兩個頁面的協(xié)議,端口(如果有指定)和域名都相同,則兩個頁面具有相同的源。

nginx解決跨域的原理

例如:

  • 前端server域名為:http://xx_domain
  • 后端server域名為:https://github.com

現(xiàn)在http://xx_domainhttps://github.com發(fā)起請求一定會出現(xiàn)跨域。

只需要啟動一個nginx服務(wù)器,將server_name設(shè)置為xx_domain,然后設(shè)置相應(yīng)的location以攔截前端需要跨域的請求,最后將請求代理回github.com。如下面的配置:

## 配置反向代理的參數(shù)
server {
    listen    8080;
    server_name xx_domain

    ## 1. 用戶訪問 http://xx_domain,則反向代理到 https://github.com
    location / {
        proxy_pass  https://github.com;
        proxy_redirect     off;
        proxy_set_header   Host             $host;        # 傳遞域名
        proxy_set_header   X-Real-IP        $remote_addr; # 傳遞ip
        proxy_set_header   X-Scheme         $scheme;      # 傳遞協(xié)議
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

這樣可以完美繞過瀏覽器的同源策略:github.com訪問nginxgithub.com屬于同源訪問,而nginx對服務(wù)端轉(zhuǎn)發(fā)的請求不會觸發(fā)瀏覽器的同源策略。

負載均衡:

Nginx聽到的最多的就是負載均衡,那么什么是負載均衡?

負載均衡:由于目前現(xiàn)有網(wǎng)絡(luò)的各個核心部分隨著業(yè)務(wù)量的提高,訪問量和數(shù)據(jù)流量的快速增長,其處理能力和計算強度也相應(yīng)地增大,使得單一的服務(wù)器設(shè)備根本無法承擔(dān)。

針對此情況而衍生出來的一種廉價有效透明的方法以擴展現(xiàn)有網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性的技術(shù)就是負載均衡(Load Balance)。

Nginx實現(xiàn)負載均衡有幾種方案:

輪詢:

輪詢即Round Robin,根據(jù)Nginx配置文件中的順序,依次把客戶端的Web請求分發(fā)到不同的后端服務(wù)器。

upstream backserver {
    server 192.168.0.14;
    server 192.168.0.15;
}
權(quán)重:

權(quán)重的負載均衡即Weighted Load Balancing,這種方式下,我們可以配置Nginx把請求更多地分發(fā)到高配置的后端服務(wù)器上,把相對較少的請求分發(fā)到低配服務(wù)器。

upstream backserver {
    server 192.168.0.14 weight=3;
    server 192.168.0.15 weight=7;
}

權(quán)重越高,在被訪問的概率越大,如上例,分別是30%,70%。

ip_hash:

前兩種負載均衡方案中,同一客戶端連續(xù)的Web請求可能會被分發(fā)到不同的后端服務(wù)器進行處理,因此如果涉及到會話Session,那么會話會比較復(fù)雜。常見的是基于數(shù)據(jù)庫的會話持久化。要克服上面的難題,可以使用基于IP地址哈希的負載均衡方案。這樣的話,同一客戶端連續(xù)的Web請求都會被分發(fā)到同一服務(wù)器進行處理。

upstream backserver {
    ip_hash;
    server 192.168.0.14:88;
    server 192.168.0.15:80;
}
fair:

按后端服務(wù)器的響應(yīng)時間來分配請求,響應(yīng)時間短的優(yōu)先分配。

upstream backserver {
    server server1;
    server server2;
    fair;
}
url_hash:

按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個(對應(yīng)的)后端服務(wù)器,后端服務(wù)器為緩存時比較有效。

upstream backserver {
    server squid1:3128;
    server squid2:3128;
    hash $request_uri;
    hash_method crc32;
}

在需要使用負載均衡的server中增加

proxy_pass http://backserver/; 
upstream backserver{ 
    ip_hash; 
    server 127.0.0.1:9090 down; (down 表示單前的server暫時不參與負載) 
    server 127.0.0.1:8080 weight=2; (weight 默認為1.weight越大,負載的權(quán)重就越大) 
    server 127.0.0.1:6060; 
    server 127.0.0.1:7070 backup; (其它所有的非backup機器down或者忙的時候,請求backup機器) 
} 

max_fails :允許請求失敗的次數(shù)默認為1.當(dāng)超過最大次數(shù)時,返回proxy_next_upstream 模塊定義的錯誤。fail_timeout:max_fails次失敗后,暫停的時間。文章來源地址http://www.zghlxwxcb.cn/news/detail-721915.html

配置實例:
#user  nobody;

worker_processes  4;
events {
# 最大并發(fā)數(shù)
worker_connections  1024;
}
http{
    # 待選服務(wù)器列表
    upstream myproject{
        # ip_hash指令,將同一用戶引入同一服務(wù)器。
        ip_hash;
        server 125.219.42.4 fail_timeout=60s;
        server 172.31.2.183;
    }

    server{
        # 監(jiān)聽端口
        listen 80;
        # 根目錄下
        location / {
        # 選擇哪個服務(wù)器列表
            proxy_pass http://myproject;
        }

    }
}

到了這里,關(guān)于前端必備 Nginx 配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【運維】Linux安裝Nginx并部署前端項目的兩種方式【內(nèi)/外網(wǎng)-保姆級教程】

    【運維】Linux安裝Nginx并部署前端項目的兩種方式【內(nèi)/外網(wǎng)-保姆級教程】

    目錄 第一種方式 1準備nginx安裝包并解壓 2執(zhí)行以下命令,安裝nginx依賴包 3編譯安裝nginx 4驗證安裝 第二種方式 1下載所需要的安裝包 2安裝步驟 2.1將下載的完整文件夾通過壓縮包的形式,上傳到你的路徑下解壓. 2.2 進入到gcc文件夾下,執(zhí)行命令: 2.3進入到gcc-c++文件夾下,執(zhí)

    2024年02月04日
    瀏覽(52)
  • 【運維】手把手教你在Linux/Windows系統(tǒng)使用Nginx部署多個前端項目【詳細操作】

    【運維】手把手教你在Linux/Windows系統(tǒng)使用Nginx部署多個前端項目【詳細操作】

    ??????? 需求:項目上線需要將前端的前臺和后臺部署在服務(wù)器上提供用戶進行使用,部署在不同的服務(wù)器直接在服務(wù)器安裝nginx即可。但是在內(nèi)網(wǎng)安裝還是有點麻煩,因為需要聯(lián)網(wǎng),如果是內(nèi)網(wǎng)可以參考Linux安裝Nginx并部署前端項目【內(nèi)/外網(wǎng)-保姆級教程】_MXin5的博客-CSDN博

    2024年02月08日
    瀏覽(30)
  • 【運維】Linux安裝Nginx并部署前端項目的兩種方式【內(nèi) 外網(wǎng)-保姆級教程】_linux部署前端項(1)

    【運維】Linux安裝Nginx并部署前端項目的兩種方式【內(nèi) 外網(wǎng)-保姆級教程】_linux部署前端項(1)

    1準備nginx安裝包并解壓 2執(zhí)行以下命令,安裝nginx依賴包 3編譯安裝nginx 4驗證安裝 第二種方式 1下載所需要的安裝包 2安裝步驟 2.1將下載的完整文件夾通過壓縮包的形式,上傳到你的路徑下解壓. 2.2 進入到gcc文件夾下,執(zhí)行命令: 2.3進入到gcc-c++文件夾下,執(zhí)行命令: 2.4檢查

    2024年04月14日
    瀏覽(19)
  • nginx 配置404 頁面

    自己定義404 頁面,通過 nginx 配置一下,重新定向 1. http 里面添加配置 2. server 中添加配置 整個nginx 配置文件 示例: 二、網(wǎng)上找的幾個404 頁面示例 直接拷貝到 html 里面就可以

    2024年03月23日
    瀏覽(19)
  • 解決nginx已配置但訪問依舊跳轉(zhuǎn)到nginx的歡迎頁面

    1、確定nginx.conf配置沒有問題 2、確保修改了nginx.conf文件后重啟了nginx,nginx -s reload 3、查看是否有兩個nginx在運行,如果有兩個nginx運行,則停止nginx再重新啟動 ? ? ? ? 查看nginx運行:ps -ef | grep nginx ????????停止nginx:nginx -s stop ????????啟動nginx:nginx 重新訪問頁面,

    2024年02月02日
    瀏覽(26)
  • nginx配置vue單頁面應(yīng)用

    例如訪問 https://xxxx:12306/overview Nginx 配置 前端路由配置 vite配置

    2024年02月09日
    瀏覽(17)
  • 為nginx配置好看的錯誤提示頁面

    為nginx配置好看的錯誤提示頁面

    nginx默認錯誤頁面確實有些丑哈,leeader讓我換一個樣式 ,我就來嘍! nginx默認錯誤頁面確實有些丑哈,leeader讓我換一個樣式 ,我就來嘍! 我演示的html源文件放在文章末尾 ant.design 網(wǎng)站有幾個設(shè)計的例子。也挺好可以借鑒。 https://ant.design/docs/spec/research-exception-cn 我在gitee上

    2024年02月04日
    瀏覽(17)
  • 前端nginx配置指南

    前端nginx配置指南

    前端項目發(fā)布后,有些接口需要在服務(wù)器配置反向代理,資源配置gzip壓縮,配置跨域允許訪問等 配置文件模塊概覽 配置示例 反向代理 反向代理是Nginx的核心功能之一,是指客戶端發(fā)送請求到代理服務(wù)器,代理服務(wù)器再將請求轉(zhuǎn)發(fā)給后端的多個服務(wù)器中的一個或多個,并將后

    2024年01月16日
    瀏覽(19)
  • nginx配置前端不緩存

    修改nginx配置文件,直接在loacation模塊下加入如下參數(shù): 容器default.conf信息: 該方法修改完之后,并不能立刻清理客戶端當(dāng)前的緩存,因為客戶端當(dāng)前的html頁面還沒有緩存 “不緩存配置”,就是當(dāng)前的\\\"no-cache, no-store\\\"配置,改配置還沒有緩存到客戶端的瀏覽器中,有點繞,但

    2024年02月12日
    瀏覽(19)
  • 第五次作業(yè) 運維高級 構(gòu)建 LVS-DR 集群和配置nginx負載均衡

    第五次作業(yè) 運維高級 構(gòu)建 LVS-DR 集群和配置nginx負載均衡

    1、基于 CentOS 7 構(gòu)建 LVS-DR 群集。 LVS-DR模式工作原理 首先,來自客戶端計算機CIP的請求被發(fā)送到Director的VIP。然后Director使用相同的VIP目的IP地址將請求發(fā)送到集群節(jié)點或真實服務(wù)器。然后,集群某個節(jié)點將回復(fù)該數(shù)據(jù)包,并將該數(shù)據(jù)包直接發(fā)送到客戶端計算機(不經(jīng)過direct

    2024年02月14日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包