django-vue前后端分离项目部署
主机环境为centos7
安装docker
yum install -y docker-ce docker-ce-cli
运行docker
#启动并开机自启
systemctl start docker
systemctl enable docker
创建容器
#拉取镜像
docker pull centos7
#创建容器
docker run -p 20000:22 -p 8000:8000 -p 80:80 --privileged=true --name niubo_server -itd centos
#进入容器
docker attach niubo_server
容器相关环境配置
启用ssh
yum install net-tools
yum install vim openssh-server openssh-clients -y
#允许密码 root登录
vim /etc/ssh/sshd_config
ssh-keygen -A
启动SSH服务器:
/usr/sbin/sshd
安装nginx
#启动nginx
nginx
#查看是否启动
ps -ef | grep nginx
此时可以从公网ip:80访问到nginx页面
前端文件配置
前端文件放置
#将前端文件的api代理修改为'/api'
#打包将dist放到/mnt/www/niuboapp
nginx配置
cd /etc/nginx/conf.d
#配置default.conf 修改前先备份一下
也可以加上以下这些配置
#配置根目录到这个文件
#测试配置是否正确
nginx -t
#配置完后重启nginx:
nginx -s reload
nginx
后端文件配置
-
pip install -r requirements.txt
-
settings.py #注释掉django.middleware.csrf.CsrfViewMiddleware #修改MEDIA_URL = 'http://localhost:8080/' -> 'http://x.xxx.xx.xx' -
#静态文件收集 #注释掉STATICFILES_DIRS 打开STATIC_ROOT STATIC_ROOT = os.path.join(BASE_DIR,'static') #STATICFILES_DIRS = [ # os.path.join(BASE_DIR, 'static') #] python manage.py collectstatic ##注释掉STATIC_ROOT 打开STATICFILES_DIRS
此处Mysql,redis安装省略,数据库以部署在另一个服务器当中
安装python3
https://www.python.org/downloads/release/python-3816/
#安装python 前提有gcc环境 如果没有 yum install gcc
wget https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz
#进入python目录
sh configure
#编译源代码
make
#缺少依赖,安装以下包
yum install zlib zlib-devel openssl openssl-devel
yum install glib2-devel openssl-devel pcre-devel bzip2-devel gzip-devel
yum install libffi-devel -y
yum install zlib zlib-devel
yum install libjpeg libjpeg-devel
yum install freetype freetype-devel
#重复步骤
./configure
make
#成功后
make install
替换python2环境-很关键
#首先查看python3和pip3的位置
find / -name python3
find / -name pip3
#然后进入 /usr/bin
cd /usr/bin
#备份
mv python python.bak
#替换
ln -s /usr/local/bin/python3 /usr/bin/python
ln -s /usr/local/bin/pip3 /usr/bin/pip
vim /usr/bin/yum
#python改为python2
uwsgi配置
mkdir -p /var/log/uwsgi/
#编辑项目配置文件
vim niuboapp.ini
[uwsgi]
socket =127.0.0.1:9090
master = 1
processes =1
pidfile = /var/run/trip.pid
daemonize =/var/log/uwsgi/trip.log
module = trip.wsgi:application
chdir =/mnt/www/trip
listen = 100
buffer-size =32768
max-requests = 200
#项目启动
uwsgi --ini niuboapp.ini
#查看当前允许的uwsgi
ps -ef | grep uwsgi
#如果修改了后端文件需要 kill -HUP id号 杀死进程
#然后再uwsgi --ini niuboapp.ini
nginx配置
cd /etc/nginx/conf.d/
cp default.conf niuboapp.conf
vim niuboapp.conf

浙公网安备 33010602011771号