vue + nginx + uwsgi + django + mysql + redis发布web项目

路飞后端配置

先配置阿里云的源

>>>点击跳转阿里里源配置

python3的安装

>>>点击跳转Linux安装Python3

后端uwsgi部署路飞

下载路飞代码

wget  https://files.cnblogs.com/files/pyyu/luffy_boy.zip

解压

 unzip luffy_boy.zip 

requirements.txt的环境依赖

certifi==2018.11.29
chardet==3.0.4
crypto==1.4.1
Django==2.1.4
django-redis==4.10.0
django-rest-framework==0.1.0
djangorestframework==3.9.0
idna==2.8
Naked==0.1.31
pycrypto==2.6.1
pytz==2018.7
PyYAML==3.13
redis==3.0.1
requests==2.21.0
shellescape==3.4.1
urllib3==1.24.1
uWSGI==2.0.17.1

Linux安装virtualenv和virtualenvwrapper

创建新的虚拟环境

mkvirtualenv 18luffy

进入虚拟环境

 workon 18luffy

安装这个文件 requirements.txt

pip3 install -i https://pypi.douban.com/simple -r requirements.txt 

使用uwsgi去启动路飞学城后端

cd /opt/luffy_boy

迁移数据

python3 manage.py migrate

启动项目

python3 manage.py runserver 0.0.0.0:8000

浏览器访问地址

192.168.81.133:8000 #自己虚拟主机IP地址

如果浏览器没出来是防火墙没关

>>>点击跳转关闭Linux上的防火墙

使用uwsgi.ini配置文件方式启动,内容如下

[uwsgi]
#填写项目的绝对路径(第一层路径)
chdir           = /opt/luffy_boy/
#填写crm第二层目录下的wsgi.py文件的路径
module          = luffy_boy.wsgi
#填写虚拟环境的绝对路径
home            = /root/Envs/18luffy
master          = true
#基于uwsgi的多进程,根据cpu来优化
processes       = 4

#如果你用了nginx反向代理,就填写socket参数
socket          = 0.0.0.0:9001  

#如果你没用nginx,想直接通过浏览器测试后端,使用http
#http = 0.0.0.0:9001
vacuum          = true

查看虚拟环境路径用

cdvirtualenv 

然后pwd查看路径

然后用配置文件启动项目,确保目录下有uwsgi.ini

uwsgi --ini uwsgi.ini 

>>>点击跳转Linux的nginx安装

启动nginx

nginx

退出虚拟环境进行以下安装

安装easy_install  

 pip3是python3的软件包管理工具
 easy_install 是python2的软件包管理工具

yum install python-setuptools

安装supervisor

easy_install supervisor

创建supervisor的配置文件

echo_supervisord_conf >  /etc/supervisor.conf 

修改supervisor的配置文件,添加启动uwsgi的命令
    supervisor其实就是帮咱们执行了,需要手动执行的命令而已

vim /etc/supervisor.conf

    写入如下内容,在最底部写

[program:18luff]
command=/root/Envs/18luffy/bin/uwsgi  --ini /opt/luffy_boy/uwsgi.ini
stopasgroup=true
killasgroup=true

测试用supervisor启动uwsgi ,注意要确保此时uwsgi已经退出

pkill uwsgi
pkill -9 supervi

 

supervisord -c  /etc/supervisor.conf   #这是启动supervisor服务端命令

supervisorctl -c /etc/supervisor.conf     #这是supervisor客户端管理命令

supervisor的命令

status 18luffy #查看状态
start 18luffy  #启动任务
stop  18luffy #停止任务  

前端vue部署

在 cd /opt 下下载文件
下载vue代码,解压缩

wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip

解压

unzip 07-luffy_project_01.zip 

配置node环境,去打包编译vue代码
下载node的代码包

wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz

解压缩node代码包

tar -zxvf node-v8.6.0-linux-x64.tar.gz

配置node的PATH环境变量即可

cd node-v8.6.0-linux-x64/bin

然后

pwd

路径

/opt/node-v8.6.0-linux-x64/bin
vim /etc/profile

编辑环境变量

PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/s18tngx/sbin:/opt/node-v8.6.0-linux-x64/bin"

读取数据

source /etc/profile

检查路径是否正确

node -v  #8.6.0
npm -v   #5.3.0

编辑api.js

cd /opt/07-luffy_project_01/src/restful/

修改IP地址

sed -i  "s/127.0.0.1:8000/192.168.81.133:9000/g"  api.js   

      sed 是linux处理字符串的命令
     -i 是将结果替换到文件
     "s/127.0.0.1:8000/192.168.81.133:9000/g"   #解释  s是替换模式  /你想替换的内容/你想替换的结果/   g是全局替换


对文件进行编辑

cd /opt/07-luffy_project_01

进行打包vue,生成静态文件夹 dist
确保你在vue的代码文件夹

npm install  #解决vue代码所需的模块依赖  

npm run build    #进行编译打包

进行反向代理

cd /opt/s18tngx/conf

配置文件

vim nginx.conf
 server {
        listen       80;
        server_name  192.168.81.133;
        location / {
            root   /opt/07-luffy_project_01/dist;
            index  index.html index.htm;
        }

第二个server

server {
    listen 9000;
    server_name  192.168.81.133;
    location  / {
        uwsgi_pass 0.0.0.0:9001;
        include uwsgi_params;
    }

}

wq!保存退出 重启nginx

nginx -s reload

启动redis,路飞学城用的是sqllite,不需要mysql

yum install redis -y  #安装命令
systemctl start redis   启动redis

redis登录命令

redis-cli  

登录后输入 ping 返回一个pong代表正确启动

windows访问路飞学城首页,查看课程列表 ,进行alex账户登录
账户:  alex
密码:  alex3714

登录后,添加django课程信息后,可以查看购物车信息,代表正确启动路飞学城





 

 

 





 

posted @ 2019-04-04 20:40  等待の喵  阅读(793)  评论(0编辑  收藏  举报