欢迎访问我的博客:小羊驼的部落阁
在部署之前,请确保服务器安装有以下环境
安装环境
- BT-Panel
- Python 3.6
- Django 2.1.7
- uWSGI
- MySQL 5.7
- Virtualenv
部署开始
安装Python
在linux中系统默认安装的是python2.7,在此我们需要安装python3.6版本,具体查看python的版本可直接在linux命令行中输入python
查看。
1、安装python3.6
安装相关包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
编译安装python3
去官网下载编译安装包或者直接执行以下命令下载:
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
解压
tar -xvJf Python-3.6.2.tar.xz
进入文件夹
cd Python-3.6.2
编译并安装
./configure prefix=/usr/local/python3 # 先执行此命令
make && make install
安装完毕,/usr/local/目录下就会有python3了
添加软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
这样我们就安装成功python3.6了.
安装pip3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
我们可以通过pip install 安装python2的安装包
也可以通过pip3 install 安装python3的安装包
2、安装和配置虚拟环境
安装虚拟环境
sudo pip install virtualenv
sudo pip install virtualenvwrapper
virtualenvwrapper 是virtualenv的扩展管理包,可以将所有的虚拟环境整合在一个目录下。
配置虚拟环境
创建虚拟环境管理目录
mkdir ~/.virtualenvs
打开.bashrc
sudo vim ~/.bashrc
在.bashrc的末尾增加下面内容
export WORKON_HOME=$HOME/.virtualenvs # 所有虚拟环境存储的目录
source /usr/local/bin/virtualenvwrapper.sh
启用配置文件
source ~/.bashrc
至此virtualenv安装完毕
创建虚拟环境
首先找一个比较容易记住的地方来存放虚拟环境文件夹
cd /www
mkdir env
cd env
mkvirtualenv -p /usr/bin/python3 my_env # my_env是虚拟环境的名称
等待虚拟环境创建成功之后,输入以下命令激活虚拟环境
source /www/env/my_env/bin/activate
这是命令行前方就会有虚拟环境名称的标识,表示已经激活虚拟环境了
安装uWSGI
在安装uWSGI之前,我们先在宝塔面板里添加域名,
域名添加完之后,宝塔面板会自动帮我们创建好站点的文件夹,站点文件夹位置在
/www/wwwroot/
路径里面,我们选择admin.wouldmissyou.com
文件夹从 github上下载源码,然后上传到
/www/wwwroot/admin.wouldmissyou.com/
文件夹中cd进入到
www/wwwroot/admin.wouldmissyou.com/
中,输入vim mysite.xml
将一下内容粘贴进去并保存退出:
<uwsgi>
<socket>127.0.0.1:8992</socket> <!-- 内部端口,自定义 -->
<chdir>/www/wwwroot/admin.wouldmissyou.com/</chdir> <!-- 项目路径 -->
<module>bangbao_form.wsgi</module>
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>
然后在宝塔面板编辑Nginx配置文件
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8992; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT bangbao_form.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /www/wwwroot/admin.wouldmissyou.com/; #项目路径
}
location /static/ {
alias /www/wwwroot/admin.wouldmissyou.com/static/; #静态资源路径
}
完成后保存退出。
回到命令行,退出虚拟环境
deactivate
开始安装uwsgi
pip3 install uwsgi
安装完成后,在此进入虚拟环境,在虚拟环境中再安装一次uwsgi
source /www/env/my_env/bin/activate
pip3 install uwsgi
然后重启nginx服务
cd /www/server/nginx/sbin
./nginx -t # 重启并载入配置
安装MySQL数据库
宝塔面板貌似已经帮我们安装好mysql数据库了 所以现在就在宝塔面板新建一个数据库名为info
,密码也为info
的数据库
最后设置
回到命令行,进入虚拟环境
cd /www/wwwroot/admin.wouldmissyou.com/
pip install -r requirements.txt #安装所有依赖
等安装完成后一次输入以下命令
python manage.py makemigrations # 创建迁移脚本
python manage.py migrate # 迁移
python manage.py createsuperuser # 创建超级管理员
admin # 管理名账号
admin@123.com # 管理员邮箱
admin # 管理员密码
admin # 重复密码
Y # 选择Y
python manage.py collectstatic # 收集静态资源
Y 选择Y
最后一步,在命令行输入以下命令
uwsgi -x mysite.xml
至此 部署完成!