Ubuntu22.04使用nginx部署vue前端項(xiàng)目的詳細(xì)教程
一.ubuntu安裝nginx
1.更新本地軟件包列表
sudo apt update
2.安裝nginx
sudo apt install nginx
3.驗(yàn)證nginx是否安裝成功
sudo systemctl status nginx
如果Nginx正在運(yùn)行,則命令輸出應(yīng)該顯示Active(active (running))狀態(tài)。
4.若nginx未運(yùn)行,則輸入命令進(jìn)行啟動(dòng)
sudo service nginx start
5.查看nginx版本信息
nginx -V
6.瀏覽器輸入ubuntu所在服務(wù)器的ip地址
當(dāng)我們看到如圖所示,即說(shuō)明nginx安裝成功!
二.vue項(xiàng)目代碼打包
方式一: 在vscode的終端輸入
npm run build
方式二: 點(diǎn)擊如圖的紅色方形部分的npm腳本進(jìn)行項(xiàng)目代碼打包
打包成功,則終端輸出信息如下
當(dāng)前目錄下生成的dist文件夾就是打包好的vue項(xiàng)目代碼
三.ubuntu修改nginx配置文件
nginx是依賴于其配置文件進(jìn)行工作的,其配置文件路徑是/etc/nginx/nginx.conf
使用下面的命令來(lái)查看默認(rèn)配置文件
cat /etc/nginx/nginx.conf
如果你不想看到注釋和空白,可以使用以下命令只顯示具體內(nèi)容
cat /etc/nginx/nginx.conf | grep -vE "#|^$"
接下來(lái)我將每行進(jìn)行注釋(注釋以#開頭):
user www-data; # 運(yùn)行 Nginx 的用戶 worker_processes auto; # 自動(dòng)設(shè)置 worker 進(jìn)程數(shù)為 CPU 核心數(shù) pid /run/nginx.pid; # Nginx 的 PID 文件路徑 include /etc/nginx/modules-enabled/*.conf; # 包含模塊配置文件 events { # 事件處理模塊的配置 worker_connections 768; # 每個(gè) worker 進(jìn)程的最大連接數(shù) } http { # HTTP 核心模塊的配置 sendfile on; # 開啟 sendfile 功能 tcp_nopush on; # 開啟 tcp_nopush 功能 types_hash_max_size 2048; # 設(shè)置 types_hash_max_size 參數(shù)的值 include /etc/nginx/mime.types; # 包含 MIME 類型定義文件 default_type application/octet-stream; # 默認(rèn) MIME 類型 ssl_prefer_server_ciphers on; # 開啟 SSL/TLS 功能 access_log /var/log/nginx/access.log; # 訪問(wèn)日志文件路徑 error_log /var/log/nginx/error.log; # 錯(cuò)誤日志文件路徑 gzip on; # 開啟 Gzip 壓縮 include /etc/nginx/conf.d/*.conf; # 包含其他配置文件 include /etc/nginx/sites-enabled/*; # 包含虛擬主機(jī)配置文件 }
這里,我們只需要了解其中重要的3個(gè)部分:
第1行的
www-data
是運(yùn)行nginx的用戶,后面我們需要把該用戶加入當(dāng)前ubuntu用戶所屬組,保證www-data
有足夠權(quán)限訪問(wèn)當(dāng)前ubuntu用戶目錄下的前端文件(因?yàn)楸救耸前亚岸宋募穆窂教砑釉诋?dāng)前ubuntu用戶目錄下的)。
倒數(shù)第3行的
include /etc/nginx/conf.d/*.conf;
可以理解為把路徑/etc/nginx/conf.d
下的所有以.conf結(jié)尾的文件都復(fù)制到這里,而路徑/etc/nginx/conf.d
下的所有文件代表虛擬主機(jī)配置文件。
倒數(shù)第2行的
include /etc/nginx/sites-enabled/*;
可以理解為把路徑/etc/nginx/sites-enabled
下的所有文件復(fù)制到這里,當(dāng)我們進(jìn)入目錄/etc/nginx/sites-enabled
下,會(huì)發(fā)現(xiàn)只有default
一個(gè)文件。
總結(jié)一下,當(dāng)nginx運(yùn)行的時(shí)候,會(huì)加載配置文件/etc/nginx/nginx.conf
,而這個(gè)配置文件里面包含了目錄/etc/nginx/sites-enabled
下的所有文件(即文件default)
這時(shí)可以參考之前查看 nginx.conf 的方式來(lái)查看default文件:cd /etc/nginx/sites-enabled
cat ./default | grep -vE "#|^$"
default文件內(nèi)容如下:
文件中的配置信息進(jìn)行注釋,(以 # 開頭)
# 虛擬主機(jī)的配置 server { # 偵聽 80 端口,分別配置了 IPv4 和 IPv6 listen 80 default_server; listen [::]:80 default_server; # 定義服務(wù)器的默認(rèn)網(wǎng)站根目錄位置 root /var/www/html; # 定義主頁(yè)的文件名 index index.html index.htm index.nginx-debian.html; # 定義虛擬服務(wù)器的名稱 server_name _; # location 塊 location / { try_files $uri $uri/ =404; } }
當(dāng)我們?cè)跒g覽器訪問(wèn)網(wǎng)站的時(shí)候是默認(rèn)80端口的,如果我們需要在其他端口訪問(wèn)網(wǎng)站,例如8080端口,則需要修改listen 80 為listen 8080,則訪問(wèn)網(wǎng)站的時(shí)候需要在ip地址后面加上:8080。
如果我們想更改網(wǎng)站文件存放的路徑,直接修改 root 的路徑就可以了
四.部署前端代碼
理解上面內(nèi)容后,我們可以開始部署前端文件了。一般情況下,我們是不會(huì)去修改nginx原有的配置文件內(nèi)容,而是另外添加一些關(guān)鍵的文件,使得nginx在運(yùn)行的時(shí)候順帶執(zhí)行咱們添加的文件來(lái)完成相應(yīng)的功能。
1.進(jìn)入目錄/etc/nginx/sites-enabled,創(chuàng)建文件myweb.conf,名字可以任意取,但是必須以.conf結(jié)尾
cd /etc/nginx/sites-enabled
sudo touch myweb.conf
把以下內(nèi)容添加到myweb.conf文件里面:
server { listen 8070 default_server; #可以把8070修改為你需要設(shè)置的端口號(hào) root /home/ubuntu/project/dist; #你的前端文件存放的路徑地址 index index.html index.htm; #保證你的dist文件夾下面有個(gè)文件叫做index.html server_name localhost; #這里的localhost替換為你自己的ubuntu所在ip地址 ubuntu location / { try_files $uri $uri/ =404; } }
根據(jù)自己的情況進(jìn)行以下修改:
listen 8070 default_server;
這里的8070可以修改為你需要設(shè)置的端口號(hào)root /home/ubuntu/project/dist;
這里的/home/ubuntu/project/dist
可以修改為你存放前端代碼的具體路徑,建議在當(dāng)前ubuntu用戶目錄下新建一個(gè)project文件夾,把之前打包好的前端代碼文件夾dist放在這里server_name localhost;
這里的localhost替換為你自己的ubuntu所在的ip地址
總結(jié)一下,我們?yōu)槭裁匆砑觤yweb.conf在目錄/etc/nginx/sites-enabled
下,因?yàn)橹坝兄v過(guò)nginx運(yùn)行的時(shí)候是要加載目錄/etc/nginx/sites-enabled
下的所有文件,這樣當(dāng)然也就順便把文件myweb.conf加載啦,而myweb.conf文件存放的是我們部署的前端代碼文件的一些信息,這樣nginx就能加載到咱們的前端代碼啦。
2.上傳打包好的前端代碼文件夾dist到當(dāng)前ubuntu用戶所在的目錄下,如/home/ubuntu/project
,該目錄需要根據(jù)自己的情況進(jìn)行相應(yīng)的修改,需要保證與myweb.conf文件下的root行所在的路徑一致即可。
3.把nginx用戶www-data添加到當(dāng)前ubuntu的用戶所屬組:使用命令groups
查看當(dāng)前用戶所屬組,例如
可以看到紅色方框即為當(dāng)前用戶所屬組,接著使用命令把用戶www-data添加到當(dāng)前用戶組ubuntu
sudo usermod -a -G ubuntu www-data
該命令根據(jù)自己實(shí)際情況進(jìn)行修改。
我們可以查看當(dāng)前用戶組的所有用戶,判斷是否添加成功:
getent group ubuntu
可以看到,我們添加成功了,這樣nginx用戶就有權(quán)限訪問(wèn)到咱們的前端代碼啦!
4.在ubuntu所在的云服務(wù)器或者虛擬機(jī)添加防火墻規(guī)則,允許訪問(wèn)8070端口:
我這里使用的是云服務(wù)器,因此需要添加防火墻規(guī)則
5.在瀏覽器輸入ip地址:8070即可訪問(wèn)到前端界面啦!
總結(jié)
到此這篇關(guān)于Ubuntu22.04使用nginx部署vue前端項(xiàng)目的文章就介紹到這了,更多相關(guān)Ubuntu用nginx部署vue項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- ubuntu 下的nginx服務(wù)器配置詳解
- ubuntu16.04服務(wù)器配置ssh免密碼登錄
- Ubuntu服務(wù)器配置apache2.4的限速功能shell腳本分享
- ubuntu上配置Nginx+PHP5 FastCGI服務(wù)器配置
- 在Ubuntu?Server?22.04上安裝?Docker的詳細(xì)步驟記錄
- Ubuntu?22.04或20.04安裝Oracle?SQL?Developer的圖文教程
- Ubuntu22.04系統(tǒng)下升級(jí)nodejs到v18版本
- Ubuntu22.04系統(tǒng):fatal:?無(wú)法連接到?github.com
- Ubuntu?22.04.1?LTS?編譯安裝?nginx-1.22.1的配置過(guò)程
- ubuntu 22.04搭建OpenVPN服務(wù)器的詳細(xì)圖文教程
- ubuntu22.04將python源切換為清華源的方法
- ubuntu?22.04安裝mysql?8.0步驟與避坑指南
- Ubuntu22.04 LTS 上安裝Redis的過(guò)程
- ubuntu22.04?server安裝及使用詳細(xì)圖文教程
- Ubuntu22.04安裝PyTorch1.12.1 GPU版本全過(guò)程
- Virtualbox 下 Ubuntu 22.04 網(wǎng)絡(luò)互通/固定IP 配置方法
- VMware?虛擬機(jī)圖文安裝和配置?Ubuntu?Server?22.04?LTS?的詳細(xì)步驟
- Ubuntu?22.04?服務(wù)器安裝部署(nginx+postgresql)
相關(guān)文章
Vue路由跳轉(zhuǎn)傳參或者打開新頁(yè)面跳轉(zhuǎn)問(wèn)題
這篇文章主要介紹了Vue路由跳轉(zhuǎn)傳參或者打開新頁(yè)面跳轉(zhuǎn)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03vue計(jì)算屬性想要傳入?yún)?shù)如何解決
這篇文章主要介紹了vue計(jì)算屬性想要傳入?yún)?shù)如何解決問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01vue3中el-table實(shí)現(xiàn)多表頭并表格合并行或列代碼示例
這篇文章主要給大家介紹了關(guān)于vue3中el-table實(shí)現(xiàn)多表頭并表格合并行或列的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-02-02可能是全網(wǎng)vue?v-model最詳細(xì)講解教程
Vue官網(wǎng)教程上關(guān)于v-model的講解不是十分的詳細(xì),寫這篇文章的目的就是詳細(xì)的剖析一下,下面這篇文章主要給大家介紹了關(guān)于vue?v-model最詳細(xì)講解的相關(guān)資料,需要的朋友可以參考下2022-11-11解決vue中數(shù)據(jù)更新視圖不更新問(wèn)題this.$set()方法
這篇文章主要介紹了解決vue中數(shù)據(jù)更新視圖不更新問(wèn)題this.$set()方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06Vue2.0用 watch 觀察 prop 變化(不觸發(fā))
本篇文章主要介紹了Vue2.0用 watch 觀察 prop 變化(不觸發(fā)),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09