进入服务器项目文件目录下,我的django项目放在了“/usr/myProjects/”目录下了。在managepy同级目录下创建uwsgiini文件,配置如下:
测试效果命令:
如果访问:xxxxxxxxxxx:8000 成功, 则uwsgiini配置成功
我的nginxconf所在位置是“/etc/nginx/nginxconf”
配置文件如下:
1、第一行
主要就是给nginx加权限,vue部署后使用history路由时会去掉地址后面的‘#’号,打包部署后不加权限会有bug。
2、如配置所示,有两个Server,分别部署了前端服务,和后端服务,值得注意的是两个Server用的是同一个服务器,监听的端口不同。
3、vue部署需要注意的是反向代理地址:
以及后面的端口问题
4、后端的Server需要注意location中的uwsgi_pass 后面的端口号要和uwsgiini中配的相同,否则监听不到
5、后端跨域问题。如果遇到跨域需要自己网上找配置,我的没遇到,可能是因为我在django的settings中配置了跨域。
6、django-suit后台管理样式崩了,需要改,但是api可以正常访问,这个有空再说
7、我开始后台监听的是8008端口,vue前端监听的是80端口,这样前端显示好看。然而问题出现了,虽然后台api可以正常访问,vue的本地开发环境也能正常运行且文字、资源均显示正常,但是前端vue打包线上部署后,文字信息显示正常,信息缺失8008端口,导致显示不出来。为图方便我选择了前端监听8008端口,后端监听80,部署后显示正常。原因不太清楚///////有空再说吧。
8、不要问我为啥都前后端分离了还部署到一个服务器上?穷,而且只是测试,没必要
9、此文仅适合入门
关于django后台admin(suit)缺失的修改(参考:django中文网: >前端和后端连接方式取决于应用程序的需求和技术栈,java常见的五种连接方式如下:
1、RESTful API
使用RESTful API是最常见的前后端连接方式,前端通过、出入参的规范,这一点也是前后对接的难点,而责任往往在于后端的接口设计。后端设计接口的时候,不能只想着每一个接口就是完成特定的一个作用,而不考虑功能。后端必须要对出入参进行序列化与反序列化的定制,这样才能保证出入参的数据类型是统一的。
前后端分离说白了就是把前端和后端分成两个工程,由不同的团队负责开发,这样从工程和职责的角度上都有分开,这样,后端偏向于提供单纯的API接口,前端就是调用API接口进行展示和业务调用。
这样不仅将页面渲染和业务逻辑从server剥离开来,将页面渲染放给前端,甚至放给浏览器;将业务逻辑放给后台专心搞业务,降低了他们之间的耦合性,而且从职责上进行了分明,更适合大项目和大团队管理和开发。
由于后端提供的接口方式可能多种多样,同时开发人员在编写Node端代码访问这些接口的方式也有可能多种多样。如果我们在接口访问方式及使用上不做统一架构处理,则会带来以下一些问题:
1每一个开发人员使用各自的代码风格编写接口访问代码,造成工程目录及编码风格混乱,维护相对困难。
2每一个开发人员编写自己的mock数据方式,开发完毕之后,需要手工修改代码移除mock。
3每一个开发人员为了实现接口的不同环境切换(日常,预发,线上),可能各自维护了一些配置文件。
4数据接口调用方式无法被各个业务model非常方便地复用。
5对于数据接口的描述约定散落在代码的各个角落,有可能跟后端人员约定的接口文档不一致。
6整个项目分离开发之后,对于接口的联调或者测试回归成本依然很高,需要涉及到每一个接口提供者和使用者。
1、先理清业务流程
2、定义前后端开发的接口规范。比如json的格式,url的格式
3、定义接口文档,这里的接口文档一般就是对应后台的实体reqVo(调用后台接口访问的实体)和返回给前台的respVo(前台调用接口的返回的实体)。注意一般respVo都会有在后台做一个统一的处理为ResultVo(这个规范在2中要定义好,比如:错误码,错误描述,请求的url,请求时间,以及实体T)
4、定义接口文档是在了解业务流、数据流基础之上完成的。有了这个接口文档(其实就是定义实体的过程和对应的json)前后端的开发基本按照这个文档去开发。接口文档会有版本迭代,一般放到svn上,供所有开发人员阅览
5、现在一般系统用到的数据库都不会是单纯mysql了。还有redis,mongo、es等。这些个人感觉都是在十分了解业务的情况和系统架构下去设计的。后台运用这些工具去完成接口功能的实现已经系统功能和性能的实现。这个和接口文档先后顺序还真不好说,个人觉得都可以。
6、业务流-数据流-资金流。去了解和设计系统。
Rails的初始准备见:Rails 处理跨站请求准备完这个,接下来我们就只要管Control怎么写就行了。
首先来尝试一下get,最简单。
def index json_str = {"xx" => "hello"}to_json render :json=>json_str, status=>'200' end
在这里我们用了一个to_json方法来处理,把Hash转换为json格式,to_json方法是Rails中特有的,并非Ruby本身的方法。
接着我们就可以滚去前端了:
在需要调用的位置使用:$>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)