Linux 搭建Django環境 + nginx + virtualenv虛擬環境


Linux 搭建Django環境 + nginx + virtualenv虛擬環境

整理來源:https://www.django.cn/article/show-4.html

第一步:安裝寶塔 (用於可視化,方便管理,后期裝數據庫方便)

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

第二步:使用 寶塔 安裝數據庫

略。

第三步:

一、更新系統軟件包

yum update -y  

二、安裝軟件管理包和可能使用的依賴

yum -y groupinstall "Development tools"
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc

三、下載Pyhton3到/usr/local 目錄

cd /usr/local
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

解壓

tar -zxvf Python-3.6.6.tgz

進入 Python-3.6.6路徑

cd Python-3.6.6

編譯安裝到指定路徑

./configure --prefix=/usr/local/python3

注意:/usr/local/python3 路徑可以自己指定,自己記着就行,下邊要用到。

安裝python3

make
make install

安裝完成之后 建立軟鏈接 添加變量 方便在終端中直接使用python3

ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3

Python3安裝完成之后pip3也一塊安裝完成,不需要再單獨安裝
同樣給pip3建立軟鏈接

ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

四、查看Python3和pip3安裝情況

python3
pip3 -v

五、安裝virtualenv ,建議大家都安裝一個virtualenv,方便不同版本項目管理。

pip3 install virtualenv

建立軟鏈接

ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

安裝成功在根目錄下建立兩個文件夾,主要用於存放env和網站文件的。(個人習慣,其它人可根據自己的實際情況處理)

mkdir -p /data/env
mkdir -p /data/wwwroot

六、切換到/data/env/下,創建指定版本的虛擬環境。

/data/env/
virtualenv --python=/usr/bin/python3 pyweb

然后進入/data/env/pyweb/bin
啟動虛擬環境:

cd /data/env/pyweb/bin 
source activate
右下角出現(pyweb),說明是成功進入虛擬環境。

七、虛擬環境里用pip3安django和uwsgi

pip3 install django==1.11.11 (指定安裝和你項目相同的版本)
pip3 install uwsgi

留意:uwsgi要安裝兩次,先在系統里安裝一次,然后進入對應的虛擬環境安裝一次。

給uwsgi建立軟鏈接,方便使用

ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

八、本地項目搬遷到服務器

1、修改Django配置settings文件中ALLOWED_HOSTS,['*'],可以讓任何IP訪問

1、在項目目錄下用下面的命令把當前的環境依賴包導出到requirements.txt文件

pip freeze > requirements.txt

2、把項目源碼壓縮打包。上傳到服務器對應的目錄里,解壓。

3、進入虛擬環境

cd /data/env/pyweb/bin
source activate

4、進入項目路徑安裝requirements.txt里的依賴包。

pip3 install -r requirements.txt

5、通過python3 manage.py runserver 運行一下項目,如果能正常啟動則進行下一步,不能正常運行往上檢查。

九、Django正常運行之后我們就開始配置一下uwsgi。

我們網站項目路徑是 /data/wwwroot/mysite/,在項目根目錄下創建
mysite.xml文件,輸入如下內容:

<uwsgi>    
   <socket>127.0.0.1:8997</socket> <!-- 內部端口,自定義 --> 
   <chdir>/data/wwwroot/mysite/</chdir> <!-- 項目路徑 -->            
   <module>mysite.wsgi</module>  <!-- mysite為wsgi.py所在目錄名--> 
   <processes>4</processes> <!-- 進程數 -->     
   <daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>

保存
注意 里的mysite,為wsgi.py所在的目錄名。

十、安裝nginx和配置nginx.conf文件

進入home目錄,執行下面命令

cd /home/
wget http://nginx.org/download/nginx-1.13.7.tar.gz

下載完成后,執行解壓命令:

tar -zxvf nginx-1.13.7.tar.gz

進入解壓后的nginx-1.13.7文件夾,依次執行以下命令:

./configure
make
make install

nginx一般默認安裝好的路徑為/usr/local/nginx
在/usr/local/nginx/conf/中先備份一下nginx.conf文件,以防意外。

cp nginx.conf nginx.conf.bak

然后打開nginx.conf,把原來的內容刪除,直接加入以下內容:

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen 80;
        server_name  www.django.cn; #改為自己的域名,沒域名修改為127.0.0.1:80
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8997;  #端口要和uwsgi里配置的一樣
           uwsgi_param UWSGI_SCRIPT mysite.wsgi;  #wsgi.py所在的目錄名+.wsgi
           uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite/; #項目路徑
           
        }
        location /static/ {
        alias /data/wwwroot/mysite/static/; #靜態資源路徑
        }
    }
}

要留意備注的地方,要和UWSGI配置文件mysite.xml,還有項目路徑對應上。
進入/usr/local/nginx/sbin/目錄
執行./nginx -t命令先檢查配置文件是否有錯,沒有錯就執行以下命令:

./nginx

終端沒有任何提示就證明nginx啟動成功。可以使用你的服務器地址查看,成功之后就會看到一個nginx歡迎頁面。

​ 之后,在settings.py里設置:

​ 1、關閉DEBUG模式。

​ DEBUG = False

​ 2、ALLOWED_HOSTS設置為* 表示任何IP都可以訪問網站。

​ ALLOWED_HOSTS = ['*']

十五、訪問項目的頁面。

每次項目啟動方式

cd /data/env/pyweb/bin 進入虛擬環境
source activate 啟動虛擬環境

啟動nginx
cd /usr/local/nginx/sbin/   
./nginx

啟動 ( mysite 為你自己的項目名 )
cd /data/wwwroot/mysite
uwsgi -x  mysite.xml 

啟動項目(建議使用下面的后台執行,80為項目端口)
python3 manage.py runserver 0.0.0.0:80

在后台執行 (執行完以后需要用’exit‘正常退出Linux系統):
nohup python manage.py runserver 0.0.0.0:80 2>log &
ps -aux  查詢所有后台程序
kill DIP  # 結束后台

成功訪問!
里面最值得留意的就是項目的路徑不要弄錯,還有,項目的所有操作都要在虛擬環境下進行。

環境部署部份,懶的話,直接復制我的代碼直接部署就行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM