Centos7 部署Django項目
軟件版本:Centos7 | Python3.6 | Django1.11.6
步驟:(在root用戶操作下完成)
一代乃、更新系統(tǒng)軟件包
執(zhí)行命令: yum update -y
二预茄、 安裝軟件管理包和可能使用的依賴
1. 執(zhí)行命令: yum -y groupinstall "Development tools"
2. 執(zhí)行命令:
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
三寥茫、下載Pyhton3到 /usr/local 目錄
1. 切換到 /usr/local 目錄
2. 獲取python3.6的壓縮文件
執(zhí)行命令: wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
3. 解壓python3.6
執(zhí)行命令: tar -zxvf Python-3.6.6.tgz
4. 進入 python-3.6.6 的路徑
執(zhí)行命令: ls 查看目錄 cd Python-3.6.6 進入目錄
5. 編譯安裝python3到指定路徑
A) 執(zhí)行命令: ./configure --prefix=/usr/local/python3
注意:/usr/local/python3 路徑可以自己指定猩系,自己記著就行模捂,下邊要用到锰瘸。
B)安裝python3
a) 執(zhí)行命令: make
b) 執(zhí)行命令: make install
C) 安裝完成之后匈睁,建立軟鏈接吸祟,添加變量,方便在終端中直接使用python3
a)python3 的軟連接
執(zhí)行命令: ln -s/usr/local/python3/bin/python3.6/usr/bin/python3
b)pip3 的軟連接
執(zhí)行命令: ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
c) 查看python和pip的版本
執(zhí)行命令: python3和pip3 –V
四漫谷、虛擬環(huán)境里安裝Django和uwsgi
1. 執(zhí)行命令: pip3 install django==1.11.6 注意:如果用于生產(chǎn)的話仔雷,則需要指定安裝和你項目相同的版本
執(zhí)行命令:
ln -s /usr/local/python3/bin/django-admin /usr/local/bin/django-admin
2. 執(zhí)行命令: pip3 install uwsgi
3. 給uwsgi建立軟鏈接
執(zhí)行命令: ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
五、切換到網(wǎng)站目錄/home/wwwroot,創(chuàng)建Django項目
1. 執(zhí)行命令: cd /home/wwwroot 切換目錄
2. 執(zhí)行命令: django-admin startproject mysite
3. 進入mysite舔示,新建一個app應(yīng)用,我這里取名叫blog
A) 執(zhí)行命令: cd mysite 進入mysite目錄
B) 執(zhí)行命令: python3 manage.py startapp blog
4. 新建文件夾 static 和 templates 碟婆,分別用于存放靜態(tài)文件和模板文件
A) 執(zhí)行命令: mkdir static
B) 執(zhí)行命令: mkdir templates
六、修改編輯Django項目文件
1. 編輯 mysite 里面的 settings.py 文件
A) 執(zhí)行命令: cd mysite
B) 執(zhí)行命令: vim settings.py
a) 在 INSTALLED_APPS 列表里添加'blog'的APP
b) 修改 ALLOWED_HOSTS =['※'] 可以讓任何IP訪問
c) ALLOWED_HOSTS 里添加模板路徑 os.path.join(BASE_DIR, 'templates')
d) 在文件末尾添加 STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)
e) 最后保存退出惕稻。按 Esc 鍵竖共,輸入 :wq 保存退出
七、啟動項目
1. 執(zhí)行命令: cd /home/wwwroot/mysite 切換到mysite目錄
2. 執(zhí)行命令: python3 manage.py runserver 可見項目正常啟動了
八俺祠、Django正常運行之后公给,我們就開始配置一下uwsgi
在服務(wù)器上編寫一個Python文件app.py:
def application(env, start_response):
start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])
return [b"Hello World"]
在服務(wù)器上執(zhí)行命令啟動Web服務(wù)器:
uwsgi --http :9001 --wsgi-file app.py
或者
uwsgi --http :9001 --wsgi-file foobar.py --master --processes 4
PS: flask需要再加 --callable app
c. django 程序使用uwsgi
將開發(fā)好的django程序拷貝到服務(wù)器目錄【同示例一】,即:/home/wwwroot 蜘渣,執(zhí)行命令啟動:
uwsgi --http :9001 --chdir /home/wwwroot/ --wsgi-file mysite/wsgi.py --master --processes 4
九淌铐、安裝 nginx 和配置 nginx.conf 文件
1. 執(zhí)行命令: cd /home 進入home目錄
2. 執(zhí)行命令: wget http://nginx.org/download/nginx-1.13.7.tar.gz 下載NGINX 壓縮包
3. 解壓NGINX ,執(zhí)行命令: tar -zxvf nginx-1.13.7.tar.gz
4. 依次執(zhí)行以下命令:
a) 執(zhí)行命令: cd nginx-1.13.7 進入nginx-1.13.7****文件夾
b) 執(zhí)行命令: ./configure
c) 執(zhí)行命令: make
d) 執(zhí)行命令: make install
注意:nginx一般默認(rèn)安裝好的路徑為/usr/local/nginx
5. 進入 /usr/local/nginx/conf 目錄蔫缸,打開nginx.conf文件
a) 執(zhí)行命令: cd /usr/local/nginx/conf 進入目錄
b) 執(zhí)行命令: vim nginx.conf 在 server 里編輯以下內(nèi)容:
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997;
uwsgi_param UWSGI_SCRIPT mysite.wsgi;
uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite;
}
location /static/ {
alias /data/wwwroot/mysite/static/; #靜態(tài)文件目錄
}
要記得保存腿准!
6. 執(zhí)行命令: cd /usr/local/nginx/sbin 進入 /usr/local/nginx/sbin/ 目錄
7. 執(zhí)行命令: ./nginx -t (千萬不要忘了那個 . )
8. 如果成功了,就執(zhí)行命令: ./nginx
注意:終端沒有任何提示就證明nginx啟動成功拾碌⊥麓校可以使用你的服務(wù)器地址查看,成功之后就會看到一個nginx歡迎頁面校翔。
啟動uwsgi和nginx
uwsgi --ini /home/wwwroot/mysite.ini &
/etc/init.d/nginx start
十唇撬、訪問項目的頁面
1. 執(zhí)行命令: cd /data/wwwroot/mysite/ 進入Django項目目錄
2. 執(zhí)行命令: uwsgi -x mysite.xml
3. 如果沒有報錯,那么:
A) 執(zhí)行命令: cd /usr/local/nginx/sbin/ 進入目錄
B) 執(zhí)行命令: ./nginx -s reload 重啟nginx
4. 然后在瀏覽器里輸入IP就OK了展融!