部署前後端分離專案

2022-04-25 03:01:06 字數 3596 閱讀 8126

1 將專案上傳到伺服器上

方法一:使用xftp工具,進項上傳資料夾,將專案**,傳到linux伺服器當中

方式2: 使用scp從本地將檔案上傳到linux伺服器中

scp -r  本地資料夾  遠端使用者名稱@遠端ip:遠端資料夾/
2 將mysql資料遷移到伺服器資料庫

資料匯入匯出

在linux服務端,mysql,匯入knight的資料

1.mysql資料的匯出,與匯入

這個命令是在linux/windows中敲的

mysqldump -u root -p --all-databases > knight.dump

2.上傳這個資料檔案到linux資料庫中

3.在linux的mysql,匯入這個資料檔案

mysql -uroot -p < /opt/knight.dump

注意:linux的資料庫,需要對root使用者設定遠端鏈結的許可權

grant all privileges on *.* to root@'%' identified by 'redhat';

# 授權所有的許可權,在所有庫,所有表 對 root使用者在所有的主機上, 許可權密碼為redhat, 注意是自己設定的密碼

# 重新整理授權表

flush privileges;

注意2:linux的防火牆要給關閉,否則windows去鏈結linux的3306埠可能被拒絕

centos7預設已經使用firewall作為防火牆了

1.關閉防火牆

systemctl status firewalld #檢視防火牆狀態

systemctl stop firewalld #關閉防火牆

systemctl disable firewalld#關閉防火牆開機啟動

systemctl is-enabled firewalld.service#檢查防火牆是否啟動

wget
解壓node原始碼包

tar -zxvf node-v8.6.0-linux-x64.tar.gz

# 檢視

ls# 進入

cd node-v8.6.0-linux-x64/

將node命令加入path環境變數中,方便呼叫

vim /etc/profile

# 在底行新增**

path=$path:/opt/node-v8.6.0-linux-x64/bin

# 儲存退出

# 讀出該檔案,使其生效

source /etc/profile

# 檢視該變數看是否成功

echo $path

# 測試

node -v

npm -v

進入到vue專案中,打包node模組

cd 07-luffy_project_01/
安裝vue模組,預設安裝該目錄中的package.json模組.如果出錯,請手動安裝

npm install  # 該命令執行後會生成node_modules檔案
此時注意,你本地寫的vue**,介面很可能連線的伺服器位址有問題,注意axios.post提交的位址,一定得傳送給django應用(如果用了nginx,就傳送給nginx的入口埠)

這裡為了試驗方便,將vue專案和django專案放在了一台伺服器,通過nginx反向**功能(8000埠),**vue請求給django(9000)

準備編譯打包vue專案,使用sed命令替換配置檔案中所有的位址,給為伺服器位址

sed -i 's/127.0.0.1/192.168.11.99/g' /opt/opt/07-luffy_project_01/src/restful/api.js

# 將該路徑下的所有127.0.0.1換成192.168.11.99

注意:換成自己的伺服器位址,換成自己的伺服器位址,換成自己的伺服器位址打包,生成乙個dist靜態檔案

npm run build

# 檢查該檔案

ls dist/

# 結果

index.html static

配置完成

1 使用virtulenv管理django專案(2選一即可)

mkvirtualenv drf

# 進入該虛擬環境

workon drf

# 停止該虛擬環境

deactivate

2 使用pipenv安裝專案的依賴包

進入專案中,新建requirements.txt檔案,寫入專案相關的依賴包

touch requirements.txt

vim requirements.txt

指定python直譯器版本

pipenv --python python3

pipenv shell

安裝依賴包

pipenv install

設定django的靜態檔案目錄,收集一下

修改專案中settings.py,寫下如下引數

static_root= '/opt/static'   #該路徑根據實際放置
使用命令收集django的靜態檔案

python manage.py collectstatic
檢視django的靜態檔案收集目錄

ls /opt/static
配置nginx,進行反向**,找到uwsgi專案,且配置nginx處理uwsgi的靜態檔案

編輯nginx.conf

server 

error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#error_page 500 502 503 504 /50x.html;

location = /50x.html

}server

location /static

}

這步要注意自己的路徑,和**

重啟nginx

./nginx/sbin/nginx -s reload
此時專案就已經完全可以執行了

前後端分離專案

由於目前公司需要為已經存在的專案統一單點登入,而技術選型後採用的是apereo的cas。但是由於官方cas文件的混亂性 你懂得!並且其官方的例項和網上的例項教程都是基於傳統的專案 也就是非前後端分離專案 因此對於前後端分離的專案整合cas的可參考的資料就比較少,於是就有了下面的前後端分離專案基於ca...

angular前後端分離部署

最近寫了乙個小專案玩,前端是angular,後端是koa,分離部署,著實折騰了一天。位址在 yukarin.cnng build prod aot通過nginx的gzip,下面馬上說。伺服器上裝好nginx,關於nginx的安裝和配置,可以參看我的這篇。想辦法把打包後的靜態檔案 dist下的那一坨 ...

Docker部署前後端分離專案(二)前端

1 編譯前端專案 2 編譯完後會生成disk目錄,將disk目錄複製到d tmp下,改名為orgmanagement fe 3 在d tmp目錄建立乙個nginx的nginx.conf 4 拉取nginx映象 docker pull nginx5 建立nginx容器 docker run d it ...