跟你在本地開(kāi)發(fā)是相同的。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、成都小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了阜陽(yáng)免費(fèi)建站歡迎大家使用!
1、安裝指定版悔蠢本的node.js(服務(wù)器基本軟件的安裝)
2、上傳代碼到服遲前兆務(wù)器(可以通過(guò)ftp、ssh、git等方式)
3、安裝項(xiàng)目依賴(lài)的模塊
npm?install
4、啟動(dòng)應(yīng)用(也可以通過(guò)forever、pm2等工具進(jìn)行管理)
node?./www/bin
當(dāng)然,如果你深諳運(yùn)維之道,可以直接通過(guò)docker等方案將運(yùn)行環(huán)境容容器化。
基本的Linux運(yùn)維知識(shí)的話可以參考linuxprobe點(diǎn)抗 。
還有幾個(gè)需要注意的點(diǎn):
1、運(yùn)行權(quán)限:注意做好應(yīng)用之間的隔離(使用低權(quán)限用戶(hù)、文件系統(tǒng)隔離等),避免應(yīng)用崩潰導(dǎo)致系統(tǒng)宕機(jī)等風(fēng)碼租險(xiǎn)
2、80端口:通過(guò)nginx等進(jìn)行反向代理,應(yīng)用本身占用1024后的端口(無(wú)需root權(quán)限)
先搞明白Hexo博客從搭建到自動(dòng)發(fā)布的架構(gòu),才能更好的理解我們每一步進(jìn)行的操作。
不然只跟著步驟過(guò)了一遍,卻不知道為什么這么做。
首先看這張架構(gòu)圖:
臘茄
整個(gè)流程就是本地將 *.md 渲染成靜態(tài)文件,然后Git推送到服務(wù)器的 repository ,服務(wù)器再通過(guò) git-hooks 同步網(wǎng)站根目錄。
前提條件: 騰訊云服務(wù)器
第一部分 : 服務(wù)器環(huán)境搭建,包括安裝 Git 、 Nginx 配置 、創(chuàng)建 git 用戶(hù) 。
第二部分 : 本地 Hexo 初始化, 包括安裝 NodeJS 、 hexo-cli , 生成本地靜態(tài)網(wǎng)站
第三部分 : 使用Git自動(dòng)化部署發(fā)布博客
NodeJS 安裝可以參考: Linux安裝NodeJS
找到以下內(nèi)容
在下面添加一行
保存退出后改回權(quán)限
隨后設(shè)置Git用戶(hù)的密碼,
切換至git用戶(hù)腔局野,創(chuàng)建 ~/.ssh 文件夾和 ~/.ssh/authorized_keys 文件,并賦予相應(yīng)的權(quán)限
然后就可以執(zhí)行ssh 命令測(cè)試是否可以免密登錄
至此,Git用戶(hù)添加完成
我是用的是lnmp 一鍵安裝包,nginx安裝教程一大堆,就不再敘述。主要看nginx配置。
找到nginx的配伍喊置文件,修改配置如下:
首先要安裝 hexo-cli ,安裝 hexo-cli 需要 root 權(quán)限,使用 sudo 運(yùn)行
然后初始化Hexo程序
等執(zhí)行成功以后安裝兩個(gè)插件, hexo-deployer-git 和 hexo-server ,這倆插件的作用分別是使用Git自動(dòng)部署,和本地簡(jiǎn)單的服務(wù)器。
hexo-deployer-git幫助文檔
hexo-server幫助文檔
使用 hexo new 文章名稱(chēng) 來(lái)新建文章,該命令會(huì)成成一個(gè) .md 文件放置在 sources/_posts 文件夾。
編輯完畢以后, 使用 hexo g 將 .md 文件渲染成靜態(tài)文件,然后啟動(dòng) hexo-server :
現(xiàn)在便可以打開(kāi)瀏覽器訪問(wèn) 來(lái)查看我們的博客了!
創(chuàng)建一個(gè)裸倉(cāng)庫(kù),裸倉(cāng)庫(kù)就是只保存 git 信息的 Repository , 首先切換到 git 用戶(hù)確保 git 用戶(hù)擁有倉(cāng)庫(kù)所有權(quán)
一定要加 --bare ,這樣才是一個(gè)裸庫(kù)。
在這里我們使用的是 post-receive 這個(gè)鉤子,當(dāng)git有收發(fā)的時(shí)候就會(huì)調(diào)用這個(gè)鉤子。 在 ~/blog.git 裸庫(kù)的 hooks 文件夾中,
新建 post-receive 文件。
保存后,要賦予這個(gè)文件可執(zhí)行權(quán)限
然后打開(kāi) _config.yml , 找到 deploy
保存后,嘗試將我們剛才寫(xiě)的"hello hexo"部署到服務(wù)器
訪問(wèn)服務(wù)器地址,就可以看到我們寫(xiě)的文章"Hello hexo",以后寫(xiě)文章只需要:
博客就更新咯!~
使用 Git Hook 自動(dòng)部署 Hexo 到個(gè)人 VPS
Hexo 文檔
騰訊云linux伺服器安裝什么面板 看使用的centos版本
國(guó)內(nèi)比較簡(jiǎn)單wdcp
網(wǎng)路上還有很多一件安裝包比如:lamp ltmp
如何騰訊云linux伺服器安裝wdcp面板教程
wget :dl.wdlinux.:5180/lanmp_laster.tar.gztar zxvf lanmp_laster.tar.gzsh install.sh ssh登入后直接使用上述程式碼安裝
怎么安裝騰訊云linux伺服器
為確保安全防護(hù)服務(wù)正常運(yùn)轉(zhuǎn),安全加固元件的安裝在購(gòu)買(mǎi)服務(wù)預(yù)設(shè)為選擇狀態(tài),通過(guò)母盤(pán)映象直接安裝,無(wú)需使用者操作。若使用者在購(gòu)買(mǎi)云伺服器時(shí)未選擇安裝安全加固元件,請(qǐng)先下載元件,然后進(jìn)行安裝,步驟如下:
Linux系統(tǒng)
第一步:登入云主機(jī),下載安裝包到云主機(jī)伺服器。
如果您是Linux 64位映象的使用者,請(qǐng)使用如下命令下載嘩氏安裝包。
wget mirrors.tencentyun./install/sec/agent-X64.zip
第二步:解壓安裝包
第三步:執(zhí)行安裝指令碼:install.sh
返回如下結(jié)果則說(shuō)明安全元件安裝成功
[RESULT] sec-agent installed OK.
sec-agent-1.png
返回如下結(jié)果則說(shuō)明安全元件安裝失敗,請(qǐng)聯(lián)絡(luò)客服進(jìn)行技術(shù)支援。
[RESULT] sec-agent install NOT OK.
騰訊云linux伺服器怎么登陸
在本地電腦上面安裝xshell或者putty,用這個(gè)軟體遠(yuǎn)端連線linux伺服器。想要了解更多關(guān)于Linux的資訊和文章請(qǐng)關(guān)注《linux就該這么培旁學(xué)》。
騰訊云 linux伺服器 怎樣登入
我就用的騰訊云伺服器,購(gòu)買(mǎi)以后,登陸騰訊云,在控制臺(tái)里面,點(diǎn)開(kāi)機(jī),等開(kāi)機(jī)后,就可以遠(yuǎn)端管理了,還可以重置密碼等操作,有其他問(wèn)題可以發(fā)私信給我哦~~~
騰訊云linux伺服器能搭nodejs應(yīng)用嗎
由于不做php相關(guān)的東西,懶得裝apache,干脆利用nodejs搭建一個(gè)本地的伺服器用于測(cè)試。
nodejs這玩意兒吧,對(duì)做前端的介入后端簡(jiǎn)直就是一把利器。而且目前,nodejs也越來(lái)越有商用價(jià)值。
nodejs其實(shí)是非常底層的,從功能上說(shuō),它既是apache也是php。像搭建伺服器這種功能,本來(lái)是apache已經(jīng)封裝好的,但nodejs需要我們手動(dòng)來(lái)搭建。其實(shí)在實(shí)際應(yīng)用中,我們可以使用現(xiàn)成的框架。但這里,我想手動(dòng)搭建,也加深一下對(duì)伺服器的理解。
Node.Js入門(mén)[PDF+相關(guān)程式碼] :linuxidc./Linux/2013-06/85462.htm
Node.js入門(mén)開(kāi)發(fā)指南中文版 :linuxidc./Linux/2012-11/73363.htm
Node.js安裝與配置 :linuxidc./Linux/2013-05/配蘆橡84836.htm
Ubuntu 編譯安裝Node.js :linuxidc./Linux/2013-10/91321.htm
我們node執(zhí)行下面這個(gè)檔案,我命名為.js,它將建立一個(gè)Server并監(jiān)聽(tīng)3000埠。
var PORT = 3000;
var = require('');
var url=require('url');
var fs=require('fs');
var mine=require('./mine').types;
var path=require('path');
var server = .createServer(function (request, response) {
var pathname = url.parse(request.url).pathname;
var realPath = path.join("assets", pathname);
console.log(realPath);
var ext = path.extname(realPath);
ext = ext ? ext.slice(1) : 'unknown';
fs.exists(realPath, function (exists) {
if (!exists) {
response.writeHead(404, {
'Content-Type': 'text/plain'
});
response.write("This request URL " + pathname + " was not found on this server.");
response.end();
} else {
fs.readFile(realPath, "binary", function (err, file) {
if (err) {
response.writeHead(500, {
'Content-Type': 'text/plain'
});
response.end(err);
} else {
var contentType = mine[ext] || "text/plain";
response.writeHead(200, {
'Content-Type': contentType
});
response.write(file, "binary");
response.end();
}
});
}
});
});
server.listen(PORT);
console.log("Server runing at port: " + PORT + ".");
上面我們還引入了一個(gè)mine.js,這是我自己寫(xiě)的,里面儲(chǔ)存的是名值對(duì),用于定義不同字尾的檔案所對(duì)應(yīng)的返回方式:
exports.types = {
"css": "text/css",
"gif": "image/gif",
"": "text/",
"ico": "image/x-icon",
"jpeg": "image/jpeg",
"jpg": "image/jpeg",
"js": "text/javascript",
"json": "application/json",
"pdf": "application/pdf",
"png": "image/png",
"svg": "image/svg+xml",
"swf": "application/x-shockwave-flash",
"tiff": "image/tiff",
"txt": "text/plain",
"wav": "audio/x-wav",
"wma": "audio/x-ms-wma",
"wmv": "video/x-ms-wmv",
"xml": "text/xml"
};
fs模組是用于讀取檔案的,提供讀取檔案的方法,其實(shí)仔細(xì)研究文件會(huì)發(fā)現(xiàn),它有同步和非同步兩種讀取方式。fs.exists這個(gè)方法網(wǎng)上很多文章寫(xiě)作path.exists,,現(xiàn)在推薦寫(xiě)作fs.exists這個(gè)方法。否則會(huì)報(bào)警:
需要注意的是,不僅瀏覽器訪問(wèn)檔案會(huì)形成一次訪問(wèn),里面連結(jié)的js,css等外部檔案也會(huì)分別形成一次訪問(wèn)。所以,.createServer的回?fù)芷鋵?shí)是在一次頁(yè)面訪問(wèn)中執(zhí)行了多次的。我們console.log(realPath)一下就可以看到:
這里并沒(méi)有加入預(yù)設(shè)訪問(wèn)index.的功能,所以訪問(wèn)地址要寫(xiě)全:127.0.0.1:3000/index.
如何從Linux環(huán)境遠(yuǎn)端登入騰訊云linux伺服器
在window上面下載putty、securecrt、xshell等客戶(hù)等應(yīng)用程式,來(lái)連線linx伺服器。
t騰訊云主機(jī)的Linux伺服器怎么進(jìn)入圖形介面,好像要安裝什么~~
看裝的是什么,如果是redhat或者centos,安裝的初始沒(méi)有安裝桌面,那你需要用yum源安裝“X WINDOWS”,成功后執(zhí)行init 5,其他linux的發(fā)行版我不熟悉。
如何從Windows環(huán)境遠(yuǎn)端登入騰訊云linux伺服器
在window上面下載putty、securecrt、xshell等客戶(hù)等應(yīng)用程式,來(lái)連線linx伺服器。
想要了解更多關(guān)于Linux的資訊和文章請(qǐng)關(guān)注《linux就該這么學(xué)》。
由于不做php相關(guān)的東西,懶得裝apache,干脆利用nodejs搭建一個(gè)本地的服務(wù)器用于測(cè)試??輥y
nodejs這玩意兒吧,對(duì)做前端的介入掘敗帆后端簡(jiǎn)直就是一把利器。而且目前,nodejs也越來(lái)越有商用價(jià)值。
nodejs其實(shí)是非常底層的,從功能上說(shuō),它既是apache也是php。像搭建http服務(wù)器這種功能,本來(lái)是apache已經(jīng)封裝好的,但nodejs需判雹要我們手動(dòng)來(lái)搭建。其實(shí)在實(shí)際應(yīng)用中,我們可以使用現(xiàn)成的框架。但這里,我想手動(dòng)搭建,也加深一下對(duì)http服務(wù)器的理解。
Node.Js入門(mén)[PDF+相關(guān)代碼]
Node.js入門(mén)開(kāi)發(fā)指南中文版
Node.js安裝與配置
Ubuntu 編譯安裝Node.js
我們node執(zhí)行下面這個(gè)文件,我命名為http.js,它將創(chuàng)建一個(gè)httpServer并監(jiān)聽(tīng)3000端口。
var PORT = 3000;
var http = require('http');
var url=require('url');
var fs=require('fs');
var mine=require('./mine').types;
var path=require('path');
var server = http.createServer(function (request, response) {
var pathname = url.parse(request.url).pathname;
var realPath = path.join("assets", pathname);
//console.log(realPath);
var ext = path.extname(realPath);
ext = ext ? ext.slice(1) : 'unknown';
fs.exists(realPath, function (exists) {
if (!exists) {
response.writeHead(404, {
'Content-Type': 'text/plain'
});
response.write("This request URL " + pathname + " was not found on this server.");
response.end();
} else {
fs.readFile(realPath, "binary", function (err, file) {
if (err) {
response.writeHead(500, {
'Content-Type': 'text/plain'
});
response.end(err);
} else {
var contentType = mine[ext] || "text/plain";
response.writeHead(200, {
'Content-Type': contentType
});
response.write(file, "binary");
response.end();
}
});
}
});
});
server.listen(PORT);
console.log("Server runing at port: " + PORT + ".");
上面我們還引入了一個(gè)mine.js,這是我自己寫(xiě)的,里面存儲(chǔ)的是名值對(duì),用于定義不同后綴的文件所對(duì)應(yīng)的返回方式:
exports.types = {
"css": "text/css",
"gif": "image/gif",
"html": "text/html",
"ico": "image/x-icon",
"jpeg": "image/jpeg",
"jpg": "image/jpeg",
"js": "text/javascript",
"json": "application/json",
"pdf": "application/pdf",
"png": "image/png",
"svg": "image/svg+xml",
"swf": "application/x-shockwave-flash",
"tiff": "image/tiff",
"txt": "text/plain",
"wav": "audio/x-wav",
"wma": "audio/x-ms-wma",
"wmv": "video/x-ms-wmv",
"xml": "text/xml"
};
fs模塊是用于讀取文件的,提供讀取文件的方法,其實(shí)仔細(xì)研究文檔會(huì)發(fā)現(xiàn),它有同步和異步兩種讀取方式。fs.exists這個(gè)方法網(wǎng)上很多文章寫(xiě)作path.exists,,現(xiàn)在推薦寫(xiě)作fs.exists這個(gè)方法。否則會(huì)報(bào)警:
需要注意的是,不僅瀏覽器訪問(wèn)html文件會(huì)形成一次訪問(wèn),里面鏈接的js,css等外部文件也會(huì)分別形成一次http訪問(wèn)。所以,http.createServer的回調(diào)其實(shí)是在一次頁(yè)面訪問(wèn)中執(zhí)行了多次的。我們console.log(realPath)一下就可以看到:
這里并沒(méi)有加入默認(rèn)訪問(wèn)index.html的功能,所以訪問(wèn)地址要寫(xiě)全
名稱(chēng)欄目:騰訊云服務(wù)器安裝nodejs 騰訊云服務(wù)器安裝nginx
文章鏈接:http://jinyejixie.com/article44/ddpgohe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、微信公眾號(hào)、動(dòng)態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)