Vue+Django部署流程

1.安装gcc环境

yum -y install gcc gcc-c++ kernel-devel //安装gccc++编译器以及内核文件

2.安装python3环境

(1)下载安装包

cd /usr/local

mkdir python36 #创建目录

/usr/local/python36下执行下面的命令

wget "https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz"

2)解压安装包

tar -xvf Python-3.6.3.tgz

3)编译安装

cd python3.6.3

./configure --prefix=/usr/local/python36

make

先安装:yum -y install zlib*,再执行下面的,否则会报错

make install

如果通过python -m pip install 安装软件出现错误ImportError: cannot import name 'HTTPSHandler'

缺少openssl的开发环境,我们继续安装

yum install openssl-devel

4)设置软连接 打死不要命名pythonpython3的软链!!!

ln -s /usr/local/python36/bin/python3.6 /usr/bin/python3

3.安装pip3

wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb

tar -zxvf pip-8.0.2.tar.gz

cd pip-8.0.2

python3 setup.py build

python3 setup.py install

如果没有意外的话,pip安装完成

设置软连接

ln -s /usr/local/python36/bin/pip3 /usr/bin/pip3

4.安装MySQL数据库

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum update yum install mysql-server

权限设置:

chown mysql:mysql -R /var/lib/mysql

启动 MySQL:

systemctl start mysqld

查看 MySQL 运行状态:

systemctl status mysqld

Mysql安装后需要做的

Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:

mysqladmin -u root password "new_password";

现在你可以通过以下命令来连接到Mysql服务器:

mysql -u root -p Enter password:*******

创建数据库:如果数据库不存在则创建,存在则不创建,.创建api_test数据库,并设定编码集为utf8

CREATE DATABASE IF NOT EXISTS api_test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

 

5.安装nginx

添加源

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装Nginx

通过yum search nginx看看是否已经添加源成功。如果成功则执行下列命令安装Nginx

yum install -y nginx

安装完成后,输入nginx --help ,如果出现如下错误:

解决Nginx: [error] open() Nginx.pid

sudo /usr/sbin/nginx -c /etc/nginx/nginx.conf

 

nginx执行程序路径:/usr/sbin/

nginx配置文件路径: /etc/nginx

nginx重启指令:/usr/sbin/ nginx -s reload

 

进入/etc/nginx/conf.d

创建一个.conf文件,这里创建的是:speedpost.conf

 

 

 

 

 

6.安装uwsgi

 

python3 -m pip install uwsgi

 

如果出现:uwsgi: command not found

 

解决办法:找到uwsgi执行位置,建立软链接

 

[root@CentOS6 home]# find / -name uwsgi

 

/usr/local/python36/bin/uwsgi

 

[root@CentOS6 home]# ln -s /usr/local/python36/bin/uwsgi /usr/bin/uwsgi

 

# django项目根目录 # 执行启动项目 uwsgi --ini uwsgi.ini

 

 

 

7.前端部署

 

1)进入到Vue工程根目录interfacetesting\frontend 打开控制台,运行npm run build,打包生成dist文件夹

 

2)在Linux系统中,创建要部署的工程文件夹,比如我在/home下,通过mkdir speedpost创建目录。

 

3)将本地的Django工程拷贝到speedpost目录下

 

 

 

前端的APP就是frontend下的刚打包的dist,如果需要更新代码,直接重新打包替换即可。

 

8.后台部署

 

/home/speedpost目录下,执行python3 -m pip install -r requirement.txt安装django所需的依赖

 

如果出现jdango-suit版本所需版本找不到的问题,按如下操作:

 

安装jdango-suit V2版本

 

python3 -m pip install https://github.com/darklow/django-suit/tarball/v2

 

 

 

依赖安装完成后,通过navicat连接MySQL数据库

 

创建数据库api_test,注意创建数据库的时候要设置数据库的编码为utf-8

 

 

修改/home/speedpost/api_automation_test/settings.py中 数据库配置

重点修改这几个地方:

ALLOWED_HOSTS = [ '127.0.0.1','192.168.49.149','192.168.49.169']

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'api_test',

'USER': 'root',

'PASSWORD': '123456';

'HOST': 'localhost',

'PORT': '3306',

}

}

 

创建模型python3 manage.py makemigrations

创建表python3 manage.py migrate 

创建超级用户python3 manage.py createsuperuser

用户名:admin

密码:adminadmin

运行启动django服务:python3 manage.py runserver 0.0.0.0:8000

运行成功,则说明项目启动没有问题,可退出

 

9 配置nginx

进入/etc/nginx/conf.d

输入命令 vim speedpost.conf

配置如下:

server {

listen 8080;

server_name 127.0.0.1;

charset utf-8;

location / {

root /home/speedpost/frontend/dist;

index index.html;

try_files $uri $uri/ /index.html last;

}

location ^~ /admin/ {

root /home/speedpost/frontend/dist;

index index.html;

try_files $uri $uri/ /index.html last;

}

}

server{

listen 8000;

server_name 127.0.0.1;

location / {

uwsgi_pass 127.0.0.1:9000;

include /etc/nginx/uwsgi_params;

}

location /static {

alias /home/speedpost/static/;

break;

}

}

 

10.配置uwsgi

在项目的根目录下创建uwsgi.ini

配置如下:

[uwsgi]

socket = 0.0.0.0:9000

chdir = /home/speedpost/

wsgi-file = api_automation_test/wsgi.py

master = true

processes = 4

threads = 2

vacuum = true

buffer-size = 65536

 

11.启动服务

/home/speedpost/目录下 输入指令启动uwsgi

uwsgi --ini uwsgi.ini

/etc/nginx目录下 输入指令重启nginx:

nginx -s reload

 

django后台无法访问静态文件:

python3 manage.py collectstatic

 

posted @ 2020-04-14 20:13  测试小小蘇  阅读(615)  评论(0编辑  收藏  举报