咱們在本地編寫完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 來源:簡書 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。