06-個人博客筆記-項目部署到騰訊云服務器

購買云服務器可以選擇騰訊云和阿里云,前期可以使用免費的云服務器來部署自己的項目。我剛開始是試用的騰訊云服務器(windows系統)、然后又試用了阿里云的服務器(ubuntu系統)、最后還是購買了騰訊云的服務器(ubuntu)。各個平臺都遇到了不同的問題,但是通過google都得到了解決。其實具體的步驟都可以參考各平臺的文檔,下面記錄下我在部署中遇到的問題以及流程。

騰訊云服務器(windows系統)

1、服務器新建ftp站點: 可參考在Win7的IIS上搭建FTP服務及用戶授權
2、進入騰訊云后臺,設置安全組
3、安裝必要軟件:mongodb、node、npm、nginx
3、將代碼上傳到服務器指定目錄:下載FileZilla上傳工具,填寫服務器公網地址、用戶名、密碼(購買完成后騰訊會發送這些信息),端口默認21 (ftp傳輸方式)

阿里云(ubuntu)

1、購買后先重置下密碼,假如重置為123
2、下載FileZilla連接服務器:填寫服務器公網地址、用戶名、密碼、端口填寫22,因為默認是sftp傳輸方式,用戶名填寫root,阿里云的ubuntu默認是root,密碼就是第一步重置的密碼。連接完成后可看到服務器的目錄結構
3、通過ssh root@公網地址 這種方式連接服務器,進入服務器安裝必要的軟件
4、為了方便終端操作,可以先安裝Oh-my-zsh,步驟如下:

安裝 zsh 套件
$ apt-get install zsh
安裝git
$ apt-get install git
安裝完以上兩步,執行下面的代碼
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
把zsh設置成默認-替換bash,重啟終端
chsh -s /bin/zsh

5、安裝mongodb: 官方教程
6、安裝node、安裝npm

sudo apt-get install nodejs
sudo apt-get install npm

7、安裝pm2,通過pm2啟動node可以使關閉終端時node依然運行。

npm install pm2 -g

8、進入后端代碼的目錄,通過npm i 安裝后端代碼需要的庫,啟動node

pm2 start index.js

可能出現的錯誤

import express from 'express';
^^^^^^
SyntaxError: Unexpected token import

解決方法

npm install -g babel-cli
pm2 start --interpreter babel-node index.js

通過pm2 list 查看node是否啟動成功
9、安裝nginx
nginx 下載頁面查看最新穩定版本:http://nginx.org/en/download.html

// 下載
wget -o nginx-1.14.0.tar.gz http://nginx.org/download/nginx-1.14.0.tar.gz
// 解壓
tar -zxf nginx-1.14.0.tar.gz
// 進入nginx-1.14.0目錄  檢測安裝環境
./configure
// 編譯
make
make install
安裝完成

10、啟動配置nginx,進入nginx目錄,可以看到目錄下有 sbin目錄和conf目錄,sbin目錄下可以啟動nginx,conf目錄下可以配置nginx,首先啟動nginx,查看nginx是否正常啟動.

cd /usr/local/nginx
cd sbin 
nginx

在瀏覽器輸入公網地址,出現下面的界面就說明nginx已經啟動

屏幕快照 2018-05-02 下午8.36.52.png

11、修改nginx的配置,nginx配置的寫法具體含義可自行google,下面粘貼出針對我的博客,以及對我有所幫助的文檔。
nginx配置location總結及rewrite規則寫法

user   root root;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen       8081;
        server_name  localhost;

        root  /home/ubuntu/demo/darrenblog/blogadmin;
        index  index.html index.htm;

        location / {
            try_files $uri $uri/ @router;
            index index.html;
        }
        location @router {
            rewrite ^.*$ /index.html last;
        }
   
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location /admin/ {
            proxy_pass http://127.0.0.1:4000;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    
        location /works/ {
            proxy_pass http://127.0.0.1:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

    # 匹配任何以 /static/ 開頭的地址,匹配符合以后,停止往下搜索正則,采用這一條。解決加載本地圖片的跨越問題
    location ^~ /static/ {
    }
        location ~ .*\.(gif|jpg|jpeg|png)$ {  
            root /root/demo/server/darrenblog/uploads;#指定圖片存放路徑  
            proxy_store on;  
            proxy_store_access user:rw group:rw all:rw;  
            proxy_temp_path    /root/demo/server/darrenblog/uploads;#圖片訪問路徑  
            proxy_set_header    Host 127.0.0.1;    
            if ( !-e $request_filename)  
            {  
                proxy_pass http://127.0.0.1:3000;
            }  
        }  
    }

    server {
        listen       8089;
        server_name  localhost;

        root   /root/demo/client/blogclient;
        index  index.html index.htm;

        location / {
            try_files $uri $uri/ @router;
            index index.html;
        }

        location @router {
            rewrite ^.*$ /index.html last;
        }
        location /tourist/ {
            proxy_pass http://127.0.0.1:3000;
            proxy_set_header Host $host:$server_port;
        }
      
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location /tourist/* {
            proxy_pass http://127.0.0.1:3000;
        }
   }
}

騰訊云服務器(ubuntu)

ubuntu服務器大致的配置上面都基本上描述了,騰訊云的ubuntu服務器默認的用戶名是ubuntu,其他的配置基本差不多,需要注意的是nginx的啟動。

啟動nginx:
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
注意:-c 指定配置文件的路徑,不加的話,nginx會自動加載默認路徑的配置文件,可以通過 -h查看幫助命令。

具體配置

項目上傳 github 每次提交都是一個分支

線上地址

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容