一、前言
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
就可以檢視登入頁面了,輸入註冊初始賬號,即配置資料庫時的賬號,即可登入
注意:前端和後端都需要啟動執行。
登入後如下圖