linux系統部署express+vue項目

一、準備階段:?

1、安裝linux上所需要的環境:npm? nodejs? nginx? ?pm2

//安裝 npm(Node 包管理器)
sudo apt install npm//判斷是否安裝成功
npm -v//安裝 Node.js(可以根據需要選擇版本)
sudo apt install nodejs//判斷是否安裝成功
node-v//安裝pm2
sudo npm install -g pm2
pm2 -v//安裝nginx
sudo apt install nginxnginx -v

?

2、準備vue的dist包(npm run build) 和 express后端服務包(不用打包可以直接運行在服務器)

?

3、把打好的前后端包上傳至服務器對應的目錄,我使用的連接工具是finalShell(無腦好操作),如圖所示我的前端包為dist后端包為backend,存放的文件路徑是 /root/manager-web

?

二、啟動后端服務:?

? ?1、進入backend目錄,使用pm2命令啟動(以下是pm2常見命令)

#啟動
pm2 start server.js#查看狀態
pm2 list#停止
pm2 stop server.js#重啟
pm2 restart server.js#刪除
pm2 delete server.js#日志 
pm2 logs pm2 logs server.js#性能監控
pm2 monit

三、開通防火墻:讓用戶可以訪問?

#開通防火墻3000端口
sudo ufw allow 3000#啟用防火墻
sudo ufw enable#禁用防火墻
sudo ufw disable#拒絕端口
sudo ufw deny 8080#刪除規則
sudo ufw delete allow 8080#運行特定ip訪問
sudo ufw allow from 192.168.1.100#查看已經配置的規則
sudo ufw status numbered#啟用防火墻的日志
sudo ufw logging on

四、配置nginx、訪問前端頁面

server {# 監聽 IPv4 地址的 8086 端口listen       8086;# 監聽 IPv6 地址的 8086 端口listen       [::]:8086;# 服務器名稱,這里使用 _ 表示通配符,表示該配置適用于所有主機名server_name  _;# 設置 web 根目錄為 /root/manager-web/dist 目錄root         /root/manager-web/dist;# 嘗試訪問請求的文件,如果文件不存在,則嘗試訪問目錄,如果目錄也不存在,則返回 /index.htmltry_files $uri $uri/ /index.html;# 配置對 /api/ 路徑的請求進行代理轉發location /api/ {# 將請求轉發到本地的 127.0.0.1:3001 地址,且保持 /api/ 路徑proxy_pass http://127.0.0.1:3001/api/;}# 設置錯誤日志文件的位置error_log /var/log/nginx/manager-error.log;# 設置訪問日志文件的位置access_log /var/log/nginx/manager-access.log;
}

?這里值得一提的是? 前端的get、post的配置地址應該是 http://(ip地址):8086/api

如果能訪問頁面就大工告成,完結撒花!!!

? ?

? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89819.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89819.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89819.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PixiJS教程(004):點擊事件交互

1.6 事件交互實現要求:點擊寶劍,修改寶劍的顏色。1??實現代碼: // 為精靈添加交互事件 sprite.interactive true; sprite.on(click, () > {// 點擊精靈時,改變精靈的顏色sprite.tint Math.random() * 0xFFFFFF; });說明&am…

創客匠人助力家庭教育IP破局:從0到1打造創始人個人品牌全攻略

一、IP定位:細分賽道的精準錨定與用戶畫像構建 在家庭教育8000億市場規模的競爭中,創始人IP的差異化定位成為破局關鍵。創客匠人通過“標簽化定位”工具,幫助教育者鎖定垂直領域,如親子溝通、青春期教育等細分賽道。以景麗霞老師…

使用堅果云擴容Zotero同步空間的簡單快捷方法

本文介紹基于堅果云的WebDAV協議,用于文獻管理軟件Zotero的文件同步,從而實現Zotero存儲空間擴容的方法。 在之前的文章Zotero文獻管理軟件入門使用方法:軟件下載、文獻導入、引文插入(https://blog.csdn.net/zhebushibiaoshifu/a…

Java啟動腳本

Java啟動腳本 編寫代碼,然后打包 Java-1.0-SNAPSHOT.jar public class test {public static void main(String[] args) {System.out.println("Hello IDEA");} }編寫運行腳本 #!/bin/sh WORKDIR$(cd $(dirname $0); pwd) cd $WORKDIRexport JAVA_OPTS"…

VSCode使用ssh遠程連接阿里云

1. 終端選擇 Windows使用PowerShell Ubuntu和Mac使用Terminal 2. 設置ssh 2.1. 第一臺電腦 生成密鑰 ssh-keygen -o -t rsa -b 4096 -C "emailexample.com" 按三次回車 查看密鑰 cat ~/.ssh/id_rsa.pub 拷貝密鑰,粘貼到服務器的密鑰框中 2.2. 第…

XLSR-Wav2Vec2:用于語音識別的無監督跨語言表示學習

摘要 本文提出了 XLSR,該方法通過從多種語言的原始語音波形中預訓練單個模型,以學習跨語言的語音表示。我們基于 wav2vec 2.0 構建模型,該方法通過對掩蔽后的潛在語音表示解決對比任務進行訓練,并聯合學習在多種語言之間共享的潛…

圖靈完備之路(數電學習三分鐘)----數據選擇器與總線

1.數據選擇器之前我們學習了邏輯與算數的計算,得知兩個數字之間的加減和與或的結果是不同的,而一個通用的數字電路不可能只有一個功能,所以我們將在本節引入電路選擇器這一“器件”,來實現對兩個輸入的運算方式的選擇,…

Linux下如何設置CUDA的路徑

今天遇到一個關于CUDA的問題,我要跑的深度學習代碼,他里面有cuda編程,需要編譯。但是你運行就報錯。 代碼提示我大段報錯。 (score-denoise) ubuntuGPUA10002:~/wbd/score-denoise_Transformerdepth20$ python train.py Detected CUDA fil…

js樹的排序

樹 樹的前中后序遍歷 樹是一種重要的非線性數據結構,尤其是二叉樹。二叉樹的遍歷是操作樹的基礎,主要有前序遍歷、中序遍歷和后序遍歷三種方式。 前序遍歷 訪問順序:根結點 -> 左子樹 -> 右子樹。 遍歷規則:首先訪問根結…

解碼 Red Stuff:Walrus 高效可靠存儲的引擎

Red Stuff 是 Walrus 所采用的二維(2D)糾刪碼協議,定義了數據如何被編碼和存儲。它是實現高效、安全、且高可用的去中心化存儲的關鍵。通過 Red Stuff,Walrus 成功解決了去中心化存儲系統常見的三大難題:安全性、復制效…

【ACP】阿里云云計算高級運維工程師--ACP

文章目錄1、簡要介紹2、核心特點3、考試相關信息4、適合人群1、簡要介紹 阿里云云計算認證ACP(Alibaba Cloud Certified Professional)是面向云計算技術與應用從業者的專業級認證,旨在評估考生對阿里云云計算產品的理解、部署、運維及最佳實…

快速掌握Python編程基礎

干貨分享,感謝您的閱讀!備注:本博客將自己初步學習Python的總結進行分享,希望大家通過本博客可以在短時間內快速掌握Python的基本程序編碼能力,如有錯誤請留言指正,謝謝!(持續更新&a…

「Java案例」雞兔同籠問題

案例解析 雞兔同籠求解 《孫子算經》是中國古代重要的數學著作,成書于南北朝時期,其中就記載了一個有趣的問題:雞和兔在同一個籠子里,雞和兔共有n條腿, m個頭,問雞和兔各有多少只?編寫一個程序…

BLDC電機-運動控制---stm32時鐘樹定時器SYSTICKRTC的學習

一、時鐘樹 二、基本定時器 三、通用定時器 四、高級定時器 五、SYSTICK 六、RTC

Implementing a User-Defined Preconditioner in PETSc

文章目錄Implementing a User-Defined Preconditioner in PETScBasic ApproachExample ImplementationUsing Your PreconditionerAdvanced OptionsImportant NotesUsing PCShell to Implement User-Defined Preconditioners in PETScBasic Implementation StepsAdvanced Featur…

DotNetBrowser 3.3.0 版本發布啦!

#Chromium 137 安全修復一次調用即可下載 URL更新了 Widevine APIDOM 元素絕對邊界 🔗 點擊此處了解更多詳情。 🆓 獲取 30 天免費試用。

Android-自定義View的實戰學習總結

一、自定義View歌詞界面LrcView 類-->自定義的歌詞視圖1. 構造函數和屬性初始化自定義 View 通常需要提供多個構造函數以支持不同的初始化方式。在 LrcView 中,提供了四個構造函數,最終調用 super 父類構造函數完成初始化, context.obtain…

Maven 在 Eclipse 中的使用指南

Maven 在 Eclipse 中的使用指南 概述 Maven 是一個強大的構建自動化工具,用于項目管理和構建。它簡化了項目構建、依賴管理和項目報告等任務。Eclipse 是一個流行的集成開發環境(IDE),支持多種編程語言,包括 Java。本文將詳細介紹如何在 Eclipse 中使用 Maven 進行項目管…

zxing去白邊

2025年了,可能干不了幾年了,還能寫這種文章還是有點可笑。 背景 zxing庫生成的二維碼自帶白邊 分析 生產二維碼主要分兩步: 1.用QRCodeWriter生成BitMatrix信息 2.根據信息生成bitmap 問題在1。 生成二維碼的尺寸實際是有一些規格的&a…

Linux操作系統之文件(三):緩沖區

前言: 上節課我們講授重定向的概念時,曾提到了一點緩沖區的概念。本文將會為大家更詳細的帶來緩沖區的有關內容:用戶級緩沖區是什么,以及其與內核級緩沖區的關系,最后,我會為大家模擬實現一下stdio.h的關于…