阿里云 django+vue+nginx 前后端分离之后端部署

3,378 阅读2分钟

0 环境

  • 服务器:阿里云
  • 服务器操作系统:centos
  • ssh :xshell
  • 后端语言:django(文档)
  • python默认版本:3.6.8

1 导图

环境基础+部署流程

2 xhsell安装和配置

xshell安装包+配色方案下载

xshell安装 使用遇到的问题 + 配色方案

3 激活python环境

参考文档

1 环境安装

pip/pip3 install virtualenv

2 创建目录

若想virtualenv使用系统全局模块,virtualenv --system-site-packages myprojects

virtualenv myprojects

3 环境激活

source myprojects/bin/activate

4 退出virtualenv

deactivate

3 上传本地项目到服务器上

  1. 压缩本地文件(我用的是zip格式)
  2. 通过ftp上传到服务器上(自己指定目录)
  3. 解压文件
# CentOS8 系统是默认没有安装zip组件的,我们需要手动安装 zip 和 unzip 服务。
dnf install zip unzip -y
# 解压示例,格式为:unzip [压缩文件] [被解压的目录或文件]。
# unzip aa.zip -d /test 将aa.zip 文件解压到 /tset 目录下,-d 是显示指定解压到的目录。
# 把django项目解压到我的virtualenv环境下
unzip hello.zip -d /myprojects

4 django项目相关库安装

  1. 因为涉及到跨域,在django项目找到settings.py,在CORS_ORIGIN_WHITELIST下添加你的服务器地址 还有就是正式运行时 改为DEBUG = False
  2. 迁移数据库python manage.py makemigrations your_app_label python manage.py migrate
  3. 启动python manage.py runserver
  4. 会报没有某个模块的错,复制该模块名,搜索得到具体包名,pip安装,直接正常启动为止
  5. 可以pip/pip3 list查看

5 配置uWSGI

1 安装uwsgi

pip install uWSGI

2 配置uwsgi.ini

配置.ini 第一行一定要加[uwsgi] 不然会报错

1. 创建uwsgi.ini,可以直接输入vim uwsgi.ini

2. 将下面配置复制到uwsgi.ini里

[uwsgi]
chdir   =/var/xxx/你的虚拟环境/你的项目目录
module  =你的项目名称.wsgi
home    =/var/xxx/你的虚拟环境
master  =true
processes  =4
socket  =127.0.0.1:9090
chmod-socket = 666
vacuum = true

3. 分别进入你的项目目录和虚拟环境 输入pwd 直接复制路径 修改uwsgi.ini里的路径即可

4. socket自定义端口配置

5. 最后:wq保存即可

3 启动uWSGI

加 -d 后台运行 也可以在uwsgi.ini添加

1 测试的时候

命令最好是uwsgi --ini uwsgi.ini 关闭程序 --> ctrl+c

2 运行的时候

  • 在输入命令uwsgi -d --ini uwsgi.ini
  • 提前了解一下lsof -i:端口 查看端口

6 阿里云配置

1 阿里云安全组配置 开放端口

添加端口 保存即可

2 在centos8中开放防火墙

7 本地访问公网

比如你的公网ip:自定义的端口/path?参数 若排除都没问题 可以安装nginx 配置一个监听端口 测试一下