1. 程式人生 > >[反向代理 + 負載均衡 + 線上部署 + PM2 + 快取策略]

[反向代理 + 負載均衡 + 線上部署 + PM2 + 快取策略]

準備工作

方向代理
負載均衡
nginx 負載均衡的實現
HTTP Uptream模組
其他負載均衡的方法

快取策略

實戰

首先安裝nginx

  • centos 可以用 yum神器
  • mac 環境使用 Homebrew神器 來安裝
    brow 來源
    brew search nginx
    brew install nginx
    brew info nginx
    nginx -v 有版本輸出;安裝成功
  • win10 安裝 nginx
    下載資源很多.這裡跳過,講下使用方法

    在nginx.exe目錄,開啟命令列工具,用命令 啟動/關閉/重啟nginx ; 或者配置環境變數
    start nginx : 啟動nginx
    nginx -s reload  :修改配置後重新載入生效
    nginx -s reopen  :重新開啟日誌檔案
    nginx -t -c /path/to/nginx.conf 測試nginx配置檔案是否正確
    nginx -s stop  :快速停止nginx
    nginx -s quit: 完整有序的停止nginx
    

nginx.conf 檔案 裡的模組介紹

//看一眼; 就可以了
#user  nobody;

# 工作程序 就是cpu 核數
worker_processes  1;

# nginx的日誌
# 出錯
#error_log  logs/error.log;
# 警告
#error_log  logs/error.log  notice;
# 基礎資訊
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


# 最大連結數
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    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 logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; # 壓縮 #gzip on;
server { # 埠 listen 80; # 路徑 server_name localhost; # 設定語言 #charset koi8-r; #access_log logs/host.access.log main; # 專案路徑; location / { root html; index index.html index.htm; } ....

配置我們自己的 nginx.conf

這裡我們配置我們自己的 nginx.conf 檔案負載均衡(但是原檔案建議是備份一個)

worker_processes  auto;
events {
    worker_connections  1024;
}
http {
    #配置一 預設 這兩個ip地址 權重一樣 都是1:1 的概率訪問到;
    #upstream firsttest {
        #server 47.104.64.78:3389;
        #server 47.104.64.79:3389;
    #}

    #配置二 ip_hash; 讓使用者落在第一個次訪問ip上
    #upstream firsttest {
        #ip_hash;
        #server 47.104.64.78:3389;
        #server 47.104.64.79:3389;
    #}
    #配置三 ip 新增weight; 使當前被訪問的 ip權重 為2:1
    upstream firsttest {
        server 47.104.64.78:3389 weight=2;
        server 47.104.64.79:3389;
    }

    server {
        listen 8088;
        location / {
            proxy_pass http://firsttest;
        }
   }
 }
nginx -t  執行檔案
nginx -s reload 重啟 nginx服務
本地開啟localhost:8080 nginx代理到了阿里伺服器地址 
這是我在阿里伺服器的nginx歡迎頁 ; 

這裡寫圖片描述

配置我們自己的 pm2.json ##

  • pm2 命令 啟動檔案可以是.js 或者是.json 等很多檔案型別.按著官方文件的格式寫就可以了;
    • pm2 start app.js 啟動
    • pm2 monit 監控
    • pm2 list 顯示服務狀態
    • pm2 stop app.js
    • pm2 restart app.js
    • pm2 delete app.js
PM2.json
{
    "name": "worker",
    //啟動檔案
    "script": "app.js",
    //監聽
    "watch": true,
    "log_data_format":"YYYY-MM-DD HH:mm Z",
    "out_file":"log/node-app.stdout.log",
    //讓node 佔滿cpu
    "instances" : "max",
    //讓我們node以主執行緒啟動
    "exec_mode" : "cluster" 
}

keymetrics平臺監控 https://app.keymetrics.io/#/ 註冊登陸上去就能連上自己的pm2 就能介面化 監控,檢視cpu情況
這裡寫圖片描述

把專案扔到伺服器上 ##

比如我們用 build.zip 檔案做測試

npm install –production 釋出模式下npm
ps aux | grep node 產看程式的程序
netstat -anp |grep 3300 檢視哪個埠被佔用
kill -9 pid 殺死程序
ssh 使用者名稱@地址 連線ssh
““mac環境: 檔案 /資料夾
scp course-map.json [email protected]地址:/路徑
scp - r advance/ [email protected]地址:/
unzip build.zip
“““在win環境下 直接使用winscp 傻瓜機;像ftp 一樣直接任程式碼;即可

  • 首先把專案需要的檔案. 壓個包;

快取策略 附加的

這裡寫圖片描述

 //nginx.conf 中http 模組裡面新增
    # 設定快取
    # Etag  不過沒有新增配置是預設開啟的
    Etag off;
    # gzip開啟壓縮
    gzio on;
    # 過期時間
    expires 30d;
    #設定 告訴瀏覽器別去快取它
    add_header Cache-Control no-cache;


這裡寫圖片描述

這裡寫圖片描述

詳細到

相關推薦

[反向代理 + 負載均衡 + 線上部署 + PM2 + 快取策略]

準備工作 方向代理 負載均衡 nginx 負載均衡的實現 HTTP Uptream模組 其他負載均衡的方法 快取策略 實戰 首先安裝nginx centos 可以用 yum

Nginx + Tomcat 反向代理 負載均衡 叢集 部署指南

Nginx是一種伺服器軟體,也是一種高效能的http和反向代理伺服器,同時還是一個代理郵件伺服器。也就是說,我們在Nginx上可以釋出網站,可以實現負載均衡(提高應答效率,避免伺服器崩潰),還可以作為郵件伺服器實現收發郵件等功能。而最常見的就是使用Nginx實現負載均衡。

編譯安裝nginx並實現反向代理負載均衡快取功能

一、編譯安裝nginx 1、下載 [[email protected] ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2、解壓 [[email protected] ~]#&

Nginx反向代理負載均衡的容器化部署

首先,在home目錄建立microservices目錄,開啟第一篇章。 cd ~ && mkdir microservices && cd microservices 建立nginx目錄,在目錄下分別建立三個節點目錄:nginx01、nginx02、nginx03,目的是使ng

nginx反向代理+負載均衡

-- lib 安裝環境 vim dev usr 代理服務 png 安裝nginx 關閉防火墻 檢查zlib-devel pcre-devel是否安裝 源碼編譯安裝Nginx ./configure --prefix=/usr/local/nginx make &&a

nginx反向代理負載均衡

nginx 負載均衡1.反向代理概述反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。環境準備:主機名IP地址角色系統

nginx正向代理反向代理負載均衡

索引 三方 send nec nginx 服務端 nbsp 公網 服務器配置 1.1 Nginx簡介 Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor S

nginx實現反向代理負載均衡

反向代理負載均衡 Nginx實現反向代理 nginx代理基於是ngx_http_proxy_module模塊的功能,該模塊有很多屬性配置選項,如: proxy_pass:指定將請求代理至server的URL路徑; proxy_set_header:將發送至 server的報文的某首部進行重寫

項目實戰2.2—nginx 反向代理負載均衡、動靜分離和緩存的實現

需求分析 配置 反向代理 cells color 一個數 cal 數據庫 data 實驗一:實現反向代理負載均衡且動靜分離 1、環境準備: 機器名稱 IP配置 服務角色 備註 nginx

項目實戰02:nginx 反向代理負載均衡、動靜分離和緩存的實現

pro 9.png 二次 數據 服務器 默認 html 數據庫 空間 目錄 實驗一:實現反向代理負載均衡且動靜分離 1、環境準備: 2、下載編譯安裝tengine 3、設置代理服務器的配置文件 4、啟動tengine服務 5、開啟後端的web服務

nginx反向代理負載均衡(輪詢權重IPHash)

-s 圖片服務器 後臺管理 session AI 需要 new 守護進程 weight 1 Nginx反向代理 1.1 實現圖片回顯 1.1.1 反向代理 說明:當用戶發出image.jt.com/2018/1.jpg時,首先將請求發往Nginx.經過Nginx內部

Centos7.4 Nginx反向代理+負載均衡配置

cti war RM image rom 使用 CA 二級域名 orm Ningx是一款高性能的HTTP和反向代理服務器,配置起來也比較簡單。 測試環境:   172.16.65.190  Nginx-反向代理   172.16.65.191  Ningx-Web   17

Nginx 反向代理 負載均衡 虛擬主機配置

配置文件 ctu 命令 均衡 執行命令 特殊 second ip add cnblogs 通過本章你將學會利用Nginx配置多臺虛擬主機,清楚代理服務器的作用,區分正向代理和反向代理的區別,搭建使用Nginx反向搭理和負載均衡,了解Nginx常用配置的說明。即學即用,你還在

nginx反向代理負載均衡功能

web服務 htm load lb01 .html nta wget ets 配置 客戶端====代理服務器===web服務器 反向代理功能架構 3臺web服務器,組建出web服務器集群 web01 10.0.0.7 172.16.1.7 web02 10.0.0.

反向代理負載均衡模塊詳述

type 負載 images ade ges color 分享圖片 常用功能 分享 1、ngx_http_upstream_module常用功能 2、proxy_set_header常用功能反向代理負載均衡模塊詳述

nginx反向代理負載均衡企業案例

ica 說明 static 服務器配置 隱身 nginx網站 nginx anti gen 作業題一說明:先進行企業案例需求梳理:當用戶請求www.etiantian.org/upload/xx 地址時,實現由upload上傳服務器池處理請求。當用戶請求www.etian

Nginx實現反向代理負載均衡功能

運維 出現 正常 技術分享 remote eas ups 單個 搭建 反向代理軟件Nginx:本身支持反向代理、負載均衡功能,屬於L7層負載均衡。Nginx反向代理簡單易用,受到大部分中小企業的青睞。LVS:支持L4層負載均衡,haproxy:支持L4、L7層負載均衡L4、

Nginx服務器的安裝與反向代理負載均衡

1.2 正常 單位 搜索 用戶訪問 開啟 優點 不同的 並發連接 Nginx服務器 一:什麽是Nginx? 我們生活的世界中,有的時候需要上網。我們可以瀏覽很多很多的網頁,這些網頁都是由一系列的程序組成,但是我們是否想過,這些程序存儲在什麽地方呢?沒錯,這些程序都是存儲在一

nginx反向代理負載均衡簡述

添加 後端服務 fig index 後端 www ado 方便 process 基於瀏覽器實現分離案例if ($http_user_agent ~ Firefox) {rewrite ^(.)$ /firefox/$1 break;}if ($http_user_agent

nginx2-nginx實現反向代理-負載均衡|宕機處理

叢集會產生哪些問題 分散式job冪等性問題(重複),例如任務排程 會話session共享問題 分散式生成全域性id(提前生成好,存在redis) 反向代理 不暴露真實ip地址 先配置反向代理,再配置負載均衡(叢集) www.fangwen.com已