部署Django到雲伺服器(centos+nginx+mysql+uwsgi+python3)【操作篇(2)】
阿新 • • 發佈:2018-11-01
(七)建立Django專案
- (1)建立資料夾,存放網站
mkdir -p /data/wwwroot
- (2)給uwsgi建立軟連結,方便使用
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
- (3)切換到網站目錄/data/wwwroot,建立django
cd /data/wwwroot django-admin.py startproject mysite
建立成功之後,/data/wwwroot下面就會多出一個mysite資料夾,我們的專案就在這個資料夾裡。
- (4)然後新建立一個名叫bbs的APP
cd mysite
python3 manage.py startapp bbs
有些朋友到這步可能會報錯
ImportError: No module named ‘_sqlite3’ ;
-
報錯的解決辦法如下:
- 首先嚐試:
pip3 install sqlite
pip3 install sqlite3
這裡有些朋友可能還會遇到錯誤提示:
yum install sqlite-devel
然後提示安裝成功
之後需要將Python基於程式碼的安裝包重新編譯一下,並重新安裝之後,方可生效:
cd /usr/local/python3
./configure –prefix=python-install-folder
make & make install
重新執行程式就會發現原有的錯誤資訊已經解決了。
-
這裡jacky做一個總結:
- 在Python中呼叫sqlite的驅動或者類庫不是通過pip來進行安裝的,需要yum來進行安裝器開發包,這個是需要注意的。
-
(5)新增static和templates資料夾
- 進入專案資料夾/data/wwwroot/mysite,新增static和templates,分別用於存放靜態檔案和模板檔案
- (6) 編輯專案裡mysite/settings.py檔案
vim /data/wwwroot/mysite/mysite/settings.py
1、關閉DEBUG模式。
DEBUG = False
2、ALLOWED_HOSTS設定為* 表示任何IP都可以訪問網站。
ALLOWED_HOSTS = [’*’]
3、在INSTALLED_APPS 列表裡新增’bbs’APP
-
TEMPLATES裡新增模板路徑os.path.join(BASE_DIR, ‘templates’)
-
尾部新增
STATICFILES_DIRS = (
os.path.join(BASE_DIR,‘static’),
)
- (7)在templates下新增index.html檔案,輸入下面內容
vim /data/wwwroot/mystie/templates/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>資料分析部落</title>
</head>
<body>
<h1>hello,world!</h1>
</body>
</html>
- (8)配置URL
vim /data/wwwroot/mysite/mysite/urls.py
- (9)編輯bbs APP 下的 views
- (10)啟動專案
python3 manage.py runserver
- (11)Django正常執行之後我們就開始配置一下uwsgi
- 我們網站專案路徑是 /data/wwwroot/mysite/,在專案根目錄下建立
mysite.xml檔案,輸入如下內容:
- 我們網站專案路徑是 /data/wwwroot/mysite/,在專案根目錄下建立
<uwsgi>
<socket>127.0.0.1:8997</socket><!-- 內部埠,自定義 -->
<chdir>/data/wwwroot/mysite/</chdir><!-- 專案路徑 -->
<module>mysite.wsgi</module>
<processes>4</processes> <!-- 程序數 -->
<daemonize>uwsgi.log</daemonize><!-- 日誌檔案 -->
</uwsgi>
- (12)配置nginx.conf檔案
cd /usr/local/nginx/conf
- 在/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.lezhidata.com;
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,還有專案路徑對應上。
- (13)進入/usr/local/nginx/sbin/目錄
- 執行./nginx -t命令先檢查配置檔案是否有錯,沒有錯就執行以下命令:
./nginx
終端沒有任何提示就證明nginx啟動成功。可以使用你的伺服器地址檢視,成功之後就會看到一個nginx歡迎頁面。
- (14)進入網站專案目錄
cd /data/wwwroot/mysite/
- 執行下面命令:
uwsgi -x mysite.xml
- 以上步驟都沒有出錯的話,進入/usr/local/nginx/sbin/目錄,執行:
./nginx -s reload
- (15)顯示
- 重啟nginx ,然後在瀏覽器裡訪問你的專案地址!