django-vue前后端分离项目部署

docker配置

主机环境为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: Linux packages


#启动nginx
nginx
#查看是否启动
ps -ef | grep nginx
此时可以从公网ip:80访问到nginx页面

前端文件配置

前端文件放置

#将前端文件的api代理修改为'/api'
#打包将dist放到/mnt/www/niuboapp

nginx配置

cd /etc/nginx/conf.d
#配置default.conf  修改前先备份一下

image-20230614182014625

image-20230614183827146

也可以加上以下这些配置

image-20230614183730577

#配置根目录到这个文件
#测试配置是否正确
nginx -t
#配置完后重启nginx:
nginx -s reload
nginx

后端文件配置

  1. pip install -r requirements.txt

  2. settings.py
    #注释掉django.middleware.csrf.CsrfViewMiddleware
    #修改MEDIA_URL = 'http://localhost:8080/' -> 'http://x.xxx.xx.xx'
  3. #静态文件收集
    #注释掉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 

image-20230614182335817

#然后进入 /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

image-20230614194513663

 
posted @ 2023-06-14 20:54  qfzwy  阅读(218)  评论(0)    收藏  举报