uwsgi+nginx+Ubuntu部署Django專案(阿里雲)
如果使用預設的python 首先安裝程式需要的包
apt-get install python-dev
apt-get install python-pip
apt-get install net-tools
apt-get install lsof
安裝資料庫
apt-get install mysql-server
apt-get install mysql-client
apt-get install libmysqlclient-dev
更新pip版本
pip install --upgrade pip
apt-get install openssh-server
apt-get install nginx
pip install uwsgi
修改Django專案的配置檔案
DEBUG = False
ALLOWED_HOSTS = ["*"]
在django的setting檔案中,新增下面一行內容:
STATIC_ROOT = os.path.join(BASE_DIR, "static")
然後執行(收集admin後臺的靜態檔案,如果不收集,將來訪問linux的blog的admin將沒有樣式):
Python manage.py collectstatic
上傳好專案之後
python3 manage.py runserver
確定專案能跑起來
進入專案目錄 新建uwsgi.ini檔案 touch uwsgi.ini,修改配置檔案 注意socket埠一定要和nginx配置中的埠保持一致
/etc/nginx/conf.d/下建立專案配置檔案xxx.conf,編輯配置檔案,之一uwsgi_pass要和uwsgi.ini中的埠一致,配置完成後執行service nginx restart重啟nginx服務
進入專案uwsgi所在目錄,執行uwsgi --ini xxx.ini 啟動專案
其中遇到了一個錯誤
no request plugin is loaded, you will not be able to manage requests.
you may need to install the package for your language of choice, or simply load it with --plugin.
查閱之後下載了 uwsgi-plugin-python
apt-get install uwsgi-plugin-python
但是並沒有什麼用。然後找了半天將其中的python改為python3 成功!
預設下載的是uwsgi-plugin-python2版本的
我用的是自帶的python3.5
吶 就醬