django部署,Ubuntu 16.04.5部署Django環境

 2023-10-18 阅读 26 评论 0

摘要:1、安裝python環境 使用如下命令安裝的是3.5.x版本 sudo apt-get install python3-pip 如果使用下面的命令,會安裝2.x版本的python sudo apt-get install python-pip pip不建議更新到最新版本,會出現很多未知錯誤 # 這是更新語句,但是不建議用 pip3 inst

1、安裝python環境

使用如下命令安裝的是3.5.x版本

sudo apt-get install python3-pip

如果使用下面的命令,會安裝2.x版本的python

sudo apt-get install python-pip

pip不建議更新到最新版本,會出現很多未知錯誤

# 這是更新語句,但是不建議用
pip3 install --upgrade pip

2、安裝python虛擬化環境virtualenv

sudo pip3 install virtualenv

django部署。安裝完畢后創建名為VENV的虛擬環境

virtualenv VENV

激活虛擬環境

source venv/bin/activate

這樣就進入虛擬環境中了,可以部署站點所用的插件

pip install -r requirements.txt

注:在這里,我們使用pip而不是pip3的原因是虛擬環境里只有py3的存在,所以我們輸入“python”和“pip”所關聯的都會是py3的。在虛擬環境中輸入是不會報錯的,而在真實的環境里則會是顯示py2。

ubuntu安裝docker教程,? ? ? ?安裝分頁插件pagination的時候,如果你是py3,請使用pip install django-pagination-py3==1.1.1命令安裝,網上很多文章針對的都是py2的,當你用網上的命令安裝這個插件后,在py3下是不會有效果的。

安裝完畢后就可以退出虛擬環境,繼續下面的安裝了。

# 退出虛擬環境
deactivate
# 刪除虛擬環境
rm -rf VENV

3、啟用root賬戶和開啟root登錄權限

基于安全角度不應該配這一步,但是為了方便使用FileZilla上傳文件,暫時開通,等都配置完畢后,關閉即可

修改root密碼

sudo passwd root

ubuntu打開vim,開啟root登錄權限

sudo vi /etc/ssh/sshd_config

將PermitRootLogin選項改為yes,然后重啟服務器即可(原來是?prohibit-password)

4、上傳站點文件

目錄結構如下:

/var/www/
├── html
├── mblog
│?? ├── mainsite
│?? ├── mblog
│?? ├── static
│?? └── templates
└── VENV├── bin├── include└── lib

5、安裝apache2和mod_wsgi

sudo apt-get install apache2 libapache2-mod-wsgi-py3

新建一個網站的配置文件

sudo vim /etc/apache2/sites-available/sitename.conf
<VirtualHost *:80>ServerName localhost:80ServerAlias 192.168.9.5ServerAdmin xxxxx@qq.comAlias /media/ /var/www/mblog/media/Alias /static/ /var/www/mblog/static/<Directory /var/www/mblog/media>Require all granted</Directory><Directory /var/www/mblog/static>Require all granted</Directory>WSGIScriptAlias / /var/www/mblog/mblog/wsgi.pyWSGIDaemonProcess http://192.168.9.5:80 python-path=/var/www/VENV/lib/python3.5/site-packagesWSGIProcessGroup http://192.168.9.5:80<Directory /var/www/mblog/mblog><Files wsgi.py>Require all granted</Files></Directory>ErrorLog ${APACHE_LOG_DIR}/error-my_blog.logCustomLog ${APACHE_LOG_DIR}/access-my_blog.log combined
</VirtualHost>

ubuntu centos。配置apache來加載mod_wsgi

# 先關閉Apache服務
sudo service apache2 stop  
# /etc/apache2/apache2.conf加入下面一句話
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so 

如果找不到.so文件,可以用下面的語句查找

sudo find / -name mod_wsgi.so  

6、修改wsgi文件

文件路徑在/var/www/mblog/mblog/

"""
WSGI config for mblog project.It exposes the WSGI callable as a module-level variable named ``application``.For more information on this file, see
https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/
"""import os
from os.path import join,dirname,abspathPROJECT_DIR = dirname(dirname(abspath(__file__)))from django.core.wsgi import get_wsgi_applicationimport sys
sys.path.insert(0,PROJECT_DIR)
sys.path.append("/var/www/VENV/lib/python3.5/site-packages")os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mblog.settings')application = get_wsgi_application()

7、激活網站重啟服務

sudo service apache2 reload 
sudo a2dissite 000-default && a2ensite sitename.conf
sudo service apache2 restart

8、其他

(1)日志目錄

cd /var/log/apache2

(2)處理Django admin打開時CSS和JS丟失的問題

在setting.py 底部設置添加如下代碼

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

生產環境tomcat熱部署、執行以下代碼

python manage.py collectstatic

?

?

參考文章:https://www.jianshu.com/p/ff78d1ab5091

apache django??   ? ? ? https://www.cnblogs.com/lexus/archive/2012/02/23/2365896.html

    ? ?https://www.cnblogs.com/sxwen/p/8006782.html

?

轉載于:https://www.cnblogs.com/szwx1314/p/9541629.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/145829.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息