nginx+uwsgi+django環境搭建
阿新 • • 發佈:2018-12-14
- Nginx 1.10.3
- uWSGI
- Django-2.1.1
1. 下載配置Django
- 使用pip3安裝Django,先安裝pip3
sudo apt-get install -y python3-pip pip3 install django
- 安裝完成後測試Django能否正常執行 在**/opt/目錄下建立名為index**的Django工程
cd /opt django-admin startproject index cd index mkdir static # 建立靜態資源目錄
vim index/settings.py # 修改Django配置檔案 在檔案末尾新增
STATIC_ROOT = os.path.join(BASE_DIR,'static')
執行python manage.py collectstatic收集靜態資原始檔
python3.5 index/manage.py runserver 0.0.0.0:8080 瀏覽器輸入127.0.0.1:8080 測試成功繼續下一步
2. uWSGI配置
- 下載uwsgi
pip3 install uwsgi
- 測試uwsgi執行情況,使用uwsgi執行Django工程
cd /opt/index uwsgi --http :8080 --module index.wsgi
–http :8080:使用http協議,埠8080 –module:載入的檔案 在瀏覽器中輸入127.0.0.1:8080訪問站點
3. Nginx配置
- 下載Nginx
sudo apt-get install -y nginx sudo service nginx start
nginx預設使用的是80埠,所以在瀏覽器中可直接訪問127.0.0.1
4. Nginx+uWSGI+Django
- 複製uwsgi_params檔案到index目錄下
sudo cp /etc/nginx/uwsgi_params /opt/index/
- 在index目錄下建立nginx伺服器配置檔案
vim index_nginx.conf 新增如下內容
upstream django { server 127.0.0.1:8080; # uwsgi埠號 } server { listen 8000; # nginx監聽埠 server_name 127.0.0.1; # 伺服器域名 charset utf-8; # 字符集 client_max_body_size 75M; # 客戶端最大上傳 location /static { alias /path/to/your/mysite/static; # 靜態資源目錄 } location / { uwsgi_pass django; include /path/to/your/mysite/uwsgi_params; # uwsgi_params目錄 } }
- 刪除**/etc/nginx/sites-enabled/defualt預設伺服器檔案 為index_nginx.conf**建立軟連線
sudo ln -s /opt/index/index_nginx.conf /etc/nginx/sites-enabled/
- 建立uwsgi配置檔案
vim index_uwsgi.ini 新增如下內容
[uwsgi] chdir = /opt/index # 站點主目錄 module = index.wsgi # 載入檔案 master = true # 啟用程序 processes = 10 # 啟用10個程序 socket = :8080 # 埠號 vacuum = true # 退出時清除虛擬環境 pidfile = /tmp/uwsgi.pid # 生成uwsgi啟動程序id檔案,用於 --stop | --reload
5. 測試
- 重啟nginx
sudo service nginx restart
- 使用uwsgi啟動django
uwsgi --ini index_uwsgi.ini
- 在瀏覽器中直接輸入127.0.0.1成功訪問django站點