具體的操作步驟
步驟一 更新系統和安裝依賴,
sudo yum update
sudo yum install python3 python3-pip python3-devel git
步驟二:創建并激活虛擬環境 在終端中執行以下命令:
python3 -m venv myenv
source myenv/bin/activate
可以不創建虛擬環境,
步驟三:安裝Django和其他必需的庫 在虛擬環境中執行以下命令:
pip install django gunicorn
步驟四:克隆項目源代碼 使用git命令克隆Django項目源代碼到合適的目錄:
git clone https://github.com/your_username/your_project.git
其實如果是本地的項目, 可以通過遠程工具連接服務器然后傳輸上去,我用的是winscp,直接拖拉上去
步驟五:配置Django項目 進入到項目目錄中,編輯settings.py文件,配置數據庫等相關信息:
cd your_project
vi settings.py
步驟六:運行數據庫遷移命令 在終端中執行以下命令,將Django應用所需的數據庫結構遷移到數據庫中:
python manage.py migrate
步驟七:收集靜態文件 在終端中執行以下命令,收集Django項目中的靜態文件到STATIC_ROOT目錄:
python manage.py collectstatic
步驟八:測試Django項目 在終端中執行以下命令,啟動Django開發服務器并測試項目是否正常運行:
python manage.py runserver
在瀏覽器中訪問http://服務器IP地址:8000,如果能夠看到預期的頁面,則表示Django項目已經成功部署。
步驟九:配置Nginx反向代理和Gunicorn 安裝Nginx:
sudo yum install nginx
創建Nginx配置文件:
sudo vi /etc/nginx/conf.d/myproject.conf
在該文件中添加以下內容:
upstream app_server {server unix:/path/to/your_project/gunicorn.sock fail_timeout=0;
}server {listen 80;server_name example.com;access_log /var/log/nginx/access.log;location / {proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_redirect off;proxy_pass http://app_server;}
}
重啟Nginx服務:
sudo systemctl restart nginx
啟動Gunicorn服務器:
gunicorn your_project.wsgi:application --bind
至此,你的Django項目應該已經成功部署到CentOS中。
下面是一些可能遇到的問題:
文件權限問題:確保對Django項目文件夾及其子文件有足夠的權限,避免出現權限錯誤。
數據庫連接問題:如果使用了數據庫,請確保數據庫的連接信息正確,并且數據庫服務正常運行。
端口沖突問題:如果端口8000已經被占用,你可以嘗試使用其他端口號,或者在Nginx配置中修改代理端口。
靜態文件問題:如果靜態文件無法正常加載,可以檢查STATIC_URL和STATIC_ROOT配置是否正確,并確保靜態文件已經成功收集到STATIC_ROOT目錄。
日志和錯誤調試:在遇到問題時,可以查看Django項目的日志文件和錯誤輸出,以更好地定位和解決問題。
我這邊遇到一個是沒有表的錯誤,主要是部署到服務器上沒有做數據遷移,重新遷移一下就好了
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver 重新運行即可。
提前祝你成功部署Django項目!如果還有其他問題,歡迎隨時提問。