阿里雲服務器部署web項目全過程

 

咱們在本地編寫完Node.js項目,須要將文件打包上傳到雲服務器,其餘人才能夠經過url地址來訪問和瀏覽咱們編寫的程序,在申請、配置阿里雲ECS服務器的時候也是踩坑無數,看了網上不少大神的文章,本身也嘗試彙總整理了一下,文中涵蓋的知識點比較多,大概包含以下幾個方面:html

  • 申請阿里雲免費服務器
  • 安裝node.js
  • 安裝Nginx服務器
  • 安裝mongoDB數據庫
  • 安裝pm2進程管理工具
  • 安裝本地FTP
  • 上線移動端項目

以前還寫過一篇《阿里雲服務器崩潰自救指南》,若是在本地誤刪了某些文件致使服務器崩潰,能夠參考我總結的步驟嘗試恢復一下。node

注:本人使用的是MacOS系統,若是是windows環境,文中的部分操做會有所不一樣。linux

申請阿里雲免費服務器

註冊阿里雲帳號nginx

在首頁選擇你的登陸方式,能夠經過阿里旗下的第三方服務登陸。c++

imagegit

這裏我使用支付寶登錄,掃碼進入頁面後點擊受權便可。web

image正則表達式

若是沒有阿里雲帳號的話,能夠輸入會員名和手機號碼進行快速註冊。算法

imagemongodb

註冊以後進入到ECS管理控制檯頁面

image

在最新活動中找到新手上路,咱們能夠申請阿里雲免費套餐,試用時長爲一個月。

image

image

我的實名認證

選擇我的版,申請以前須要進行我的實名認證

image

點擊我的實名認證連接進入實名認證頁面,選擇我的實名認證

image

推薦我的支付寶受權認證,跳轉頁面後輸入家庭住址就能夠完成認證了。

image

申請阿里雲免費服務器

認證完成後點擊當即搶購按鈕申請免費雲服務器

image

點擊免費領取按鈕,選擇Centos/ 7.6 64位操做系統。

 

image

勾選贊成協議,點擊當即領取按鈕,便可領取成功。

 

image

此時再進入管理控制檯頁面就能夠看到有一臺雲服務器正在運行

image

重置實例密碼

在更多中找到重置實例密碼,點擊設置密碼。

image

該密碼不是你的阿里雲帳號登陸密碼,而是你的雲服務器訪問密碼,必須由大寫字母、小寫字母、數字、特殊符號中的三項構成。

image

重啓實例

重置實例以後,點擊右上角重啓實例。

image

在彈出的頁面中點擊肯定按鈕

image

重啓實例以後會顯示中止中狀態,大概須要等待30秒。

image

配置安全組

在側邊欄網絡與安全中找到安全組,點擊右邊的配置規則

image

端口範圍填入:1/60000,爲了使用更多服務,若是這個端口範圍填的過小了,像mongodb這種27017端口的數據庫就沒法安裝。受權對象爲0.0.0.0/0,爲了讓全部端口均可以訪問。

image

點擊肯定保存,就能夠在頁面中看到咱們配置好的安全組。

image

遠程鏈接

可使用它自帶的遠程鏈接,鏈接服務器。

image

點擊遠程鏈接,系統會給你提供一個密碼用於遠程鏈接你的雲服務器,該密碼只出現一次,出現的時候須要記錄下來。

image

在遠程鏈接中用戶名爲:root,點擊回車輸入以前重置過的實例訪問密碼(默認輸入密碼的時候是不顯示的,輸入完成後點擊回車便可)。

image

可是咱們通常不推薦在遠程鏈接中訪問服務器,緣由是:若是超過一分鐘沒有操做就會自動斷開鏈接,須要從新輸入遠程鏈接密碼,比較繁瑣。並且在它的控制檯中沒法複製粘貼指令,只能經過其窗口右上角的複製命令輸入來操做,比較麻煩。

image

咱們能夠在本地終端cmd中經過ssh命令來訪問雲服務器

 

git ssh root@39.96.84.220(你的公網IP)

能夠在實例的配置信息中找到公網IP

image

鏈接成功後運行查看文件命令:

 

cd /
ls

image

安裝node.js

運行yum命令在雲服務器上安裝Node.js

 

sudo yum install nodejs

安裝成功後顯示完畢,運行node -v查看版本號:

image

安裝Nginx服務器(靜態服務器)

具體操做步驟出自這篇文章:

《CentOS 7 下安裝 Nginx》

https://www.linuxidc.com/Linux/2016-09/134907.htm

Nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器;同時也是一個IMAP、POP三、SMTP代理服務器;Nginx能夠做爲一個HTTP服務器進行網站的發佈處理,另外Nginx能夠做爲反向代理進行負載均衡的實現。

1. gcc 安裝

安裝 nginx 須要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,若是沒有 gcc 環境,則須要安裝:

 

yum install gcc-c++

安裝成功:

image

2. PCRE pcre-devel 安裝

PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,因此須要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也須要此庫。命令:

 

yum install -y pcre pcre-devel

安裝成功:

image

3. zlib 安裝

zlib 庫提供了不少種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,因此須要在 Centos 上安裝 zlib 庫。

 

yum install -y zlib zlib-devel

安裝成功:

image

**3. **OpenSSL 安裝

OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。
nginx 不只支持 http 協議,還支持 https(即在ssl協議上傳輸http),因此須要在 Centos 安裝 OpenSSL 庫。

 

yum install -y openssl openssl-devel

安裝成功:

image

4.下載nginx安裝包

(1)第一種方式:直接下載.tar.gz安裝包,nginx官網地址:https://nginx.org/en/download.html

image

(2)第二種方式(推薦):使用wget命令下載

 

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

我下載的是1.10.1版本,這個是目前的穩定版。

image

5. 解壓

依然是直接命令:

 

tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1

6. 配置

在 nginx-1.10.1 版本中你就不須要去配置相關東西,使用默認配置就能夠了。

 

./configure

7. 編譯安裝

 

make
make install

查找安裝路徑:

 

whereis nginx

image

8. 啓動、中止、重啓nginx

 

cd /usr/local/nginx/sbin/
./nginx

查詢nginx進程:

 

ps aux|grep nginx

image

啓動成功後,在瀏覽器能夠看到這樣的頁面:

image

./nginx -s stop:此方式至關於先查出nginx進程id再使用kill命令強制殺掉進程。
./nginx -s quit:此方式中止步驟是待nginx進程處理任務完畢進行中止。

重啓nginx

(1)第一種方式:先中止再啓動(推薦):
對 nginx 進行重啓至關於先中止再啓動,即先執行中止命令再執行啓動命令。以下:

 

./nginx -s quit
./nginx

(2)第二種方式:從新加載配置文件:
當 nginx的配置文件 nginx.conf 修改後,要想讓配置生效須要重啓 nginx,使用-s reload不用先中止 ngin x再啓動 nginx 便可將配置信息在 nginx 中生效,以下:

 

./nginx -s reload

9. 開機自啓動

即在rc.local增長啓動代碼就能夠了。

 

vi /etc/rc.local

輸入字母i出現—INSERT—,按鍵盤上下鍵控制光標

image

將以下代碼複製粘貼

 

/usr/local/nginx/sbin/nginx

按esc鍵退出,輸入強制保存退出命令:

 

:wq!

到這裏,nginx就安裝完畢了,啓動、中止、重啓、開機自啓動操做也都完成了。

image

安裝mongoDB數據庫

具體操做步驟出自這篇文章:

《centos7安裝MongoDB3.4》

https://www.cnblogs.com/web424/p/6928992.html

MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。他支持的數據結構很是鬆散,是相似json的bson格式,所以能夠存儲比較複雜的數據類型。Mongo最大的特色是他支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎能夠實現相似關係數據庫單表查詢的絕大部分功能,並且還支持對數據創建索引。

1. 建立yum源文件

 

vim /etc/yum.repos.d/mongodb-org-3.4.repo

2. 添加如下內容

 

[mongodb-org-3.4]  
name=MongoDB Repository  
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/  
gpgcheck=1  
enabled=1  
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

字母i表明INSERT寫入

image

複製上面內容粘貼後按esc,輸入

 

:(冒號)wq!(感嘆號)

image

強制保存並退出

image

3. 安裝MongoDB

安裝命令:

 

yum -y install mongodb-org

安裝完成後顯示:

image

4. 安裝完成後,查看mongo安裝位置

 

whereis mongod

image

查看修改配置文件 的命令是:vim /etc/mongod.conf

5. 啓動mongodb

 

systemctl start mongod.service

順便說一下中止mongodb的命令是 :systemctl stop mongod.service

6. 查看mongodb的狀態

 

systemctl status mongod.service

顯示active(running)說明已經成功開啓。

image

7. 中止防火牆

CentOS 7.0默認使用的是firewall做爲防火牆,這裏改成iptables防火牆。

外網訪問須要關閉firewall防火牆:

 

systemctl stop firewalld.service

8. 禁止防火牆開機啓動

 

systemctl disable firewalld.service

9. 設置開機啓動

 

systemctl enable mongod.service

img

10. 啓動Mongo shell查看數據庫

執行完以上操做步驟後輸入命令:mongo,查看數據庫show dbs

image

11. 設置mongodb遠程訪問

設置完以後能夠在本地鏈接數據庫

輸入

 

vim /etc/mongod.conf

編輯mongod.conf配置文件,找到bindIP,在前面按i輸入#註釋掉這一行,輸入:wq!保存退出。

image

12. 重啓mongodb

 

systemctl restart mongod.service

image

安裝pm2進程管理工具

PM2是node進程管理工具,能夠利用它來簡化不少node應用管理的繁瑣任務,如性能監控、自動重啓、負載均衡等。

當咱們在服務器中啓動node服務時若是直接經過npm start或者node index.js啓動,則一旦退出ssh遠程登陸,或者在本地關閉終端則服務就會中止運行,因此咱們要安裝pm2這個node進程管理工具,經過pm2 start來開啓進程就不會出現這個問題了。

全局安裝命令:

 

npm install -g pm2

image

安裝成功後運行pm2 list查看全部進程狀態

image

安裝本地FTP

這裏推薦使用FileZilla,這是一款免費、開源、跨平臺的FTP軟件,mac系統windows系統的用戶均可以放心食用。這裏咱們使用SFTP鏈接,端口號默認值是22.

image

鏈接成功後會列出root下的目錄

image

上線移動端項目

1. 修改項目配置文件

找到項目的Vue-config.js配置文件,在module.exports中將publicPath: 改成:'/v-douban/'。

image

同時本地請求數據的路徑也須要加上/v-douban

image

2. 打包文件

執行yarn build將項目打包成dist文件包

3. 鏈接FTP服務器,修改nginx

進入/usr/local/nginx/conf目錄,傳輸nginx.config文件到本地。

image

修改nginx.config文件,配置數據接口代理。

 

location /api/db {
            proxy_pass http://47.96.0.211:9000/db;
        } 

        location /data/my {
            proxy_pass http://118.31.109.254:8088/my;
        } 

        location /douban/my {
            proxy_pass http://47.111.166.60:9000/my;
        }

上傳新的nginx.config文件到服務器,覆蓋原文件。

image

在終端鏈接數據庫,而且重啓nginx服務器。

 

./nginx -s reload

image

進入/usr/local/nginx/html目錄建立一個v-douban文件夾

image

將打包後的dist文件夾中的全部文件上傳到服務器

image

傳輸完成後,便可在網頁中訪問上線項目http://39.96.84.220/v-douban

image

線上瀏覽效果:

image

 

image

做者:視覺派Pie 連接:https://www.jianshu.com/p/3693dad9b574 來源:簡書 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

相關文章
相關標籤/搜索