欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx如何搭建前后端分離架構(gòu)

 更新時(shí)間:2025年01月22日 17:17:52   作者:趙忠洋  
本文介紹了如何使用Vue-cli搭建前端開發(fā)環(huán)境,并詳細(xì)講解了nginx、webpack-devserver和Postman的使用方法,此外,還介紹了API基本設(shè)計(jì)規(guī)范,包括HTTP狀態(tài)碼、數(shù)據(jù)格式和接口設(shè)計(jì)

本人用的是vue-cli 自動(dòng)構(gòu)建vue+webpack 項(xiàng)目,這里不對(duì)webpack、nginx進(jìn)行講解。

本文主要解決前端開發(fā)環(huán)境搭建、測(cè)試環(huán)境搭建、生產(chǎn)環(huán)境搭建以及接口調(diào)試

需要工具

  • 1.nginx(配置代理)
  • 2.webpack-devserver(啟動(dòng)前端服務(wù))
  • 3.postman(接口調(diào)試)

nginx的環(huán)境搭建

nginx.conf 文件配置

開發(fā)環(huán)境

http{
    server {
	    #配置端口號(hào)
        listen 9999;
        #配置server_name
        server_name 127.0.0.1;
        #設(shè)置默認(rèn)頁面 地址為webpack-devserver地址
        location = / {
            proxy_pass http://127.0.0.1:8888/#/home;
        }
        #這里因?yàn)槲业牡膙ue-router 所以將帶#號(hào)的請(qǐng)求轉(zhuǎn)發(fā)到本地服務(wù)器
        location ~ .*#.*$ {
            proxy_pass http://127.0.0.1:8888;
        }
        #請(qǐng)求網(wǎng)頁 圖片 icon 等都會(huì)轉(zhuǎn)發(fā)到本地服務(wù)器上
        location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ico|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma|eot|woff|ttf|svg)$ {
            proxy_pass http://127.0.0.1:8888;
        }
        #請(qǐng)求后端接口的服務(wù)器地址
        location ~ .*$ {
            proxy_pass http://10.10.1.135:8080;
        }
    }
}

測(cè)試環(huán)境

http{
    server {
	    #配置端口號(hào)
        listen 9999;
        #配置server_name
        server_name 127.0.0.1;
        #設(shè)置默認(rèn)頁面 root 為靜態(tài)文件目錄
        location = / {
            index  index.html;
            root /html;
        }
        #請(qǐng)求網(wǎng)頁 圖片 icon 等都會(huì)轉(zhuǎn)發(fā)到nginx靜態(tài)目錄下
        location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ico|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma|eot|woff|ttf|svg)$ {
            root /html;
        }
        #請(qǐng)求后端接口的服務(wù)器地址
        location ~ .*$ {
            proxy_pass http://10.10.1.135:8080;
        }
    }
}

生產(chǎn)環(huán)境搭建

http{
    server {
	    #配置端口號(hào)
        listen 80;
        #配置server_name
        server_name www.xxx.com;
        #設(shè)置默認(rèn)頁面 root 為靜態(tài)文件目錄
        location = / {
            index  index.html;
            root /html;
        }
        #請(qǐng)求網(wǎng)頁 圖片 icon 等都會(huì)轉(zhuǎn)發(fā)到nginx靜態(tài)目錄下
        location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ico|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma|eot|woff|ttf|svg)$ {
	        proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            root /html;
        }
        #請(qǐng)求后端接口的服務(wù)器地址
        location ~ .*$ {
            proxy_pass http://api.xxx.com;
        }
    }
}

POSTman 接口調(diào)試

get方式

  • 1.get請(qǐng)求方式
  • 2.url請(qǐng)求地址
  • 3.發(fā)送請(qǐng)求

ps:get請(qǐng)求參數(shù)可以寫在url里邊 也可以寫在 下方的key value 里

post方式

  • 1.post請(qǐng)求方式
  • 2.url請(qǐng)求地址
  • 3.發(fā)送請(qǐng)求
  • 4.選擇參數(shù)類型
  • 5.將參數(shù)寫入

ps:get請(qǐng)求參數(shù)可以寫在url里邊 

為什么使用postman

  • 1.前端請(qǐng)求后端接口時(shí)發(fā)生錯(cuò)誤,postman測(cè)試接口是否正常,快速定位問題
  • 2.一些小公司沒有api文檔,或者文檔不全,通過postman可以快速的判斷接口傳參類型 
  • ps:甩鍋利器

api基本設(shè)計(jì)規(guī)范

接口說明

  • 數(shù)據(jù)格式全部使用json格式
  • post/put 使用UTF-8編碼
  • 使用HTTP Status Code表示狀態(tài)
  • 列表參數(shù)使用start和count

返回狀態(tài)碼說明

通過HTTP Status Code來說明 API 請(qǐng)求是否成功 下面的表格中展示了可能的HTTP Status Code以及其含義

狀態(tài)碼含義說明
200ok請(qǐng)求成功
201CREATED創(chuàng)建成功
202ACCEPTED更新成功
401UNAUTHORIZED未授權(quán)/未登錄
403FORBIDDEN被禁止訪問
404NOT FOUND請(qǐng)求資源不存在
500INTERNAL SERVER ERROR服務(wù)器內(nèi)部錯(cuò)誤

通用錯(cuò)誤代碼(具體使用要api文檔中給出)

狀態(tài)碼含義說明
999unknow_v2_error未知錯(cuò)誤
1000need_permission需要權(quán)限
1001uri_not_found資源不存在
1002missing_args參數(shù)不全
1003image_too_large上傳的圖片太大
1004input_too_short輸入為空,或者輸入字?jǐn)?shù)不夠
1005target_not_fount相關(guān)的對(duì)象不存在
1006need_captcha需要驗(yàn)證碼,驗(yàn)證碼有誤
1007image_wrong_format照片格式有誤(僅支持JPG,JPEG,GIF,PNG或BMP)

返回json數(shù)據(jù)格式

{
//描述
 "msg":"image_too_large,
//狀態(tài)碼
 "code":1003,
 //數(shù)據(jù)
 "data":[]
}

url地址解釋

/v1/m/login

參數(shù)說明
v1版本號(hào)
m手機(jī)端
Login登錄接口

版本說明

暫定大版本更替時(shí)更改

例如:

  • v1 版本1.x
  • v2 版本2.x

常規(guī)接口規(guī)范

列表及分頁接口設(shè)計(jì)

#假定請(qǐng)求數(shù)據(jù)列表
/v1/m/list

請(qǐng)求參數(shù)

名稱請(qǐng)求方式類型說明默認(rèn)值是否必填
pageGET頁碼/第幾頁1
limitGET條數(shù)10
/v1/lawyer?page=1&limit=10

返回參數(shù)

名稱類型說明
msgstring描述
codenum狀態(tài)碼
dataobject數(shù)據(jù)

data數(shù)據(jù)格式

名稱類型說明
pageSizenum總頁數(shù)
pagenum當(dāng)前頁
limitnum每頁條數(shù)
countnum總條數(shù)
rowsjson數(shù)據(jù)列表
    #示例
    {
        msg:ok,
        code:200,
        data:{
          count:70,
          pageSize:7,
          limit:10,
          page:2,
          #此數(shù)據(jù)只是示例,展現(xiàn)數(shù)據(jù)格式
          rows:[
            {
                id:001,
                name:zzz
                phone:111111
            },{
                id:002,
                name:zzz
                phone:111111
            },{
                id:003,
                name:zzz
                phone:111111
            }
          ]
        }
    }

詳情頁接口設(shè)計(jì)

請(qǐng)求參數(shù)

名稱請(qǐng)求方式類型說明默認(rèn)值是否必填
idGETstring產(chǎn)品id
#假定產(chǎn)品詳情
/v1/m/product/details?id=001

返回參數(shù)

名稱類型說明
msgstring描述
codenum狀態(tài)碼
dataobject數(shù)據(jù)

data數(shù)據(jù)格式(并不是真實(shí)字段,僅能代表數(shù)據(jù)格式)

名稱類型說明
idnum產(chǎn)品id
namestring產(chǎn)品姓名
phonenum電話
imgstring產(chǎn)品頭像
    #示例
    {
        msg:ok,
        code:200,
        data:{
          id:001,
          name:zzz,
          phone:111111,
          img:"img src 路徑"
        }
    }

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用nginx搭建靜態(tài)資源服務(wù)器的方法步驟

    利用nginx搭建靜態(tài)資源服務(wù)器的方法步驟

    這篇文章主要介紹了利用nginx搭建靜態(tài)資源服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 淺析Nginx 負(fù)載均衡4種模式

    淺析Nginx 負(fù)載均衡4種模式

    這篇文章主要介紹了Nginx 負(fù)載均衡4種模式,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-06-06
  • 使用Nginx實(shí)現(xiàn)HTTPS雙向驗(yàn)證的方法

    使用Nginx實(shí)現(xiàn)HTTPS雙向驗(yàn)證的方法

    這篇文章主要介紹了使用Nginx實(shí)現(xiàn)HTTPS雙向驗(yàn)證的方法,涉及到單向驗(yàn)證和雙向驗(yàn)證的區(qū)別介紹,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • 通過Nginx配置實(shí)現(xiàn)外網(wǎng)訪問內(nèi)網(wǎng)數(shù)據(jù)庫的操作指南

    通過Nginx配置實(shí)現(xiàn)外網(wǎng)訪問內(nèi)網(wǎng)數(shù)據(jù)庫的操作指南

    項(xiàng)目開發(fā)部署中經(jīng)常會(huì)遇到MySQL或Oracle數(shù)據(jù)庫安裝在內(nèi)網(wǎng),而我們的應(yīng)用服務(wù)只能部署在外網(wǎng),如果實(shí)現(xiàn)外網(wǎng)服務(wù)訪問連接內(nèi)網(wǎng)的數(shù)據(jù)庫呢?本次介紹如何通過Nginx配置實(shí)現(xiàn)外網(wǎng)訪問內(nèi)網(wǎng)數(shù)據(jù)庫,需要的朋友可以參考下
    2023-10-10
  • nginx中常見日志分析命令合集

    nginx中常見日志分析命令合集

    這篇文章主要為大家整理了一些nginx中常見日志分析命令,例如 查看實(shí)時(shí)日志,統(tǒng)計(jì)狀態(tài)碼分布,分析客戶端 IP等,有需要的小伙伴可以參考一下
    2025-05-05
  • nginx中端口無權(quán)限的問題解決

    nginx中端口無權(quán)限的問題解決

    當(dāng) Nginx 日志報(bào)錯(cuò)?bind() to 80 failed (13: Permission denied)?時(shí),這通常是由于權(quán)限不足導(dǎo)致 Nginx 無法綁定到 80 端口,下面就來介紹一下該問題的解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-07-07
  • 詳解Nginx進(jìn)行TCP代理配置的詳細(xì)指南

    詳解Nginx進(jìn)行TCP代理配置的詳細(xì)指南

    Nginx 是一個(gè)高性能的 HTTP 和反向代理服務(wù)器,它也支持 TCP/UDP 的負(fù)載均衡,本文將介紹如何配置 Nginx 作為 TCP 代理,需要的可以了解下
    2025-07-07
  • 使用LDAP實(shí)現(xiàn)Nginx用戶認(rèn)證的示例

    使用LDAP實(shí)現(xiàn)Nginx用戶認(rèn)證的示例

    本文主要使用Nginx和LDAP實(shí)現(xiàn)用戶認(rèn)證,通過配置Nginx和安裝nginx-auth-ldap模塊,可以實(shí)現(xiàn)基于LDAP的認(rèn)證邏輯,下面就來介紹一下,感興趣的可以了解一下
    2024-12-12
  • Nginx中proxy_pass使用小結(jié)

    Nginx中proxy_pass使用小結(jié)

    本文詳細(xì)介紹了Nginx中proxy_pass指令的基本用法、配置示例及高級(jí)用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • 使用Nginx反向代理到go-fastdfs的方法示例

    使用Nginx反向代理到go-fastdfs的方法示例

    這篇文章主要介紹了使用Nginx反向代理到go-fastdfs的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論