亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

嘗試Docker+Nginx部署單頁應用方法

2024-08-30 12:30:15
字體:
來源:轉載
供稿:網友

開發到部署,親力親為

當我們開發一個單頁面應用時,執行完構建后

npm run build

會生成一個 index.html 在 dist 目錄,那怎么把這個 index.html 部署到服務器上呢?

目錄結構

  • dist/:前端構建完的靜態文件
  • docker/:鏡像所需的配置文件

Docker,Nginx,單頁應用

配置 Nginx

挑幾點配置講講,先是 Gzip 壓縮資源,以節省帶寬和提高瀏覽器加載速度

雖然 Webpack 已經支持在構建時就生成 .gz 壓縮包,但也可以通過 Nginx 來啟用
gzip on;gzip_disable "msie6";# 0-9 等級,級別越高,壓縮包越小,但對服務器性能要求也高gzip_comp_level 9;gzip_min_length 100;# Gzip 不支持壓縮圖片,我們只需要壓縮前端資源gzip_types text/css application/javascript;

再就是服務端口的配置,將 API 反向代理到后端服務

server { listen 8080; server_name www.frontend.com; root /usr/share/nginx/html/; location / { index index.html index.htm; try_files $uri $uri/ /index.html; # 禁止緩存 HTML,以保證引用最新的 CSS 和 JS 資源 expires -1; } location /api/v1 { proxy_pass http://backend.com; }}

完整配置長這樣

worker_processes 1;events { worker_connections 1024; }http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; gzip_comp_level 9; gzip_min_length 100; gzip_types text/css application/javascript; server { listen 8080; server_name www.frontend.com; root /usr/share/nginx/html/; location / {  index index.html index.htm;  try_files $uri $uri/ /index.html;  expires -1; } location /api/v1 {  proxy_pass http://backend.com; } }}

配置 Docker

這里簡單一點,基于基礎鏡像,拷貝我們寫好的 nginx.conf 和 index.html 到鏡像內

FROM nginx:alpineCOPY nginx.conf /etc/nginx/nginx.confCOPY dist /usr/share/nginx/html

編寫 Makefile

完成了上面的準備,就可以編寫命令來執行鏡像的打包了

先給鏡像取個名稱和端口號

APP_NAME = spa_nginx_dockerPORT = 8080

通過 build 來打包鏡像

build: cp docker/Dockerfile . cp docker/nginx.conf . docker build -t $(APP_NAME) . rm Dockerfile rm nginx.conf

通過 deploy 來啟動鏡像

deploy: docker run -d -it -p=$(PORT):$(PORT) --name="$(APP_NAME)" $(APP_NAME)

最后還有個 stop 來停止和清理鏡像

stop: docker stop $(APP_NAME) docker rm $(APP_NAME) docker rmi $(APP_NAME)

完整配置長這樣

APP_NAME = spa_nginx_dockerPORT = 8080build: cp docker/Dockerfile . cp docker/nginx.conf . docker build -t $(APP_NAME) . rm Dockerfile rm nginx.confdeploy: docker run -d -it -p=$(PORT):$(PORT) --name="$(APP_NAME)" $(APP_NAME)stop: docker stop $(APP_NAME) docker rm $(APP_NAME) docker rmi $(APP_NAME)

完整命令長這樣

# 靜態資源構建npm run build# 鏡像打包make build# 停止并刪除舊鏡像(首次可忽略)make stop# 鏡像啟動make deploy

總結

目前的部署方法相對簡單,后續會加入基礎鏡像和鏡像倉庫的使用,先去前面探探路


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人啪啪免费看| 91久热免费在线视频| 亚洲日本中文字幕免费在线不卡| 日韩精品日韩在线观看| 美女精品久久久| 精品视频在线导航| 国产日韩在线看| 色综合色综合网色综合| 亚洲小视频在线| 欧美专区中文字幕| 日韩中文视频免费在线观看| 98视频在线噜噜噜国产| 91精品国产91| 久久中文字幕在线视频| 午夜精品一区二区三区在线| 尤物九九久久国产精品的分类| 国产精品久久久久久久久久99| 国产精品丝袜一区二区三区| 久久6精品影院| 国产精品久久色| 国产在线高清精品| 亚洲欧美成人精品| 国产精品久久久| 欧美性在线观看| 欧美日韩一区免费| 欧美日韩亚洲视频一区| 国产亚洲精品成人av久久ww| 亚洲国产高清高潮精品美女| 久久久伊人日本| 日本午夜在线亚洲.国产| 久久国产精品视频| 91经典在线视频| 欧美亚洲在线观看| 国产精品黄色影片导航在线观看| 性色av一区二区三区| 亚洲第一av网站| 91社影院在线观看| 亚洲精品成人网| 亚洲一区av在线播放| 国产亚洲日本欧美韩国| 日本精品视频在线播放| 欧美日韩另类字幕中文| 国产精品爽爽爽| 亚洲精品在线看| 欧美巨乳在线观看| 国产精品美女www爽爽爽视频| 国内免费久久久久久久久久久| 久久精品国产免费观看| 青青久久aⅴ北条麻妃| 亚洲第一男人av| 国内久久久精品| 欧美在线视频a| 久久久中文字幕| 日韩一区视频在线| 在线观看久久av| 亚洲精品日韩欧美| 国产一区二区三区精品久久久| 国内偷自视频区视频综合| 中文字幕国内精品| 国产精品视频午夜| 亚洲一区亚洲二区| 91国偷自产一区二区三区的观看方式| 欧美日韩不卡合集视频| 成人av在线网址| 欧美国产视频一区二区| 国产精品美女在线观看| 欧美日韩中国免费专区在线看| 国产久一一精品| 国产三级精品网站| www.欧美三级电影.com| 国产精品96久久久久久| 美女性感视频久久久| 日韩免费高清在线观看| 亚洲人成伊人成综合网久久久| 日韩精品视频在线| 国产精品久久国产精品99gif| 国产97免费视| 久久精品国产亚洲一区二区| 黑人巨大精品欧美一区二区免费| 深夜福利国产精品| 欧美亚洲日本网站| 国产免费久久av| 91视频国产精品| 6080yy精品一区二区三区| 亚洲国产一区二区三区四区| 青青草原成人在线视频| 成人精品久久av网站| 亚洲精品黄网在线观看| 国产精品丝袜一区二区三区| 国产成人精品视频| 久久全国免费视频| 国产日韩欧美电影在线观看| 日韩精品高清视频| 综合久久五月天| 亚洲精品网站在线播放gif| 精品国产乱码久久久久久天美| 91成人在线观看国产| 97香蕉超级碰碰久久免费的优势| 26uuu国产精品视频| 国产91免费观看| 欧美午夜丰满在线18影院| 日本中文字幕不卡免费| 亚洲人成电影网站色www| 久久久久亚洲精品成人网小说| 欧美一级片在线播放| 中文综合在线观看| 97超级碰在线看视频免费在线看| 伊人青青综合网站| 欧美电影免费观看高清完整| 亚洲伊人久久大香线蕉av| 国产伊人精品在线| 精品日韩视频在线观看| 亚洲精品ady| 欧美激情视频一区二区| 中文字幕亚洲一区在线观看| 91亚洲精品一区| 5278欧美一区二区三区| 久久精品电影网站| 欧美精品videosex极品1| 九色91av视频| 亚洲精品国产精品久久清纯直播| 国产亚洲精品久久久久久777| 国产区亚洲区欧美区| 亚洲美女在线视频| 日韩精品日韩在线观看| 日韩成人在线视频网站| 欧美日韩精品在线观看| 亚洲一区二区三区四区在线播放| 国产精品久久久久av免费| 国产欧美久久一区二区| 亚洲黄页视频免费观看| 日韩av网站大全| 日本一区二三区好的精华液| 91成人福利在线| 日韩精品在线播放| 欧美激情亚洲精品| 国产精品一二三视频| 精品一区二区三区四区在线| 欧美激情精品久久久久久蜜臀| 欧美专区在线播放| 欧美国产亚洲精品久久久8v| 久久久久久久久久久免费精品| 欧美精品久久久久久久| 色哟哟网站入口亚洲精品| 亚洲图片在区色| 亚洲精品日韩欧美| 欧美成人免费网| 日韩av片免费在线观看| 欧美日韩中文字幕| 日韩国产高清污视频在线观看| 亚州精品天堂中文字幕| 一本大道香蕉久在线播放29| 久久香蕉频线观| 日韩中文字幕精品| 日韩欧美在线播放| 最新中文字幕亚洲| www.久久色.com| 日韩一区二区三区国产| 日韩av在线高清| 欧美在线观看网站| 91精品国产电影| 97久久精品人人澡人人爽缅北| 亚洲娇小xxxx欧美娇小| 精品视频一区在线视频|