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

資訊專欄INFORMATION COLUMN

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

OpenDigg / 1682人閱讀

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

前言

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

準備

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

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

2 本地win7裝上xshell

開始

當然,你搞Node.js,肯定虛擬機上要配置NodeJs環境
虛擬機搜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 關閉防火墻(因為后面我們要ssh連到這臺虛擬機,所以防火墻最好是關閉)

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服務管理工具

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

虛擬機上創建一個server.js:

vi server.js

拷貝代碼進去:

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

pm2 start server.js

如果看到如下狀態,說明啟動成功。

本地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 ubuntu@192.168.150.129
@前面是用戶名 @后面是IP。 用戶名必須正確,否則會提示服務器拒絕密碼。另外虛擬機的網絡配置是NAT,不需要改為橋接。
正常情況下能鏈接成功

創建一個私有倉庫

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

然后本地clone下來

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

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": "git@bitbucket.org: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 git@bitbucket.org

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

sudo chmod 777 www
sudo chmod 777 testproject

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

發布前配置

本地運行:

pm2 deploy ecosystem.json production setup

如果出現一下錯誤,重試一下就好了:

如果出現一下錯誤:

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

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

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

如果出現一下錯誤:

同理:

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
最后發布項目
pm2 deploy ecosystem.json production

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


恭喜你,你成功了!

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

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

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

相關文章

  • 網站部署

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

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

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

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

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

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

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

    Nosee 評論0 收藏0

發表評論

0條評論

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