AutoDL GPU實例部署Apache Django服務

想要在AutoDL平臺提供的GPU實例上部署一個Django的Apache服務,和之前阿里云的部署還有一些不一樣,踩了一些坑,這里分享一下。

之前阿里云的部署流程可以參考:

這篇文章將在上面兩篇文章的基礎上,大概總結一下AutoDL平臺部署時需要注意的地方。

python路徑問題

如果按照上面文章的方案安裝django和其他依賴,啟動apache之后,會發現錯誤日志里報錯:No module named django,好像是因為AudoDL的python和pip安裝都是給root用戶的,而apache沒有root用戶的權限。

解決辦法只能使用python的virtual env,參考:https://docs.python.org/3/tutorial/venv.html

我們可以把我們的django項目放在/var/www目錄下,避免一些不必要的權限問題。然后,在目錄下創建一個virtual environment:python3 -m venv venv1,這樣就創建了一個名為venv1的虛擬環境,而之后我們安裝各種依賴都需要安裝到這個虛擬環境當中。

首先,輸入source venv1/bin/activate啟動虛擬環境,之后,在命令行中使用pip3安裝各種依賴,比如:

pip3 install django

依賴都安裝好之后,需要在apache的配置文件中指定虛擬環境的路徑,讓apache的wsgi使用虛擬環境的python解釋器。進入到conf文件(參考上面的文章),在最后指定:

WSGIPythonHome /var/www/venv1

端口配置

AutoDL平臺的實例并沒有開放http默認的80端口,而是要求如果要提供自定義服務的話,需要讓服務去監聽6006端口。因此,我們需要讓apache去監聽6006端口。

首先,修改/etc/apache2/ports.conf,將其中的端口從80修改為6006

其次,修改我們自己網站的conf文件(參考之前文章),將第一行的VirtualHost的端口從80改為6006:

<VirtualHost *:6006>

之后重啟apache:

sudo service apache2 reload
sudo service apache2 restart

就可以通過AutoDL提供的地址訪問了

依賴安裝

在virtual env中安裝依賴時,因為AutoDL配置的pip源問題,有一些依賴可能下載速度很慢,甚至可能找不到我們需要的版本。

對于下載速度很慢的依賴,我們可以先手動去下載.whl文件,然后上傳到服務器上,然后在virtual env中,手動運行pip3 install XXX.whl來安裝。

對于找不到依賴對應版本的情況,建議直接更換一個pip源,可以在安裝依賴時,使用:

pip3 install XXX --extra-index-url=https://pypi.tuna.tsinghua.edu.cn/simple

這樣下載速度就會很快了。

import路徑問題

需要注意當django服務運行時,它的主路徑是manage.py文件所在的路徑,而我們網站代碼中的所有import,都需要按照這個路徑去import。

所以比如說,我們想要import stable-diffusion-webui中的modules模塊,最好就是將modules文件夾放在manage.py同一目錄下,避免import問題

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容