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. 1 root root 6 4月 30 12:11 python -> python2
  2. 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

<chdir>/home/www/myproject</chdir><!-- 項目路徑 -->
    <module>myproject.wsgi</module>
        <processes>4</processes> <!-- 進程數 --> 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章