Linux部署Django (Nginx + uwsgi + Python3 + Django)的過程
系統: centos_7 + Python 3.5.2 + nginx-1.13.7 + uWSGI 2.0.17.1 + Django2.2.0
使用阿里雲伺服器,1核2g共享型伺服器,點我直達檢視詳細配置情況。安裝了這麼多後臺服務,記憶體低了真不行。
具體步驟如下:
1.升級Python3
系統自帶的一般為Python2,需要對舊版本進行升級
wget https:// www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar -zxvf Python-3.5.2.tgz
cd Python-3.5.2
./configure
make
make install
檢視結果
python3 -V
Python 3.5.2
設定python 預設版本3.x
ls -al /usr/bin | grep python
-rwxr-xr-x. 1 root root 11216 12月 1 2018 abrt-action-analyze-python
1 root root 6 4月 30 12:11 python -> python2
1 root root 5 4月 30 12:11 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 4月 20 2018 python2.7
將原來 python 的軟連結重新命名:
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
python -V
python 3.5.2
2.升級pip3(該過程可能要安裝 setuptools)
wget https:// pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate
tar xvf pip-1.3.1.tar.gz
python pip-1.3.1/setup.py install
3.安裝Django (很多方法可以自己選)
pip install django
4.安裝uwsgi
pip install uwsgi
5.安裝nginx和配置nginx.conf檔案
wget http:// nginx.org/download/nginx-1.13.7.tar.gz
tar -zxvf nginx-1.13.7.tar.gz
./configure
make
make install
.conf檔案配置
server {
listen 8996; #暴露給外部訪問的埠
server_name localhost;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997; #外部訪問8996就轉發到內部8997
}
location /static/ {
alias /home/www/myproject/myapp/static/; #專案靜態路徑設定
}
}
6.配置diango
127.0.0.1:8997
/home/www/myproject
myproject.wsgi
4
uwsgi.log
7.執行nginx
cd /usr/local/nginx/sbin
./nginx
//沒有任何輸出說明啟動成功
這時候可以開啟網頁訪問對應IP了
8.執行uwgix
cd 到專案
uwsgi -x 專案.xml
// [uWSGI] parsing config file my_blog.xml 一般這樣輸出就說明成功了
這個時候訪問IP就可以開啟具體的網頁嘍
一般來說到這裡就算搞成了,但是現實中肯定有很多問題,對於這些問題我也做了總結有需要的可以檢視Linux 下部署Django專案你可能會遇到的問題!
下面我對經常用的指令做下總結方便日後使用
常用指令
配置 nginx.conf檔案
cd /usr/local/nginx/conf/
vim nginx.conf
啟動: nginx
cd /usr/local/nginx/sbin
./nginx
執行 uwsgi
uwsgi -x my_blog.xml
檢視 nginx 日誌
tail -f /usr/local/nginx/logs/access.log
檢視日誌 uwsgi
tail -f uwsgi.log
檢視程式號
ps -ef|grep nginx
殺死程式
kill 程式ID
檢視埠使用情況
netstat -ntulp|grep 80
MAC檢視埠占用情況
lsof -i tcp:8000
相關文章
- 使用 uWSGI 和 Nginx 部署 Django 專案NginxDjango
- Docker 部署 Django+Uwsgi+Nginx+MySQL+VueDockerDjangoNginxMySqlVue
- 使用nginx+uwsgi部署Django專案NginxDjango
- Django-Nginx-uwsgiDjangoNginx
- Nginx+uWSGI+Django部署web伺服器NginxDjangoWeb伺服器
- Django + Uwsgi + Nginx 實現生產環境部署DjangoNginx
- 【Python】Nginx+uwsgi+Django部署程式碼PythonNginxDjango
- Django+uWSGI+Nginx配置DjangoNginx
- Django Mezzanine uwsgi nginx 配置DjangoNginx
- centos8-django專案部署 nginx+uwsgiCentOSDjangoNginx
- 阿里雲部署Django專案(nginx+uWSGI)阿里DjangoNginx
- 基於nginx和uWSGI在Ubuntu上部署DjangoNginxUbuntuDjango
- Django筆記四十四之Nginx+uWSGI部署Django以及Nginx負載均衡操作Django筆記Nginx負載
- django專案在uwsgi+nginx上部署遇到的坑DjangoNginx
- 一學就會的django專案伺服器部署nginx-uwsgi-django/buildDjango伺服器NginxUI
- Nginx+Django+uWSGI部署伺服器詳細解析NginxDjango伺服器
- Nginx+uwsgi+Django 的web應用環境部署-完整記錄NginxDjangoWeb
- 基於Nginx和uwsgi搭建Django部署上線環境NginxDjango
- centos+nginx+uwsgi部署django專案上線詳解CentOSNginxDjango
- 基於Ubuntu16.04的django+uwsgi+nginx安裝部署UbuntuDjangoNginx
- CentOS7---部署Nginx+uwsgi+Django+python3環境CentOSNginxDjangoPython
- VirtualBox CentOS 7+Django+uwsgi+nginxCentOSDjangoNginx
- CentOS7 + Python3 + Django(rest_framework) + MariaDB + nginx + uwsgi 部署 API 開發環境CentOSPythonDjangoRESTFrameworkNginxAPI開發環境
- 多專案上線Nginx+Django+uwsgiNginxDjango
- Django在Linux上uwsgi 與nginx的問題與解決DjangoLinuxNginx
- DJango部署 Gunicorn+Nginx+Django+supervisor+VirtualenvDjangoNginx
- 阿里雲部署Django專案(nginx+uWSGI)-2018.11阿里DjangoNginx
- Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署最簡記錄(精簡自uwsgi官網教程)UbuntuDjangoNginx
- 阿里雲部署django網站教程(Ngnix +Uwsgi + virtualenv)上篇阿里Django網站
- Nginx + Gunicorn 伺服器配置部署 DjangoNginx伺服器Django
- 使用 Nginx 和 Gunicorn 部署 Django 部落格NginxDjango
- Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web伺服器UbuntuDjangoNginxMySqlPythonWeb伺服器
- Flask——Linux+Nginx+Uwsgi+Supervisor 部署FlaskLinuxNginx
- 記錄一次Django部署到寶塔Linux皮膚的全過程DjangoLinux
- 14 - 使用 Nginx 和 Gunicorn 部署 Django 部落格NginxDjango
- Django + gunicorn + nginxDjangoNginx
- nginx + django on windowsNginxDjangoWindows
- Linux 下部署Django專案LinuxDjango