这段时间在vmare中尝试架设.netcore3.1运行环境搭配Nginx+Mysql进行站点架设,因为没有任何linux的相关使用经验,整体来说有些许不适

1、ICU包报错

首先出现的问题是环境都已经正常安装,但是运行站点时(dotnet App.dll)还是提示ICU包相关报错,解决方法如下:

       先确定是否安装了完整的支持包

yum install libicu
yum -y install libicu-devel
yum install libunwind

      如果确定安装后还是报错执行该命令: 

export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1

2、出现大量404相关错误  

站点成功执行后,发现有很多页面的路径已经无法正常读取,全部都在报404错误

经过诊断为:项目有些路径存在大小写未区分,但是Euler与windows不同,是区分大小写的,导致路径无法正常读取从而无法打开页面

解决方法为找到对应的文件进行修改,目前都是体量较小的项目,可以用此方法
 

3、无法访问数据库

而后出现了站点无法正确的访问mysql数据库的问题

经过诊断为:项目引用的sqlSugar包版本过旧,无法支持连接编码为utf-8mb4/3的数据库,需要将mysql的相关引用更新

至此三个影响站点的问题都已经解决

4、后台运行站点

在正式运行程序后发现整个命令行都被占用,无法进行别的操作,xshell之类的ssh工具运行的话一旦断开,站点也会跟着停止,为了解决这个问题,本来是打算用服务的方式,但是不知道因为什么原因,root权限一直提示因为权限问题无法执行,所以暂时使用了

nohup dotnet App.dll &

用该方法执行的站点启动将在后台执行,Xshell关闭也不会影响

关闭的方式如下

通过ps aux | grep App获取进程PID

[root@localhost manager]# ps aux | grep App
root        8525  1.7  0.3 71155716 205088 pts/1 Sl   14:19   0:04 dotnet App.dll
root        8744  0.0  0.0  22096  1536 pts/1    S+   14:24   0:00 grep --color=auto App

通过PID kill
[root@localhost manager]# kill 8525
 

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐