Nuxt SSR 阿里雲部署之nginx代理--詳解篇

彈指壹揮間發表於2017-09-17
前言:由於很多小夥伴私信我,關於阿里雲部署NUXT 應用的問題,在這裡具體詳細的介紹一下

我的伺服器版本是CentOS7

所需工具: Xftp5   Xshell5(有遠端倉庫的就不需要Xftp5 直接推到你的伺服器)
步驟: 1 安裝配置 nvm(node)2 mysql  3  配置 nginx(Tengine)4 pm2 啟動

一.  安裝配置nvm 安裝node: 點選地址

二.  安裝mysql點選地址

     安裝完畢 設定密碼  source mysql.sql  匯入你的sql檔案

三.  配置nginx

    1、 下載tengine包,將tengine-2.2.0.tar.gz下載到 /usr/soft目錄中。

    2、 解壓tengine包到 /usr/src中:

        cd /usr/src
        cp /usr/soft/tengine-2.2.0.tar.gz ./
        tar -zxvf tengine-2.2.0.tar.gz
        rm -rf tengine-2.2.0.tar.gz

    3、 安裝必須元件

         yum -y install gcc gcc-c++
      PCRE:
         cd /usr/src
         tar zxvf pcre-8.39.tar.gz
        ./configure --prefix=/usr/local/pcre-8.39
        make && make install
     OpenSSL:
        cd /usr/src
       tar zxvf openssl-1.0.2.tar.gz
       ./config --prefix=/usr/local/openssl-1.0.2
       make && make install
    Zlib:
       cd /usr/src
       tar zxvf zlib-1.2.11.tar.gz
      ./configure --prefix=/usr/local/zlib-1.2.11
       make && make install

  4、 設定軟連結和開機啟動服務

      ln -s /etc/init.d/nginx /usr/bin/nginx
     chmod 755 nginx
     chkconfig --add nginx
     chkconfig nginx on  

   5、 nginx 配置檔案

    worker_processes 1;
    error_log logs/error.log;
    error_log logs/error.log notice;
    error_log logs/error.log info;
    pid logs/nginx.pid;
    events {
       use epoll;
       worker_connections 1024;
     }
    http {
       include mime.types;
       default_type application/octet-stream;
      sendfile on;
      keepalive_timeout 65;
     #gzip on;
     include /usr/local/nginx/conf/conf_site/*.conf; // 單獨 include conf檔案
   }


  6、 include的conf配置 

    server{
       listen 80;
       location / {
         deny all;
        }
    }
   upstream maven_domain_com {
       server localhost:8000; // 自己的伺服器ip
    }
   server{
        listen 80;  // 監聽80埠
        server_name maven.domains.com; // 自己的二級域名
        location / {
           proxy_pass http://maven_domains_com/nexus/;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       } 
       location /nexus/ {
           proxy_pass http://maven_domain_com/nexus/;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
    }

7. 啟動nginx

   cd /usr/local/nginx/  

   ./nginx

四. 整理程式碼放到伺服器

開啟Xftp  左上角 新建 會話

 Nuxt SSR 阿里雲部署之nginx代理--詳解篇

然後開啟

Nuxt SSR 阿里雲部署之nginx代理--詳解篇

選擇剛才新建的

Nuxt SSR 阿里雲部署之nginx代理--詳解篇

連線成功 之後 進入伺服器的 root 賬戶的 根目錄 (下圖)

Nuxt SSR 阿里雲部署之nginx代理--詳解篇

五 啟動專案

把你的專案直接拖拽到你想放置的目錄,

切換到專案

npm install 安裝包的依賴 (可能會出各種包相容問題)

如果出現包相容問題,把package.json 檔案的包的版本前 的^去掉

然後刪除 rm -f -r  ./node_modules

清除 包快取  npm  clear  cache

然後安裝yarn  npm install  yarn -g

重新用yarn 安裝一次

 yarn install

安裝pm2

yarn add pm2

先執行 npm run dev

然後執行 pm2 start bulid/main.js

執行 pm2 list # 顯示所有程式狀態

顯示online  就表示已經啟動

如果訪問不通 可以檢視下 pm2 logs 

Nuxt SSR 阿里雲部署之nginx代理--詳解篇


也可以執行 pm2 monit # 監視所有程式


現在 輸入你的域名進行訪問把~~~~


成功部署~~~ 

已經部署成功的開源專案 點選連線



另外推薦一個 node專案 壓力測試模組:autocannon

demo




相關文章