Vue.js項(xiàng)目部署到服務(wù)器的詳細(xì)步驟
前言
最近做完了一個項(xiàng)目,Vue.js 2.0 + vuex + axios,還是有點(diǎn)大的。想著做了這么久,放服務(wù)器給朋友們體驗(yàn)一下,幫忙找找BUG,于是就有了研究服務(wù)器這一篇文章了。
準(zhǔn)備工作
服務(wù)器
既然是部署到服務(wù)器,肯定是需要一個云的。我這里找基友拿的一個,做測試的話,可以買阿里云的學(xué)生機(jī),9.9 一個月,不過不是學(xué)生的話就比較麻煩,因?yàn)樯婕懊舾胁僮鞫夹枰?yàn)證碼。
編譯打包
將項(xiàng)目打包成 dist 文件,這里我需要跨域請求一些數(shù)據(jù),還寫了一個小型服務(wù)器, app.js 放到 dist 文件夾 同級目錄。
Xshell
因?yàn)榛训氖?centos 的服務(wù)器,所以用 xshell 的話稍微好操作一點(diǎn),我是 win10。
WinSCP
接觸命令行并不多,所以面對命令行編程我還是有點(diǎn)效率不高。這個軟件就方便了文件的上傳,編輯等等,圖形化界面。
正式開始
有了上面幾項(xiàng)之后,可以正式開始部署工作了。
登錄 WinSCP,連接遠(yuǎn)程服務(wù)器
打開 WinSCP,會出現(xiàn)如下界面
主機(jī)名,輸入你的服務(wù)器公網(wǎng) ip,端口號不變,用戶名一般是 root,密碼則是你購買服務(wù)器時設(shè)置的密碼,點(diǎn)擊登錄。
默認(rèn)是 /root 界面。
這時候把你打包好的文件,扔到某一個目錄下,如 /opt,dist 和 app.js 在同一目錄
登錄 Xshell 連接遠(yuǎn)程服務(wù)器
打開 Xshell,第一次登錄會有如下界面:
名稱可以隨便取一個,協(xié)議選擇 SSH,主機(jī)就是你的公網(wǎng) ip,
之后會有這個頁面
這里我是創(chuàng)建好了的,點(diǎn)擊就可以直接連接。如果你是從上一步過來的,點(diǎn)擊之后會要輸入密碼
之后就連接到遠(yuǎn)程 Linux 系統(tǒng)了。
安裝 node.js
由于我的項(xiàng)目是需要跨域請求數(shù)據(jù),所以這里我選擇的是用 Node.js 啟動小型服務(wù)器,請求數(shù)據(jù)。
- 下載源碼
- 解壓源碼
- 編譯安裝
下載源碼,這里以最新的 6.11.1 為例:
cd /usr/local/src/ wget http://nodejs.org/dist/v6.11.1/node-v6.11.1.tar.gz
解壓源碼:
cd /usr/local/src/ tar zxvf node-v6.11.1.tar.gz
編譯安裝:
cd node-v6.11.1 ./configure --prefix=/usr/local/node/6.11.1 make make install
這里 make 過程大約30分鐘,可以去做別的。
ps:這里我遇到服務(wù)器沒有安裝 g++ 的問題,那直接
yum install gcc-c++
就可以了。
安裝完成后,還需要對 node 進(jìn)行環(huán)境變量的配置
這里通過 WinSCP 找到 /etc/profile,右鍵該文件,編輯。
在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 上面一行添加如下代碼:
#set for nodejs export NODE_HOME=/usr/local/node/6.11.1 export PATH=$NODE_HOME/bin:$PATH
ctrl + s 保存退出,然后編譯一下
source /etc/profile
然后 node -v 檢驗(yàn)是否安裝成功
之后再安裝守護(hù)進(jìn)程,并設(shè)置開機(jī)自啟。保證我們自己寫的小型服務(wù)器能脫離 Xshell 在服務(wù)器上運(yùn)行
全局安裝:
npm install pm2 -g
進(jìn)入 /opt (這里是你放 dist 的和 app.js 的目錄),執(zhí)行命令:
pm2 start app.js --watch pm2 save pm2 startup
如果在服務(wù)器端沒有防火墻墻掉端口的情況下,我們應(yīng)該可以愉快的看到自己的項(xiàng)目了。
但是,服務(wù)器端有防火墻墻掉了端口怎么辦。
vps,安裝 iptables:
yum install -y iptables-service
粗暴的關(guān)閉防火墻(不推薦):
systemctl stop firewalld.service systemctl disable firewalld.service yum install -y iptables-service // 如果上面安裝過了就不用了 iptables -F iptables -X iptables -Z iptables-save systemctl restart iptables.service
單獨(dú)開啟某一個端口(推薦):
查看狀態(tài):
iptables -L -n
下面添加對特定端口開放的方法:
使用iptables開放如下端口
/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
保存
/etc/rc.d/init.d/iptables save
重啟服務(wù)
service iptables restart
查看需要打開的端口是否生效
/etc/init.d/iptables status
方法2:
或直接編輯/etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 4000 -j ACCEPT
保存在前面部分
再重啟:
service iptables restart
如果是阿里云,就在安全組規(guī)則里添加相應(yīng)的規(guī)則即可。
總結(jié)
以上所述是小編給大家介紹的Vue.js項(xiàng)目部署到服務(wù)器的詳細(xì)步驟,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
vue修改vue項(xiàng)目運(yùn)行端口號的方法
本篇文章主要介紹了vue修改vue項(xiàng)目運(yùn)行端口號的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08vue動態(tài)渲染svg、添加點(diǎn)擊事件的實(shí)現(xiàn)
這篇文章主要介紹了vue動態(tài)渲染svg、添加點(diǎn)擊事件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03vue3動態(tài)路由addRoute實(shí)例詳解
這篇文章主要介紹了vue3動態(tài)路由addRoute的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09Vue 解決在element中使用$notify在提示信息中換行問題
這篇文章主要介紹了Vue 解決在element中使用$notify在提示信息中換行問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11詳解vue-cli項(xiàng)目中的proxyTable跨域問題小結(jié)
這篇文章主要介紹了詳解vue-cli項(xiàng)目中的proxyTable跨域問題小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02