标签:服务器

React + Django项目部署

现在替实验室做的项目,前端用的是React,后端是Python的Django,并且要前后端分离,前端通过向后端端口发送fetch请求调用后端api,数据通过json交换。因此需要用Nginx分别部署前端和后端。 先在React项目文件下运行进行打包,然后上传至服务器。服务器安装完Nginx后就可以新建站点配置。 因为React只有一个index.html,url需要都转发至index.html才能正常访问。比如在React中编写访问跳转到登录,但是如果不转发,访问时会找不到资源提示403。而转发后则能正常调用相应的js等从而正常访问。 重启一下Nginx服务,浏览器输入域名就可以访问了。 后端相对麻烦一些,还额外需要安装uWSGI。大概思路是Nginx接收并处理静态请求,一旦收到动态请求,则转发给uWSGI,再由uWSGI交给Django进行处理。 另外这样前后端分离可能涉及到跨域,得安装django 先将Django项目打包上传至服务器。安装uWSGI以后,在Django项目路径下新建一个uwsgi.ini,然后进行配置。 :定义项目运行的端口 :项目路径 :Django项目会自动包含一个wsgi.py,一般在路径下的同名文件夹中,例如。这里只要填写即可。 :进程数 有需要的话,还有其他额外的配置参数,可以参考官方文档。 接着需要在Nginx中对uWSGI进行配置。 这里Nginx监听了8000端口,从8000端口接收请求,而uWSGI中项目工作在8001端口,注意区分。 运行: Django项目就会被启动。 通过杀掉uWSGI中设定的项目端口: 就可以停止Django项目的运行。 另外通过Supervisor,能够实现开机自启与进程保护。 配置可以参照: 重启Nginx,后端部分应该就可以正常工作了。 前端只需要发送请求到上面Nginx设置的后端域名处(没有域名就发到),就可以实现调用。例如前端(这里仅包含请求的收发,不包括处理): 后端urls.py:

阅读全文
公告栏

欢迎来到Fluent Blog,一个基于ASP.NET Core 5.0 MVC的博客。

动态
@余弦G:

博客部署成功~

2021/4/22 上午12:15:08
60