成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

全棧工程師之路——服務(wù)器端自動部署

OpenDigg / 1688人閱讀

摘要:如果你想要成為一名全棧工程師,那么就必須要學(xué)會,學(xué)會線上服務(wù)器部署和發(fā)布。準備為了避免個人花錢買云服務(wù)器。用戶名必須正確,否則會提示服務(wù)器拒絕密碼。還有一個這個是自動部署需要的,目錄結(jié)構(gòu)如下這文件的配置很重要。

前言

作為一名前端工程師,不僅要能寫前端頁面,還要懂前端工程,各種庫,各種框架,各種衍生語言,信手捏來。
如果你想要成為一名全棧工程師,那么就必須要學(xué)會Node.js,學(xué)會線上服務(wù)器部署和發(fā)布。

準備

為了避免個人花錢買云服務(wù)器。我試驗的方式是本地Vmware虛擬機(裝ubuntu 16.04)和本地windows平臺(win7)。

1 Vmware虛擬機裝上ubuntu(教程網(wǎng)上找)
裝好以后,調(diào)整下窗口:

2 本地win7裝上xshell

開始

當然,你搞Node.js,肯定虛擬機上要配置NodeJs環(huán)境
虛擬機搜Terminal,打開命令行,依次輸入一下命令。
1 升級一下包

sudo apt-get update 

2 安裝一些必備工具

sudo apt-get install git vim openssl openssh-server  build-essential libssh-dev wget curl 

openssh-server是我們通過ssh連接用到。
curl是一個Linux下的傳輸工具
git是安裝我們的Node.js源碼需要的版本工具

3 安裝nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

4 安裝nodejs

nvm install v8.1.2
nvm use v8.1.2

5 關(guān)閉防火墻(因為后面我們要ssh連到這臺虛擬機,所以防火墻最好是關(guān)閉)

sudo ufw stop

6 安裝yarn vue-cli pm2

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
npm install vue-cli pm2 -g

yarn是一個包管理工具,相當于npm
vue-cli是一個Vue的命令行工具
pm2是Node服務(wù)管理工具

測試虛擬機上Node是否安裝好

虛擬機上創(chuàng)建一個server.js:

vi server.js

拷貝代碼進去:

然后按下:wq! 保存
最后測試:

pm2 start server.js

如果看到如下狀態(tài),說明啟動成功。

本地windows(win7)連接到虛擬機

1 修改sshd_config(保證能通過密碼登錄)

vim /etc/ssh/sshd_config

找到:
Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes

修改成:

Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

2 虛擬機啟動ssh

sudo service ssh start

3 查看ip(記住你的IP)

ifconfig

4 打開xshell
輸入ssh [email protected]
@前面是用戶名 @后面是IP。 用戶名必須正確,否則會提示服務(wù)器拒絕密碼。另外虛擬機的網(wǎng)絡(luò)配置是NAT,不需要改為橋接。
正常情況下能鏈接成功

創(chuàng)建一個私有倉庫

我用的是bitbuket,自己先到上面常見一個push2Server的倉庫。

然后本地clone下來

目錄下創(chuàng)建一個server.js,代碼和上面的一樣。還有一個ecosystem.json(這個是pm2自動部署需要的),目錄結(jié)構(gòu)如下:

ecosystem.json這文件的配置很重要。

{
  "apps": [
    {
      "name": "Test",
      "script": "server.js",
      "env": {
        "COMMON_VARIABLE": "true"
      },
      "env_production": {
        "NODE_ENV": "production"
      }
    }
  ],
  "deploy": {
    "production": {
      "user": "ubuntu", //注意點1: user必須是你ubuntu的名字
      "host": "192.168.150.129", //注意點2: ip保證正確
      "port": "22", //端口保證正確
      "ref": "origin/master",
      "repo": "[email protected]:YellMan/push2server.git", //注意點3 必須用git@..開頭 不要 用https開頭的
      "path": "/home/ubuntu/www/testproject/production",//注意點4 目錄最好是絕對路徑
      "ssh_options": "StrictHostKeyChecking=no",
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

直接看注意點3: 因為虛擬機上要clone倉庫代碼,所以虛擬機上需要配置一下,git倉庫的key.

到bitbuket上面的倉庫,添加一個key。

key怎么生成看教程:https://confluence.atlassian....

$ ssh-keygen 
$ cat ~/.ssh/id_rsa.pub
$ pbcopy < ~/.ssh/id_rsa.pub

最后一步很重要:到虛擬機上運行:

ssh -T [email protected]

注意點4:因為pm2要在虛擬機上創(chuàng)建這個路徑:/home/ubuntu/www/testproject/production。所以要保證testproject和www路徑必須有權(quán)限。/home/ubuntu是我的根路徑,然后創(chuàng)建www目錄,目錄下再創(chuàng)建testproject.
虛擬機上給一下權(quán)限:

sudo chmod 777 www
sudo chmod 777 testproject

最后,提交代碼到遠程倉庫。

發(fā)布前配置

本地運行:

pm2 deploy ecosystem.json production setup

如果出現(xiàn)一下錯誤,重試一下就好了:

如果出現(xiàn)一下錯誤:

在服務(wù)端配置一下ssh key到的私有倉庫(看注意點3)
如果出現(xiàn)以下錯誤:

這是因為pm2是全局安裝的,路徑不是在默認路徑下面。所以需要用ls命令link一下.
在虛擬機運行如下命令:

whereis pm2
pm2: /opt/nodejs/bin/pm2
sudo ln -s /opt/nodejs/bin/pm2 /usr/bin/pm2

如果出現(xiàn)一下錯誤:

同理:

ubuntu@ubuntu:~$ whereis node
node: /usr/bin/node /home/ubuntu/.nvm/versions/node/v8.1.2/bin/node
sudo ln -s /home/ubuntu/.nvm/versions/node/v8.1.2/bin/node /usr/bin/node
最后發(fā)布項目
pm2 deploy ecosystem.json production

虛擬上看一下是否自動部署成功:


恭喜你,你成功了!

以上就是今天分享的內(nèi)容,謝謝閱讀,歡迎留言交流。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93782.html

相關(guān)文章

  • 網(wǎng)站部署

    摘要:就鹿晗宣布戀情導(dǎo)致微博宕機事件淺談大型網(wǎng)站高可用性架構(gòu)中午吃飯刷著刷著微博發(fā)現(xiàn)微博突然掛了。用戶在使用瀏覽器訪問一個網(wǎng)站時需要先通過協(xié)議向服務(wù)器發(fā)送請求,之后服務(wù)器返回文件與響應(yīng)信息。 webpack:從入門到真實項目配置 自從出現(xiàn)模塊化以后,大家可以將原本一坨代碼分離到個個模塊中,但是由此引發(fā)了一個問題。每個 JS 文件都需要從服務(wù)器去拿,由此會導(dǎo)致加載速度變慢。Webpack 最主...

    endless_road 評論0 收藏0
  • 【小項目】全棧開發(fā)培訓(xùn)手冊 | 后(1) vert.x框架理解

    摘要:二來,給大家新開坑的項目一個參考。因此,本系列以主要以官方文檔為基礎(chǔ),將盡可能多的特性融入本項目,并標注官網(wǎng)原文出處,有興趣的小伙伴可點擊深入了解。可以通過一些特殊協(xié)議例如將消息作為統(tǒng)一消息服務(wù)導(dǎo)出。下載完成后自行修改和。 開坑前言 我給這個專欄的名氣取名叫做小項目,聽名字就知道,這個專題最終的目的是帶領(lǐng)大家完成一個項目。為什么要開這么大一個坑呢,一來,雖然網(wǎng)上講IT知識點的書籍鋪天蓋...

    hightopo 評論0 收藏0
  • ??程序員國企太安逸想辭職,又嫌私企大廠壓力大996我該如何選擇?(高級全棧自動之路

    我們的人生 人就是賤! 進了體制,國企嫌太安逸,沒激情,一眼能看到二十年后的人生。 進了私企嫌壓力大,996太累,沒休閑時間。辭職了想做點小生意發(fā)現(xiàn)自己根本不是那料,去做一些底層工作嫌不體面,工資低,遂家里蹲。 我知道你想要什么,想要有個幾千萬上億,想要有名,有顏,有健碩的身體,有別墅帶游泳池,有豪車,有自家公司,平時旅旅游,有個清純漂亮的女朋友,一起有些放飛自我的激情生活,蹦極,爬山,去法國,去...

    missonce 評論0 收藏0
  • 全棧最后一公里 - Node.js 項目的線上務(wù)器部署與發(fā)布

    摘要:沒有耐心閱讀的同學(xué),可以直接前往學(xué)習(xí)全棧最后一公里。我下面會羅列一些,我自己錄制過的一些項目,或者其他的我覺得可以按照這個路線繼續(xù)深入學(xué)習(xí)的項目資源。 showImg(https://segmentfault.com/img/bVMlke?w=833&h=410); 本文技術(shù)軟文,閱讀需謹慎,長約 7000 字,通讀需 5 分鐘 大家好,我是 Scott,本文通過提供給大家學(xué)習(xí)的方法,...

    Nosee 評論0 收藏0

發(fā)表評論

0條評論

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