更新时间:2021年2月25日
项目发布
设置后端启动端口:
后端将会在44362端口开放
先打包前后端文件
前端:
后端:
上传至服务器:
配置nginx:
前端:
然后重启一下nginx:
nginx -s reload
效果:
不过说真的,服务器真的不行,加载老慢了!
后端:
启动一下:
http://127.0.0.1:44362
已经开放了
现在需要nginx进行配置端口转发:
注意,这里我们把数据从44362转发到了44366,等下我们前端也得改改
重启nginx
效果:
失败了
我们看看后端转发成功了没
到处测试了一下
发现前后端都没有问题,我换一个接口访问:
后端确实已经出来了!
前端也没有问题!
那就是前端nginx ip代理出了问题!
这个地方改成:
然后就没有问题了!
还有一个问题
当我们访问验证码的时候,会弹出500的报错
主要是这个是向后端请求一张图片
图片转base64编码,然后太长了
修改前端:
重新打包发布
查看:
已经修改好了
重启nginx,最后测试!
不过好像也不是这个问题
我看了下,验证码图片也就100多kb,不可能是文件过大问题,报错500还有一个就是后端炸了,我在自己的环境下没有问题,发布出去怎么会有问题呢?
你别说,我还真找到有一个问题
linux路径应该要改成上面的样子,不要用“\”用“/”
不过还是不行,哎???
查看报错:
应该是少引用了一个dll
我们使用了:
using System.Drawing;
using System.Drawing.Imaging;
在windows下肯定没问题,因为使用了GDI+图像技术
linux肯定不行!
这是一个大坑啊!
System.Drawing.Common
组件提供对GDI+图形功能的访问。它是依赖于GDI+的,那么在Linux上它如何使用GDI+,因为Linux上是没有GDI+的。Mono
团队使用C语言实现了GDI+接口,提供对非Windows系统的GDI+接口访问能力(个人认为是模拟GDI+,与系统图像接口对接),这个就是
libgdiplus。进而可以推测 System.Drawing.Common 这个组件实现时,对于非Windows系统肯定依赖了
ligdiplus 这个组件。如果我们当前系统不存在这个组件,那么自然会报错,找不到它,安装它即可解决。
yum update
yum install libgdiplus-devel -y
ln -s /usr/lib64/libgdiplus.so /usr/lib/gdiplus.dll
ln -s /usr/lib64/libgdiplus.so /usr/lib64/gdiplus.dll
我已经全部弄好之后就没有问题了
呵,我还是太年轻了!
验证码是出来了,但是码呢???
注意到这里代码是使用字体的,我们在linux肯定没有(毕竟连图片都没有)
这里我们干脆留个坑,直接用字母来表示:
肯定没问题,就是字体乱码的原因!
ok,解决
你以为这就没问题了??
啊!!舒服啊!
现在终于进来了!!!!!!!
大功告成!
不管那么多了!
我要即将开始写论文了!