咱們在本地編寫完Node.js項目,須要將文件打包上傳到雲服務器,其餘人才能夠經過url地址來訪問和瀏覽咱們編寫的程序,在申請、配置阿里雲ECS服務器的時候也是踩坑無數,看了網上不少大神的文章,本身也嘗試彙總整理了一下,文中涵蓋的知識點比較多,大概包含以下幾個方面:html
以前還寫過一篇《阿里雲服務器崩潰自救指南》,若是在本地誤刪了某些文件致使服務器崩潰,能夠參考我總結的步驟嘗試恢復一下。node
注:本人使用的是MacOS系統,若是是windows環境,文中的部分操做會有所不一樣。linux
在首頁選擇你的登陸方式,能夠經過阿里旗下的第三方服務登陸。nginx
這裏我使用支付寶登錄,掃碼進入頁面後點擊受權便可。c++
若是沒有阿里雲帳號的話,能夠輸入會員名和手機號碼進行快速註冊。git
註冊以後進入到ECS管理控制檯頁面web
在最新活動中找到新手上路,咱們能夠申請阿里雲免費套餐,試用時長爲一個月。正則表達式
選擇我的版,申請以前須要進行我的實名認證。算法
點擊我的實名認證連接進入實名認證頁面,選擇我的實名認證。mongodb
推薦我的支付寶受權認證,跳轉頁面後輸入家庭住址就能夠完成認證了。
認證完成後點擊當即搶購按鈕申請免費雲服務器
點擊免費領取按鈕,選擇Centos/ 7.6 64位
操做系統。
勾選贊成協議,點擊當即領取按鈕,便可領取成功。
此時再進入管理控制檯頁面就能夠看到有一臺雲服務器正在運行
在更多中找到重置實例密碼,點擊設置密碼。
該密碼不是你的阿里雲帳號登陸密碼,而是你的雲服務器訪問密碼,必須由大寫字母、小寫字母、數字、特殊符號中的三項構成。
重置實例以後,點擊右上角重啓實例。
在彈出的頁面中點擊肯定按鈕
重啓實例以後會顯示中止中狀態,大概須要等待30秒。
在側邊欄網絡與安全中找到安全組,點擊右邊的配置規則。
端口範圍填入:1/60000,爲了使用更多服務,若是這個端口範圍填的過小了,像mongodb這種27017端口的數據庫就沒法安裝。受權對象爲0.0.0.0/0,爲了讓全部端口均可以訪問。
點擊肯定保存,就能夠在頁面中看到咱們配置好的安全組。
可使用它自帶的遠程鏈接,鏈接服務器。
點擊遠程鏈接,系統會給你提供一個密碼用於遠程鏈接你的雲服務器,該密碼只出現一次,出現的時候須要記錄下來。
在遠程鏈接中用戶名爲:root,點擊回車輸入以前重置過的實例訪問密碼(默認輸入密碼的時候是不顯示的,輸入完成後點擊回車便可)。
可是咱們通常不推薦在遠程鏈接中訪問服務器,緣由是:若是超過一分鐘沒有操做就會自動斷開鏈接,須要從新輸入遠程鏈接密碼,比較繁瑣。並且在它的控制檯中沒法複製粘貼指令,只能經過其窗口右上角的複製命令輸入來操做,比較麻煩。
咱們能夠在本地終端cmd中經過ssh命令來訪問雲服務器
git ssh root@39.96.84.220(你的公網IP)
能夠在實例的配置信息中找到公網IP
鏈接成功後運行查看文件命令:
cd / ls
運行yum命令在雲服務器上安裝Node.js
sudo yum install nodejs
安裝成功後顯示完畢,運行node -v查看版本號:
具體操做步驟出自這篇文章:
《CentOS 7 下安裝 Nginx》
https://www.linuxidc.com/Linu...
Nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器;同時也是一個IMAP、POP三、SMTP代理服務器;Nginx能夠做爲一個HTTP服務器進行網站的發佈處理,另外Nginx能夠做爲反向代理進行負載均衡的實現。
安裝 nginx 須要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,若是沒有 gcc 環境,則須要安裝:
yum install gcc-c++
安裝成功:
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,因此須要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也須要此庫。命令:
yum install -y pcre pcre-devel
安裝成功:
zlib 庫提供了不少種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,因此須要在 Centos 上安裝 zlib 庫。
yum install -y zlib zlib-devel
安裝成功:
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。
nginx 不只支持 http 協議,還支持 https(即在ssl協議上傳輸http),因此須要在 Centos 安裝 OpenSSL 庫。
yum install -y openssl openssl-devel
安裝成功:
(1)第一種方式:直接下載.tar.gz
安裝包,nginx官網地址:https://nginx.org/en/download...
(2)第二種方式(推薦):使用wget
命令下載
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
我下載的是1.10.1版本,這個是目前的穩定版。
依然是直接命令:
tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1
在 nginx-1.10.1 版本中你就不須要去配置相關東西,使用默認配置就能夠了。
./configure
make make install
查找安裝路徑:
whereis nginx
cd /usr/local/nginx/sbin/ ./nginx
查詢nginx進程:
ps aux|grep nginx
啓動成功後,在瀏覽器能夠看到這樣的頁面:
./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
即在rc.local
增長啓動代碼就能夠了。
vi /etc/rc.local
輸入字母i出現—INSERT—,按鍵盤上下鍵控制光標
將以下代碼複製粘貼
/usr/local/nginx/sbin/nginx
按esc鍵退出,輸入強制保存退出命令:
:wq!
到這裏,nginx就安裝完畢了,啓動、中止、重啓、開機自啓動操做也都完成了。
具體操做步驟出自這篇文章:
《centos7安裝MongoDB3.4》
https://www.cnblogs.com/web42...
MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。他支持的數據結構很是鬆散,是相似json的bson格式,所以能夠存儲比較複雜的數據類型。Mongo最大的特色是他支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎能夠實現相似關係數據庫單表查詢的絕大部分功能,並且還支持對數據創建索引。
vim /etc/yum.repos.d/mongodb-org-3.4.repo
[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寫入
複製上面內容粘貼後按esc,輸入
:(冒號)wq!(感嘆號)
強制保存並退出
安裝命令:
yum -y install mongodb-org
安裝完成後顯示:
whereis mongod
查看修改配置文件 的命令是: vim /etc/mongod.conf
systemctl start mongod.service
順便說一下中止mongodb的命令是 :systemctl stop mongod.service
systemctl status mongod.service
顯示active(running)說明已經成功開啓。
CentOS 7.0默認使用的是firewall做爲防火牆,這裏改成iptables防火牆。
外網訪問須要關閉firewall防火牆:
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl enable mongod.service
執行完以上操做步驟後輸入命令:mongo
,查看數據庫show dbs
。
設置完以後能夠在本地鏈接數據庫
輸入
vim /etc/mongod.conf
編輯mongod.conf配置文件,找到bindIP,在前面按i輸入#
註釋掉這一行,輸入:wq!
保存退出。
systemctl restart mongod.service
PM2是node進程管理工具,能夠利用它來簡化不少node應用管理的繁瑣任務,如性能監控、自動重啓、負載均衡等。
當咱們在服務器中啓動node服務時若是直接經過npm start
或者node index.js
啓動,則一旦退出ssh遠程登陸,或者在本地關閉終端則服務就會中止運行,因此咱們要安裝pm2這個node進程管理工具,經過pm2 start來開啓進程就不會出現這個問題了。
全局安裝命令:
npm install -g pm2
安裝成功後運行pm2 list
查看全部進程狀態
這裏推薦使用FileZilla,這是一款免費、開源、跨平臺的FTP軟件,mac系統windows系統的用戶均可以放心食用。這裏咱們使用SFTP鏈接,端口號默認值是22.
鏈接成功後會列出root下的目錄
找到項目的Vue-config.js配置文件,在module.exports中將publicPath: 改成:'/v-douban/'。
同時本地請求數據的路徑也須要加上/v-douban
執行yarn build
將項目打包成dist文件包
進入/usr/local/nginx/conf目錄,傳輸nginx.config文件到本地。
修改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文件到服務器,覆蓋原文件。
在終端鏈接數據庫,而且重啓nginx服務器。
./nginx -s reload
進入/usr/local/nginx/html目錄建立一個v-douban文件夾
將打包後的dist文件夾中的全部文件上傳到服務器
傳輸完成後,便可在網頁中訪問上線項目http://39.96.84.220/v-douban
線上瀏覽效果: