ubuntu部署drf+vue 云服务器部署

vue打包成dist

一,更新操作系统和安装依赖包

更新操作系统软件库

sudo apt-get update
sudo apt-get upgrade

安装上传rz、下载sz工具

sudo apt-get install lrzsz

安装gcc g++的依赖库

sudo apt-get install build-essential
sudo apt-get install libtool

安装 pcre依赖库

sudo apt-get install libpcre3 libpcre3-dev

安装 pcre依赖库

sudo apt-get install zlib1g-dev

安装 ssl依赖库

sudo apt-get install openssl

二,安装python环境
Ubuntu16.04版本最新的Python 3.x为版本3.5

要安装Python 3.6 ,请运行以下命令:

# wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

# tar -xvf Python-3.6.2.tar.xz # cd Python-3.6.2

# ./configure

# make  && make install

此时系统会为python3.6安装对应的pip,可能为pip3或pip3.6

查看方法:pip3/pip3.6 -V
更新pip:

pip3.6 install --upgrade pip

更新软件列表:

pip3.6 install --update pip

软连接==============

  1. 修改默认Python版本

Ubuntu16.04版本集成了Python2.7及3.5版本,系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7

我们需要先把这个默认链接删除,再新建一个python3.6的软链接.。首先要确保终端的指针已经退回根目录,再进行以下操作。

  1. 需要删除原有的Python链接文件: rm /usr/bin/python

注意如果终端提示:rm: 无法删除’/usr/bin/python’:权限不够,那么就需要使用sudo或者打开root权限删除链接。

  1. 建立指向Python3.6的链接,权限不够的话使用root或者sudo加命令:

ln -s /usr/bin/python3.6/bin/python3.6/usr/bin/python
查询Python版本
python@ubuntu:~$ python -V
Python 3.6.5

如果显示是python3.6.5则说明安装成功!
pip -V查看pip对应的版本,版本不对的话删除pip使用软连接,重新下载
which pip查看pip安装路径

三、建立两个文件夹,用于存放virtualenv环境和项目

放虚拟环境的

sudo mkdir -p /data/env

放项目的

sudo mkdir -p /data/wwwroot
四、安装virtualenv
sudo pip3 install virtualenv
进入env目录

cd /data/env
指定Python版本,创建名为pyweb的虚拟环境,

查找虚拟环境位置
find / -name virtualenv

sudo virtualenv -p /usr/bin/python3 pyweb
指定Python版本的时候,如果不知道Python3的路径,可以使用下面的命令查看
检查版本
uwsgi --python-version
which python
五、启动虚拟环境
这里环境名为venv,所以source venv/bin/activate
关闭环境 deactivate

启动虚拟环境

source /data/env/pyweb/bin/activate
pip3 freeze > requirements.txt 安装依赖
deactivate 退出虚拟环境

nginx+uwsgi部署
pip 安装uwsgi
在项目根目录中

uwsgi命令启动falsk项目
uwsgi --http :8000 --wsgi-file uwsgi_test.py

  1. 创建一个uwsgi.ini配置文件,写入参数信息

        在项目的外层目录中创建配置文件,与manage.py在同一目录即可,
        
        cd /opt/s15vuedrf/luffy_boy
        touch uwsgi.ini 
        
            [uwsgi]                    
            chdir           = /opt/s15vuedrf/luffy_boy/                    
            module          = luffy_boy.wsgi                    
            home            = /root/Envs/s15vuedrf                    
            master          = true                                    
            processes       = 1                    
            socket          = 0.0.0.0:9000     # 与nginx连用,启动项目时使用 socket
            # http            = 0.0.0.0:9000   # 只有uwsgi启动的时候使用 http
            vacuum          = true
    

保存后uwsgi --ini uwsgi.ini 启动
uwsig示例:
[uwsgi]

http=本地ip:8081 #只使用uwsgi的话使用本地ip

socket=127.0.0.1:9000
chdir=/data/wwwroot/mysite
wsgi-file=mysite/wsgi.py
processes=4
threads=2
master=true
pidfile=uwsgi.pid
daemonize=uwsgi.log

nginx查找项目
2.配置文件/etc/nginx/nginx.conf如下:

#第一个server虚拟主机是为了找到vue的dist文件, 找到路飞的index.html
server {
        listen       80;
        server_name  公网ip;
        
        #当请求来自于 公网ip/的时候默认80端口,直接进入以下location,然后找到vue的dist/index.html 
        location / {
            root  /data/wwwroot/dist;
            index  index.html;
        }
    }
    
#由于vue发送的接口数据地址是 公网ip:8000  我们还得再准备一个入口server如下
server {
    listen 8000;
    server_name  公网ip;
    
    #当接收到接口数据时,请求url是  公网ip:8000 就进入如下location
    location /  {
        #这里是nginx将请求转发给  uwsgi启动的 9000端口,uwsgi.ini文件中端口9000,的项目将被启动
        uwsgi_pass  公网ip:9000;
        # include  就是一个“引入的作用”,就是将外部一个文件的参数,导入到当前的nginx.conf中生效
        include uwsgi_params;
    }
}

3.启动nginx

nginx    # 直接启动服务,如果没有添加系统环境变量就用绝对路径启动,/opt/nginx112/sbin/nginx

此时可以访问 192.168.13.210  查看页面结果即可,显示正常则完成项目的部署

启动路飞项目,这个项目用的是sqllite,因此安装mysql自行选择

数据资料来源 依赖包和虚拟环境 https://www.jianshu.com/p/72575581564c
python安装https://blog.csdn.net/qq_42734759/article/details/89096156
python安装软连接 https://blog.csdn.net/JiekeXu/article/details/80299370
nginx+uwsgi部署django+vue
https://www.cnblogs.com/cyycyhcbw/articles/10218458.html

你可能感兴趣的:(ubuntu部署drf+vue 云服务器部署)