虚拟机安装Linux CENTOS 07 部署NET8 踩坑大全

打印 上一主题 下一主题

主题 857|帖子 857|积分 2571

首先下载centos07镜像,发起利用阿里云推荐的地点:
  1. https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spm=a2c6h.25603864.0.0.59b5f5ad5Nfr0X
复制代码

 其实这里就已经出现第一个坑了
centos  07 /usr/lib64/ 的 libstdc++.so只支持到19;

GLIBCXX会缺失3.4.20以后所有的版本

net 8运行就会报错,由于它需要GLIBCXX_3.4.20和GLIBCXX_3.4.21(其实就是NET8 不支持CENTOS 07,我们硬要它支持)
  1. dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by dotnet)
  2. dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by dotnet)
复制代码
既然遇到了并能办理问题,那么如果一开始就用centos更高的版本,是不是就能直接制止这些问题;固然那是后话,以下还是讲述07版本走出大坑

下载以及安装过程就省略掉了;顺便提供以下VM17的激活码
  1. 激活码:JU090-6039P-08409-8J0QH-2YR7F
复制代码
先配置下网络
编辑里,点击首选项,然后在表格里选择自己的虚拟机,还原默认设置
解释一下,后面要通过WGET下令 下载情况包,然后下令行会提示网络不允许;最后百度了一番,这么利用就可以了。

 在 /home 下新建dotnet 文件夹,然后下载NET 8 SDK 和runtime(其实安装此中一个就行了,我看别人安装的都是runtime,我选择安装sdk,net8 sdk 里是包含runtime的)
  1. 虚拟机拖拽命令
  2. systemctl enable run-vmblock\\x2dfuse.mount # 开机自启
  3. systemctl start run-vmblock\\x2dfuse.mount # 启动服务
  4. sdk 下载地址
  5. wget https://download.visualstudio.microsoft.com/download/pr/dd6ee0c0-6287-4fca-85d0-1023fc52444b/874148c23613c594fc8f711fc0330298/dotnet-sdk-8.0.302-linux-x64.tar.gz
  6. runtime 下载地址
  7. wget https://download.visualstudio.microsoft.com/download/pr/ce31d92b-b514-4f9c-843b-29c466871369/b332eba5641cbc6eed1e3a98480972d2/aspnetcore-runtime-8.0.6-linux-x64.tar.gz
复制代码

 
  1. 解压路径
  2. mkdir dotnet
  3. mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-8.0.302-linux-x64.tar.gz -C $HOME/dotnet
  4. export DOTNET_ROOT=$HOME/dotnet
  5. export PATH=$PATH:$HOME/dotnet
  6. 保存到环境变量
  7. echo 'export PATH=$PATH:$HOME/dotnet' >> ~/.bashrc
  8. echo 'export DOTNET_ROOT=$HOME/dotnet' >> ~/.bashrc
  9. source ~/.bashrc
  10. dotnet --version
  11. dotnet --info
复制代码
这时间你执行dotnet --version 应该就会报错了,
这时间我就开始踩坑了
网上帖子说用yum 更新 libstdc.so 还有什么编译新版本GCC??????????????
就这么按照指点利用了很久,失败了很多次,怀疑人生了很多次,差点就去试图下载centos 07+版本,或者试图把NET8降下来;把系统搞乱了,也重装了好几次,(还好是虚拟机,快得很)
大概是哪些老前辈版本跟我不一样导致没乐成吧!!!!!
  1. 其实就是下载一个libstdc++.so.6.0.26 放到 usr/lib64下,
  2. 然后做一个软连接所有访问libstdc++.so.6指向libstdc++.so.6.0.26
复制代码
就能让net8 在 centos 07 上乐成部署以及运行 net core简单案例
 
 下载,上传,解压过程我就跳过了鸭
以下提供软连接下令
  1. 下载链接: libstdc.so.6.0.26 将压缩包放置/usr/lib64目录下
  2. cd /usr/lib64
  3. unzip libstdc.so_.6.0.26.zip
  4. rm libstdc++.so.6
  5. ln -s libstdc++.so.6.0.26 libstdc++.so.6
复制代码

 

 这时间在执行 dotnet下令检查情况
  1. dotnet --version
  2. dotnet --info
复制代码
应该会如下所示

 我就猜到net8 sdk 里包含了 runtime (由于我win10 net8 就一个sdk,不过之前net5 SDK 还要依赖 net core 2.1 rutime)
然后任意建一个简单的 rest api 发布后再windows 下运行

 

 将文件拷贝到linux 上,在文件里路劲里
  1. dotnet WebApplication1.dll
复制代码
 
这时间我们应该设置网络端口和虚拟机互通,然后在物理机上访问虚拟机
效果,,,,
效果我手贱去点了一下linux 下令行的locslhost:5000 (由于它提示能点)
原来高版本的VM已经自带可视化利用了,还内置火狐LINUX版

对于LINUX centos 情况部署 net8 microsoft还提供了更简单的支持,脚本安装
 
  1. 以下是脚本自动安装NET 8  
  2. wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
  3. chmod +x ./dotnet-install.sh
  4. ./dotnet-install.sh --version latest
  5. 若要安装 .NET 运行时而非 SDK,请使用 --runtime 参数。
  6. ./dotnet-install.sh --version latest --runtime aspnetcore
复制代码
它会下载这么个玩意,然后去安装,默认会按照最新版本的SDK去安装,想安装其他版本,或者rintime也可以更改上方下令行实现

 
这个安装的比较简单,一行一行往下执行就行了;但是也会遇到我说的哪些情况问题(该办理的还是得办理)
全剧终

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

罪恶克星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表