建站筆記(linux+阿里雲)

Linux 網絡安全 Nginx Git 點融黑幫 2017-05-25

起源

在移動web調試時經常使用jsconsole工具,最近該工具線上地址掛了,網上查詢了下,發現了jsconsole的源碼:https://github.com/remy/jsconsole 根據文檔的指引,只需要兩個命令npm install及node .就能在本機新建一個jsconsole的調試網站,於是就想著把項目從本地遷移至雲上,以方便使用。

前期準備

  • 雲服務器一臺 買了阿里雲的一臺低配服務器,系統安裝的是linux的Ubuntu。

  • 域名 同樣在阿里雲上買的,域名叫leonddup.com,取意day day up。

域名解析

  • 什麼是域名解析 域名解析就是將域名指向雲服務器的ip,這樣就能通過域名訪問雲上的內容。ip會在購買服務器後提供。

  • 具體操作 阿里雲提供了非常友好的域名解析操作界面

基本小白都能搞定,同時我們發現左側還有其他服務網站監控負載均衡CDN加速等等,都是前端範疇的一些功能及優化,後面再一一嘗試。

建站筆記(linux+阿里雲)

linux系統初學

雲服務器安裝的是linux系統,因此需要學習下linux的常用命令。

  • 遠程連接服務器

  • 阿里雲提供的web版終端

  • mac終端遠程連接sudo ssh root@[ip]。

  • 創建本人用戶雲服務器

默認是root用戶,每次登陸root不僅不安全還彆扭,因此創建本人用戶:

useradd -d /home/leon -m leon

為新用戶添加sudo權限:

  • 打開sudoers配置文件:visudo

  • 在root ALL=(ALL:ALL) ALL下添加當前用戶 leon ALL=(ALL:ALL) ALL。

現在可以直接遠程連接leon用戶了

sudo ssh leon@[ip]。

  • 安裝node及git

項目中需要用到node及git,可能的場景包括git代碼管理、node服務開啟、項目打包等。

linux的安裝指令為apt-get,

安裝node:

sudo apt-get install nodejs、

sudo apt-get install npm,

安裝git:

sudo apt-get install git

  • 服務進程的開啟與關閉

顯示網絡信息:netstat,-a顯示所有端口,-l顯示所有監聽中的端口,

查看進程信息:ps -ef|grep [name],

終止服務:`kill [進程號],

  • 本地文件上傳到服務器

由於一般是在本地coding,然後將最終的代碼上傳到雲上,因此需要copy文件到雲上。

  • 通過git管理 代碼push到碼雲上,服務器中再pull下來。可以選擇gitlab管理項目代碼,也可以直接將代碼上傳到github託管,雲服務器直接從github上pull代碼。

  • linux指令scp [參數] [原路徑] [目標路徑]。

反向代理

實際應用中會開啟很多個服務,每個服務獨立開來,此時需要反向代理,代理不同端口的服務。

  • 什麼是反向代理

客戶端向代理服務器發送請求,代理服務器向其他服務器獲取資源返回給客戶端。

  • node方案

引用express及express-http-proxy兩個包搭建:

app.use('/jsconsole', proxy('localhost:8000'))

  • Nginx方案

1.安裝Nginx

Ubuntu系統下安裝 sudo apt-get install nginx

2.Nginx 基礎命令

  • 開啟 nginx

  • 停止 nginx -s stop

  • 重啟 nginx -s reload

3.Nginx反向代理配置在/etc/nginx/nginx.conf文件中修改

  • 問題 在實際應用中發現代理訪問的頁面報很多資源訪問不到的error,經查是因為這些資源的請求路徑是相對於根目錄的/,需要修改為相對於當前目錄或者使用絕對路徑。

node服務永久開啟

  • 需求 本地開啟遠程服務器的node服務時,當關閉終端或斷開遠程連接,node服務也會終止,這不是我們想要的,我們希望node服務是永久開啟的。

  • 解決 linux有個nohup命令,該命令可以 讓遠程服務器不受本地關閉終端或者斷開連接的影響繼續運行服務,只需要在node命令前添加該指令就行nohup node 。

http升級為https

https(超文本傳輸安全協議)是一種網絡安全傳輸協議,相對於http更加安全

  • 獲取證書

  • 服務商提供

阿里雲可以申請免費1年的SSL證書,教程傳送門:https://bbs.aliyun.com/read/303413.html?spm=5176.100241.0.0.zQHYoq

  • 使用openssl指令生成證書

$ openssl genrsa -out yourkey.pem 1024

$ openssl req -new -key yourkey.pem -out yourcsr.csr

$ openssl x509 -req -in yourcsr.csr -signkey yourkey.pem -out yourcert.pem

本人用的是阿里雲的免費證書,成功申請後會獲得以下文件

在node服務中需要用到的是前兩個文件.key及.pem

  • 安裝

由於使用的是node服務,這裡介紹node的安裝

  • https模塊

  • restify框架

jsconsole簡介及安裝

  • 資源

https://jsconsole.com/(jsconsole項目源作者提供的線上版,目前502無法訪問)https://github.com/remy/jsconsole (jsconsole項目源碼)https://leonddup.com:8000/ (本文作者提供的線上版本)

  • 簡介jsconsole是一款web移動開發的調試工具,可以在PC上顯示移動頁面的控制檯,可以打印console的信息及報錯信息,也可以輸入指令。

  • 安裝並開啟服務

1.下載源碼git clone https://github.com/remy/jsconsole.git

2.安裝

切換到jsconsole項目目錄cd jsconsole,安裝node依賴npm install。

建站筆記(linux+阿里雲)

3.開啟服務node .,默認端口為8000,可設置端口PORT=8080 node .。

4.使用打開首頁,看到如下界面

  • 創建新的監聽在輸入框輸入指令:listen,獲得需要插入頁面的js文件url

  • 插入js在需要調試的頁面<head></head>裡插入js引用

  • 開始監聽打開頁面,此時頁面中console的信息會顯示在jsconsole控制檯上

結語

建站的過程遇到了很多問題,每次問題的解決都是一次知識的補充,收穫很多。然而目前依舊有很多未解決的問題,需要進一步深入研究。


本文作者:周磊(點融黑幫),高級前端開發工程師,目前在點融cashloan項目組從事前端開發工作。


相關推薦

推薦中...