阿里云ECS云服務(wù)器建站爬坑之旅

0 PRE

阿里云ECS云服務(wù)器(預(yù)裝系統(tǒng)為ubuntu16.04)、可用域名、node.js后端服務(wù)器項目(HelloWorld)

1 基本環(huán)境的搭建過一遍

  • 通過阿里云控制臺成功連接云服務(wù)器,登錄系統(tǒng)


    image.png
  • 如上圖,發(fā)送遠程命令來切換終端,Ctrl+Alt+(F1~F6)為終端,如果安裝了圖形界面F7為切換到圖形界面(下面有講圖形界面的安裝)
  • 進入系統(tǒng)之后,因為是root登錄,已經(jīng)有了系統(tǒng)最高權(quán)限,所以不需要sudo
apt-get update  //更新軟件包版本
apt-get upgrade

update是下載源里面的metadata的. 包括這個源有什么包, 每個包什么版本之類的.
upgrade是根據(jù)update命令下載的metadata決定要更新什么包(同時獲取每個包的位置).

  • 安裝Git、以及通過nvm安裝node

  • mongodb安裝及使用

  • nginx的入門(不用看安裝以及使用部分,安裝和使用有多套方法,看懂他是什么以及虛擬主機配置就行)

  • 安裝和使用本文選取了較簡單的一種方法,如下:

    1. 安裝 Nginx
    apt-get install nginx
    
    1. Nginx 配置文件
      配置一個域名,到 /etc/nginx/sites-enabled 目錄下, 刪除一個默認文件:
    rm default
    
    1. 然后,新建一個 server.conf 配置文件:
    cd /etc/nginx/sites-enabled
    touch server.conf
    這個 server.conf 文件的內(nèi)容如下:
    
    server {
      listen     80 default_server;
      server_name   your_domain_name;
    
      location / {
          proxy_pass http://localhost:3000;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header Host $http_x_forwarded_host;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_read_timeout 3m;
          proxy_send_timeout 3m;
      }
    }
    
  1. 用真實的域名替換 your_domain_name,location中proxy_pass用你后端node服務(wù)器監(jiān)聽的端口去替換掉3000。最后,啟動 Nginx,執(zhí)行命令:
service nginx start
  1. 若修改了 Nginx 的配置文件,需要執(zhí)行下面命令,配置信息才能生效:
service nginx reload
  1. 在開啟Nginx服務(wù)之前可以使用命令nginx -t來檢查配置文件是否正確
    image.png

    出現(xiàn)上圖說明正確,否則他會提示你錯在哪兒了。

2 克隆項目到本地并啟動服務(wù)器

git clone ...   //克隆項目到本地
cd ...     //進入項目文件夾
npm i     //安裝node_modules
mongod --dbpath ***      //開啟mongodb服務(wù)器
node index.js            //運行

//注意:因為上面的數(shù)據(jù)庫服務(wù)器要保持運行,所以要再運行node項目需要通過本文開頭提到的方法切換終端,或者將進程切換到后臺運行(問搜索引擎)

3 測試

  1. 終端輸入wget localhost:3000(這里假設(shè)node項目運行在3000端口,并且api為GET | '/' | 返回“HelloWorld”)發(fā)送請求,看是否能成功下載網(wǎng)頁,cat index.html查看網(wǎng)頁內(nèi)容是否為HelloWorld,如上一致則說明后端服務(wù)器正常運行。
  2. 終于來測試nginx了
  • 終端輸入wget your_domain_name將your_domain_name 替換成你的域名,查看是否能正常下載網(wǎng)頁,嗯,你會發(fā)現(xiàn),不能。那么問題出現(xiàn)在哪兒了呢?現(xiàn)在vim /etc/nginx/sites-enabled/server.conf將server中的 server_name 替換成localhost,wget localhost再次查看是否能正常下載網(wǎng)頁,如果不能,說明你的nginx配置文件有問題,請仔細對照上文修改。如果能,那么我們就能保證云服務(wù)器上的nginx可以正常使用,那么問題出現(xiàn)在哪兒了呢?
    答案是,阿里云的配置。Google了一天nginx,當我發(fā)現(xiàn)的時候我也很無奈啊。
  • 進入阿里云控制臺=>云服務(wù)器ECS=>網(wǎng)絡(luò)和安全=>安全組=>配置規(guī)則=>添加安全組規(guī)則,照著下圖設(shè)置即可


    image.png
  • 回到遠程連接窗口,將server.conf的server_name改回自己的域名,wget your_domain_name看能否正常下載網(wǎng)頁,現(xiàn)在應(yīng)該是可以了。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容