摘要:如果你想要成為一名全棧工程師,那么就必須要學(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ù)管理工具
虛擬機上創(chuàng)建一個server.js:
vi server.js
拷貝代碼進去:
然后按下:wq! 保存
最后測試:
pm2 start server.js
如果看到如下狀態(tài),說明啟動成功。
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,不需要改為橋接。
正常情況下能鏈接成功
我用的是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
摘要:就鹿晗宣布戀情導(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 最主...
摘要:二來,給大家新開坑的項目一個參考。因此,本系列以主要以官方文檔為基礎(chǔ),將盡可能多的特性融入本項目,并標注官網(wǎng)原文出處,有興趣的小伙伴可點擊深入了解。可以通過一些特殊協(xié)議例如將消息作為統(tǒng)一消息服務(wù)導(dǎo)出。下載完成后自行修改和。 開坑前言 我給這個專欄的名氣取名叫做小項目,聽名字就知道,這個專題最終的目的是帶領(lǐng)大家完成一個項目。為什么要開這么大一個坑呢,一來,雖然網(wǎng)上講IT知識點的書籍鋪天蓋...
我們的人生 人就是賤! 進了體制,國企嫌太安逸,沒激情,一眼能看到二十年后的人生。 進了私企嫌壓力大,996太累,沒休閑時間。辭職了想做點小生意發(fā)現(xiàn)自己根本不是那料,去做一些底層工作嫌不體面,工資低,遂家里蹲。 我知道你想要什么,想要有個幾千萬上億,想要有名,有顏,有健碩的身體,有別墅帶游泳池,有豪車,有自家公司,平時旅旅游,有個清純漂亮的女朋友,一起有些放飛自我的激情生活,蹦極,爬山,去法國,去...
摘要:沒有耐心閱讀的同學(xué),可以直接前往學(xué)習(xí)全棧最后一公里。我下面會羅列一些,我自己錄制過的一些項目,或者其他的我覺得可以按照這個路線繼續(xù)深入學(xué)習(xí)的項目資源。 showImg(https://segmentfault.com/img/bVMlke?w=833&h=410); 本文技術(shù)軟文,閱讀需謹慎,長約 7000 字,通讀需 5 分鐘 大家好,我是 Scott,本文通過提供給大家學(xué)習(xí)的方法,...
閱讀 2683·2021-11-18 10:02
閱讀 3415·2021-09-28 09:35
閱讀 2594·2021-09-22 15:12
閱讀 753·2021-09-22 15:08
閱讀 3108·2021-09-07 09:58
閱讀 3475·2021-08-23 09:42
閱讀 735·2019-08-30 12:53
閱讀 2085·2019-08-29 13:51