国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

NodeJS項目遷移兼Ubuntu下NodeJS環境部署

jlanglang / 3067人閱讀

摘要:前言之前做的幾個項目都托管在阿里云服務器,但是最近要到期了。環境部署折騰了一天,其中也遇到幾個坑。項目遷移歷時一天,兩臺服務器的系統都是位。

前言

之前做的幾個項目都托管在阿里云服務器,但是最近要到期了。想著到底要不要續期,畢竟100/月。后面看著阿里云有個活動,800/三年。果斷買下。環境部署折騰了一天,其中也遇到幾個坑。

目錄
一、安裝環境
  1.1 安裝NodeJS環境
  1.2 安裝版本控制軟件Git
  1.3 安裝MongoDB數據庫
  1.4 安裝Nginx

二、導入數據

三、安裝項目

四、部署項目
  4.1 Nginx配置
  4.2 啟用HTTPS
  4.3 使用PM2部署項目
  4.4 開啟阿里云外網訪問

五、踩坑記錄
  5.1 數據庫導入失敗
  5.2 PM2部署失敗
一、安裝環境

為了保證項目運行不出問題,在新服務器安裝和原服務器一致的環境。項目遷移歷時一天,兩臺服務器的系統都是Ubuntu 16.04 64位。

1.1 安裝NodeJS環境

自帶的NodeJS版本是4.2.6,版本有點低,使用npm的n模塊更新到最新版。

安裝NPM

sudo apt-get install npm

使用淘寶源

阿里云訪問npm的速度非常慢,這里通過設置,讓NPM從淘寶鏡像更新模塊

npm set registry https://registry.npm.taobao.org  // 設置從淘寶鏡像更新
npm set disturl https://npm.taobao.org/dist
npm cache clean  // 清除緩存

更新NodeJS

npm install n  // 更新NodeJS的模塊
n stable  // 更新到最新穩定版
node -v  // v8.2.1
1.2 安裝版本控制軟件Git
sudo apt-get install git
1.3 安裝MongoDB數據庫
sudo apt-get install mongodb  // 安裝MongoDB
service mongodb start  // 啟動服務
mongod  // 進入交互式控制臺,能加入說明啟動成功,ctrl+c退出
1.4 安裝Nginx
sudo apt-get install nginx  // 安裝Nginx
二、導入數據

把以前的數據庫完整的遷移過來

從源服務器導出數據庫

mongodump -h localhost --port 27017 -d test -o database_dump

導入MongoDB數據庫

mongorestore -d test database_dump/test
三、安裝項目

項目是在Github開源,直接拉取就行。

git clone https://github.com/bergwhite/nchat.git  // 克隆項目
cd nchat  // 進入目錄
npm install 安裝模塊
npm run build
四、部署項目 4.1 Nginx配置
vim /etc/nginx/nginx.conf  // 編輯Nginx的配置

http {

        server {

            listen 80;
            server_name hostName;
            rewrite ^(.*) https://$server_name$1 permanent;
        }

        server {

            listen    443 ssl;
            server_name hostName;
            ssl on;
            # SSL證書會插入到這里

            # 完整根目錄
            location / {

                root   /*/*/*;
                index  index.html;

            }

            # 反向代理V2EX API到本地,解決跨域問題
            location /api/ {

                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass https://www.v2ex.com/api/;

            }

        }
...
4.2 啟用HTTPS
sudo apt-get update  // 更新軟件源
sudo apt-get install software-properties-common  // 安裝
sudo add-apt-repository ppa:certbot/certbot  // 添加倉庫
sudo apt-get update  // 更新軟件源
sudo apt-get install python-certbot-nginx // 安裝

sudo certbot --nginx  // 生成證書(自動添加到Nginx)
sudo certbot --nginx certonly  // 生成證書(手動添加到Nginx)

4.3 使用PM2部署項目
sudo apt-get install pm2  // 安裝pm2
4.4 開啟阿里云外網訪問

在安全組里添加需要放行的NodeJS項目端口即可。

五、踩坑記錄 5.1 數據庫導入失敗

導入數據庫的時候,有一個Collection沒有導入成功

Assertion failure amt == (size_t)( size - 4 ) src/mongo/tools/tool.cpp 330

解決方案

把報錯的Collection多帶帶導出,然后重新導入到新服務器的數據庫
5.2 PM2部署失敗

運行下面的代碼會失敗

pm2 start -i 0 --name test ./bin/www

解決方案

使用fork模式啟動

pm2 start --name nchat3 ./bin/www
參考連接

讓NPM從淘寶鏡像更新模塊

MongoDB備份和恢復

Ubuntu下的Nginx配置HTTPS

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19064.html

相關文章

  • NodeJS項目遷移UbuntuNodeJS環境部署

    摘要:前言之前做的幾個項目都托管在阿里云服務器,但是最近要到期了。環境部署折騰了一天,其中也遇到幾個坑。項目遷移歷時一天,兩臺服務器的系統都是位。 前言 之前做的幾個項目都托管在阿里云服務器,但是最近要到期了。想著到底要不要續期,畢竟100/月。后面看著阿里云有個活動,800/三年。果斷買下。環境部署折騰了一天,其中也遇到幾個坑。 目錄 一、安裝環境 1.1 安裝NodeJS環境 ...

    source 評論0 收藏0
  • nodejs服務器部署教程一

    摘要:第一篇教程緊緊讓你輸出一個環境介紹服務器環境位本地環境位連接工具安裝和基本配置我的是在阿里云買的,購買的時候鏡像選擇,現在在搞活動比較便宜,我買的香港地區的不用備案,購買后本地打開,點擊,輸入確定,輸入,然后輸入密碼,會看到下面的界面連接遠 第一篇教程緊緊讓你輸出一個hello world 環境介紹 服務器環境:ubuntu(16.04)64位本地環境:windows10 64位連接工...

    Hegel_Gu 評論0 收藏0
  • 公司項目NODEJS實踐0.1[ ubuntu,nodejs,nginx...]

    摘要:創建成功后進入文件夾執行執行作用創建文件,維護項目的依賴文件解釋創建文件執行作用用系統的編輯器打開文件。我的技術新群上一篇前后端分離項目實踐分析下一篇公司項目實踐 一、前言 前端如何獨立用nodeJs實現一個簡單的注冊、登錄功能,是不是只用nodejs+sql就可以了?其實是可以實現,但離實際應用還有距離,那要怎么做才是實際可用的。 網上有很多nodeJs的示例,包括和 sql /...

    cppprimer 評論0 收藏0

發表評論

0條評論

jlanglang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<