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
安装完毕后创建名为VENV的虚拟环境
virtualenv VENV
激活虚拟环境
source venv/bin/activate
pip install -r requirements.txt
注:在这里,我们使用pip而不是pip3的原因是虚拟环境里只有py3的存在,所以我们输入“python”和“pip”所关联的都会是py3的。在虚拟环境中输入是不会报错的,而在真实的环境里则会是显示py2。
安装分页插件pagination的时候,如果你是py3,请使用pip install django-pagination-py3==1.1.1命令安装,网上很多文章针对的都是py2的,当你用网上的命令安装这个插件后,在py3下是不会有效果的。
安装完毕后就可以退出虚拟环境,继续下面的安装了。
3、启用root账户和开启root登录权限
基于安全角度不应该配这一步,但是为了方便使用FileZilla上传文件,暂时开通,等都配置完毕后,关闭即可
修改root密码
sudo passwd root
开启root登录权限
sudo vi /etc/ssh/sshd_config
将PermitRootLogin选项改为yes,然后重启服务器即可
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:80 ServerAlias 192.168.9.5 ServerAdmin [email protected] Alias /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.py WsgiDaemonProcess http://192.168.9.5:80 python-path=/var/www/VENV/lib/python3.5/site-packages WsgiProcessGroup 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.log CustomLog ${APACHE_LOG_DIR}/access-my_blog.log combined </VirtualHost>
配置apache来加载mod_wsgi
# 先关闭Apache服务
sudo service apache2 stop
# /etc/apache/httpd.conf加入下面一句话
LoadModule wsgi_module /usr/lib/apache2/modules/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,abspath PROJECT_DIR = dirname(dirname(abspath(__file__))) from django.core.wsgi import get_wsgi_application import 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 a2ensite sitename.conf
sudo service apache2 restart
8、其他
(1)日志目录
cd /var/log/apache2
(2)处理Django admin打开时CSS和JS丢失的问题
STATIC_URL = ‘/static/‘ STATIC_ROOT = os.path.join(BASE_DIR,‘static‘)
执行以下代码
python manage.py collectstatic
参考文章:https://www.jianshu.com/p/ff78d1ab5091
https://www.cnblogs.com/lexus/archive/2012/02/23/2365896.html
https://www.cnblogs.com/sxwen/p/8006782.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。