标签:Linux

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:

阅读全文

WSL简介及安装教程

日常学习和娱乐我都在使用Windows,但遇到部分项目尤其是需要部署在服务器上的时候,利用Linux开发就更加方便。双系统性能高效,但切换麻烦;虚拟机方便,可以和win平台同时运行,但每次运行需要等待虚拟机启动。 微软为Windows 10带来了全新的WSL(Windows Subsystem for Linux),即适用于 Linux 的 Windows 子系统(总感觉名字是不是反了)。通过WSL,Liunx控制台就跟Powershell一样易用,并且子母系统间能够互相访问文件系统,可以很方便地在Windows上开发Linux平台的应用程序。 WSL版本又分WSL 1和WSL 2,两者的原理不同。一个官方的比较表格如下: |功能 | WSL 1 | WSL 2| | |Windows 和 Linux 之间的集成 | ✅ | ✅| |启动时间短 | ✅ | ✅| |占用的资源量少| ✅ | ✅| |可以与当前版本的 VMWare 和 VirtualBox 一起运行 | ✅ | ✅| |托管 VM | ❌ | ✅| |完整的 Linux 内核 | ❌ | ✅| |完全的系统调用兼容性 | ❌ | ✅| |跨 OS 文件系统的性能 | ✅ | ❌| 简单来说WSL 1是在Windows上虚拟了一个Linux内核,模拟Linux系统调用,以运行Linux中的程序,更加原生,启动速度极快,甚至能直接用Windows任务管理器来管理Linux子系统的进程。但同样也有缺点,主要是兼容性问题。包括Docker等程序无法在WSL 1上使用,像我使用django时会提示"You're probably using an uncommon filesystem setup"。 而WSL 2则是基于Hyper WSL 1和WSL 2的安装略有区别 首先在「控制面板」 打开微软应用商城,搜索你想安装的Linux,比如Ubuntu。 这里有三个版本,后面不带版本号的默认是最新的LTS版本,现在也就是 完成后打开,控制台会继续进行最后的安装操作,按提示输入用户名和密码即可完成安装。 在资源管理器地址栏中输入,可以看到所有Linux子系统的文件系统。可以直接在Windows下对其中文件进行编辑。 因为WSL 2基于虚拟机,因此需要在「控制面板」 在安装Linux发行版之前,先将WSL 2设置为默认版本,需要在powershell中输入: 或者如果你已经安装了基于WSL 1的Linux发行版,想升级到WSL 2,先在powershell中输入来查看已有的Linux和其WSL版本: 然后更改其WSL版本: 例如: 在升级过程中,可能会碰到提示「WSL 2需要更新其内核组件」,。 安装完后再次更改版本,等待片刻后就更新到WSL 2了。 打开微软应用商城,搜索你想安装的Linux,比如Ubuntu。 这里有三个版本,后面不带版本号的默认是最新的LTS版本,现在也就是 完成后打开,控制台会继续进行最后的安装操作,按提示输入用户名和密码即可完成安装。 在资源管理器地址栏中输入,可以看到所有Linux子系统的文件系统。可以直接在Windows下对其中文件进行编辑。 WSL对于平常重度使用Windows,只有在开发时偶尔使用Linux的人来说,真的很方便。 另外还有部分操作可以提升子系统的使用感受,比如安装Windows Terminal,Linux控制台会自动添加到其中;VS Code可以下载Remote WSL插件来开发子系统内的项目等等。 据说将来WSL 2还将支持GPU和GUI,值得期待。

阅读全文

装机工具推荐——Ventoy

最近发现一款装机工具,很好用,是一款国产开源工具,Ventoy。 传统装机我们一般可以选择 但是前两种方法只能固定使用一个系统的镜像,PE虽然可以方便地安装多种系统,但是在我使用中经常碰到UEFI的引导问题,导致最后装上Legacy引导的系统。 而Ventoy同时能实现普通的iso安装,需要时也可以进入PE系统。 Device选择U盘,点击安装(安装会对U盘进行格式化,需要提前备份文件)。 安装完成后,U盘会被分成两个区。第一个分区将会被格式化为exFAT,用于存放iso文件,镜像可以放在任意目录下,Ventoy会遍历找出并显示(路径和文件名不能有中文)。第二个分区用于UEFI引导,不用管。 可以使用的iso包括WinPE,Windows 10,Windows 7,Ubuntu,CentOS等绝大多数iso,官方提供了可供查询。 因此使用时可以在U盘内存放需要的系统安装镜像和PE镜像,引导进入Ventoy后即可自由选择直接使用镜像安装,或进入PE进行操作,非常方便。 附: 水了一篇文章……

阅读全文
公告栏

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

动态
@余弦G:

博客部署成功~

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