示例项目 -- LuffyCity.com 的上线

具体解释,vue前端提供静态页面,且可以向后台发起get,post等restful请求

django后台提供数据支撑,返回json数据,返回给vue,进行数据页面渲染

下面是部署笔记:

-- 先从后端搞起  解决环境依赖 --
解决环境依赖的办法:
1 挨个报错的处理
2 pip3 freeze >requirements.txt
3 传这个txt文件到linux
linux通过命令安装
pip3 install -r requirements.txt
4 或者自己创建 touch requirements.txt
vim requirements.txt 写进去包数据
(s17luffy) [root@master luffy_boy]# cat 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
5 安装uwsgi启动项目后端
启动方式1 :用参数启动 uwsgi --socket :8000 --module luffy_boy.wsgi
方式2 用配置文件启动 创建 touch uwsgi.ini
     vim uwsgi.ini 写入
              启动命令 (虚拟环境) [root@web02 opt]# uwsgi --ini luffy_boy/uwsgi.ini 找见 .ini文件的地址
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /opt/luffy_boy
# Django's wsgi file
module = luffy_boy.wsgi
# the virtualenv (full path)
home = /root/Envs/s17luffy
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 1
# the socket (use the full path to be safe
socket = 0.0.0.0:6666 此处需注意
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
#后台运行uwsgi
daemonize=yes
-- 前端代码 vue 打包搞起  --
1 准备node环境,下载node环境包
wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
2 解压包
tar -zxvf node-v8.6.0-linux-x64.tar.gz
3 添加到环境变量 vim /etc/profile
PATH="......"
4 编译打包前端的vue文件
1 修改vue提交的请求地址,修改文件是
/opt/s17luffy/07-luffy_project_01/src/restful/api.js
2 更该接口内的地址
原来是 127.0.0.1:8000/
改成服务器的ip地址和端口
sed -i "s/127.0.0.1/192.168.11.186/g" /opt/s17luffy/07-luffy_project_01/src/restful/api.js 此时进入vue代码的第一册层文件夹,
      cd /opt/s17luffy/07-luffy_project_01
     3 安装node模块,这是找到package.json,安装它的内容
      npm install
     4 编译打包vue代码,这一步会生成 dist 静态文件夹,用于nginx 展示,路飞的页面都在这里了
     npm install build
     5 配置nginx去找到这个路飞学城页面
      修改 nginx.conf 参数如下所示:
       虚拟主机1,用于找到vue页面
server {
listen 80;
server_name s17dnf.com;
location / {
root /opt/s17luffy/dist;
index index.html;
}
}
虚拟主机2,用于反向代理,找到django
server{
listen 8000;
server_name 192.168.11.250; location / {
include uwsgi_params;
uwsgi_pass 0.0.0.0:6666;
}
}

      nginx -t 检查

      nginx -s reload 重启使得配置生效

-- 启动redis数据库,支撑购物车数据

    redis-server redis.conf  默认6379端口

-- 确保前端vue正常,后端django正常,nginx启动正常,redis正常,在Windows中访问页面

-- 确保可以添加购物车数据,用户登陆

更多请访问 https://www.cnblogs.com/pyyu/p/10160874.html

linux Vue+nginx+django 实现前后端分离的更多相关文章

  1. nginx+vue+uwsgi+django的前后端分离项目部署

    Vue+Django前后端分离项目部署,nginx默认端口80,数据提交监听端口9000,反向代理(uwsgi配置)端口9999 1.下载项目文件(统一在/opt/luffyproject目录) (1 ...

  2. .Net Core+Vue.js+ElementUI 实现前后端分离

    .Net Core+Vue.js+ElementUI 实现前后端分离 Tags: Vue 架构 前端采用:Vue.js.Element-UI.axios 后端采用:.Net Core Mvc 本项目是 ...

  3. linux项目部署(非前后端分离crm)

    参考博客 参考博客2---部署过程 导论:看参考博客1 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收 ...

  4. Django:前后端分离后联调给前端传数据

    实现前后端分离后,有了下面几点改变: 1.服务器一分为二,前后端分别部署,静态资源放在前端服务器,业务代码放在后的服务器 2.前端服务器需要接收Http请求(一般使用node.js) 3.前端服务器需 ...

  5. 细说 Django — web 前后端分离

    一.所谓的前后端分离 1.渊源 前端发展史 2.特点 前端:负责 View 和 Controller 层 后端:只负责 Model 层,业务处理/数据等 3.优缺点 优点:解耦,解放前端,职责明确 缺 ...

  6. nginx反向代理前后端分离项目(后端多台)

    目前软件架构都比较流行前后端分离,前后端的分离也实现了前后端架构的分离,带来的好处 —— 整个项目的开发权重往前移,实现真正的前后端解耦,动态资源和静态资源分离,提高了性能和扩展性. 通常Spring ...

  7. docker+nginx+redis部署前后端分离项目!!!

    介绍本文用的经典的前后端分离开源项目.项目的拉取这些在另一篇博客!!! 其中所需要的前后端打包本篇就不做操作了!!不明白的去看另一篇博客!!! 地址:http://www.cnblogs.com/ps ...

  8. vue.js+UEditor集成 [前后端分离项目]

    首先,谈下这篇文章中的前后端所涉及到的技术框架内容. 虽然是后端的管理项目,但整体项目,是采用前后端分离的方式完成,这样做的目的也是产品化的需求: 前端,vue+vuex+vue router+web ...

  9. 如何利用vue和php做前后端分离开发?

    新手上路,前端工程师,刚毕业参加工作两个月,上面让我用vue搭建环境和php工程师一起开发,做前后端分离,然而我只用过简单的vue做一些小组件的经验,完全不知道怎样和php工程师配合,ps: php那 ...

随机推荐

  1. MongoDB limit 选取 skip跳过 sort排序 方法

    MongoDB  limit 选取 skip跳过 sort排序 在mysql里有order by  MongoDB用sort代替order by > db.user.find() { " ...

  2. MongoDB pymongo模块 删除数据

    使用user集合,删除user集合的数据 import pymongo mongo_client = pymongo.MongoClient( host='192.168.0.112', port=2 ...

  3. Wi-Fi 协议和数率?

    IEEE 802.11Wi-Fi 协议摘要 协议 频率 信号 最大数据速率 传统 802.11 2.4GHz FHSS 或 DSSS 2Mbps 802.11A 5GHz OFDM 54Mbps 80 ...

  4. vue监听滚动事件 实现某元素吸顶或者固定位置显示

    https://blog.csdn.net/wang1006008051/article/details/78003974 1.监听滚动事件 利用VUE写一个在控制台打印当前的scrollTop, 首 ...

  5. Python 全栈开发二 python基础 字符串 字典 集合

    一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...

  6. Py中enumerate方法【转载】

    转自:http://www.runoob.com/python/python-func-enumerate.html enumerate(sequence, [start=0]) sequence - ...

  7. jenkins 常用插件和配置项介绍和使用

    jenkins 上搜索不到的插件可以在如下地址下载: http://updates.jenkins-ci.org/download/plugins/ 1.Notification Plugin 介绍: ...

  8. jQuery发布1.9正式版,最后支持IE 6/7/8

    jQuery 于 2013/1/15 正式发布了 1.9 版本,这个版本最值得关注的,不是又增加了什么新功能,而是它去掉了哪些东西!jQuery 1.9 删除和改动了不少过时的 API,升级后可能会导 ...

  9. centos6.6 7 vim编辑器中文乱码

    编辑~/.vimrc文件,加上如下几行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 ...

  10. Cocos Creator EditBox(编辑框/输入框)添加事件的两种方法

    EditBox添加事件方法一这种方法添加的事件回调和使用编辑器添加的事件回调是一样的,通过代码添加, 你需要首先构造一个 cc.Component.EventHandler 对象,然后设置好对应的 t ...