從0開始搭建seldom-platform平臺

语兮發表於2024-06-26

一、前言

seldom-platform平臺蟲師已經出挺久了,但是之前因為沒有linux環境,導致一直無法嘗試搭建,這次自己建立個虛擬機器linux環境,從0開始搭建,因為蟲師的文件有些沒咋搞懂,邊參考邊自己找資料。

二、linux環境搭建

1、下載VMware虛擬機器,現在免費了,直接下載即可免費試用

https://www.filehorse.com/download-vmware-workstation/

2、下載linux的映象包

3、全部下載後,安裝建立即可;

4、系統安裝完成後,需要配置ssh可以外部訪問

5、Ubuntu的系統:

sudo apt update 
sudo apt install openssh-server

  如果openssh-server出現在列表中,那麼它就已經安裝了。

啟動並啟用SSH服務:

sudo systemctl start sshd  
sudo systemctl enable sshd

  驗證SSH服務是否正在執行

sudo systemctl status sshd

6、配置後,可以透過外部ssh工具訪問此linux環境。

三、後端部署配置

1. 安裝 VMware Tools

安裝 VMware Tools 以最佳化虛擬機器效能:

sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop -y

  

2. 準備伺服器環境

更新系統包:

sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop -y

3. 安裝必要的軟體

安裝 Git、Python 和 pip:

sudo apt install git python3 python3-pip -y
sudo apt install python3-virtualenv

4. 克隆專案並設定虛擬環境

建立一個seldom的資料夾

克隆你的 Git 專案:

cd seldom/
git clone https://github.com/SeldomQA/seldom-platform.git 

在專案目錄下建立一個虛擬環境並啟用它:

cd seldom-platform/
virtualenv venv source venv/bin/activate

5. 安裝專案依賴

在虛擬環境中安裝專案依賴:

 pip install -r backend/requirements.txt

6. 設定資料庫

參考開發文件:https://github.com/SeldomQA/seldom-platform/blob/main/backend/README.md

cd backend/
python manage.py makemigrations
python manage.py migrate

python .\manage.py createsuperuser
使用者名稱 (leave blank to use 'user'): guest
電子郵件地址: guest@gmail.com
Password:
Password (again):
Superuser created successfully.

7、安裝和啟用Redis

 sudo apt install redis-server
redis-server

8、執行

直接使用文件的步驟即可,注意需要修改配置項

注意,需要進入cd backend/

檔案路徑改成自己專案的路徑

執行後如圖:

四、前端部署配置

本次使用的是frontendv3的前端專案

使用文件:https://github.com/SeldomQA/seldom-platform/blob/main/frontendv3/README.md

1、安裝:node.js > 16

sudo apt install nodejs
//檢查安裝版本
node -v

2.安裝npm

sudo apt install npm

3、安裝pnpm

sudo npm install -g pnpm

4、安裝專案依賴,根據package.json檔案

cd frontendv3/
pnpm install

5、啟動

pnpm dev

 啟動後,使用ip可檢視

 6、配置(注意點)

這裡配置注意改成和後端配置的一樣的埠號,

生產環境的url改成啟動後這個的ip

修改說明,埠改成前面配置的8080

看下圖,後端部署的時候,這裡是什麼埠,前端也改成什麼

7、部署執行

1)打包

pnpm build

注意:使用此命令,因為原專案那些檔名都是小寫,但是打包都是找大寫,所以需手動將檔名的首字母都改成大寫即可;

2)配置nginx

1. 建立新的 Nginx 配置檔案

使用 nano 編輯器建立並開啟一個新的配置檔案:

sudo nano /etc/nginx/sites-available/seldomplatform

2. 在檔案中新增配置

將以下內容複製並貼上到 nano 編輯器中:

server {
    listen 80;
    server_name seldom.testpub.cn;
    
    # 前端打包
    root /home/app/seldom-platform/frontendv3/dist;
    index index.html index.htm;

    keepalive_timeout 70;

    gzip on;
    gzip_min_length 200;
    gzip_buffers 4 16k;
    gzip_comp_level 6;
    gzip_types text/plain application/javascript text/css application/xml text/javascript application/json;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";
    gzip_proxied any;

    # 後端服務
    location /api/ {
        proxy_pass http://127.0.0.1:8003;
        proxy_pass_request_headers on;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    # 靜態資源
    location /static {
        expires 30d;
        autoindex on;
        add_header Cache-Control private;
        alias /home/app/seldom-platform/backend/static;
    }
}

  

3. 儲存檔案並退出

Ctrl+O 儲存檔案,按 Enter 確認檔名,然後按 Ctrl+X 退出 nano 編輯器。

4. 建立符號連結到 sites-enabled

將配置檔案的符號連結放到 sites-enabled 目錄,以啟用它:

sudo ln -s /etc/nginx/sites-available/seldomplatform /etc/nginx/sites-enabled/

  

5. 測試 Nginx 配置

在啟用新配置前,測試 Nginx 配置以確保沒有語法錯誤:

sudo nginx -t

  

如果配置正確,終端會顯示類似如下的輸出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

  

6. 重啟 Nginx 服務

最後,重啟 Nginx 服務以應用新配置:

sudo systemctl restart nginx

  

7、檢視

瀏覽器訪問:http://localhost:4173/

若是使用外網就是訪問的生產環境的url

就可以檢視登入頁面了,輸入註冊初始賬號,即配置資料庫時的賬號,即可登入

注意:前端和後端都需要啟動執行。

登入後如下圖

相關文章