기술나눔

가상 머신에 Linux CENTOS 07을 설치하고 NET8을 배포합니다.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

먼저 centos07 이미지를 다운로드하세요. Alibaba Cloud에서 권장하는 주소를 사용하는 것이 좋습니다.

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 활성화 코드가 제공됩니다.

激活码:JU090-6039P-08409-8J0QH-2YR7F

먼저 네트워크 구성

편집기에서 기본 설정을 클릭한 다음 테이블에서 가상 머신을 선택하고 기본 설정을 복원합니다.

나중에 WGET 명령을 통해 환경 패키지를 다운로드해야 한다고 설명하면 명령줄에 네트워크가 허용되지 않는다는 메시지가 표시되고 Baidu는 몇 가지 조사를 수행했으며 이 작업으로 충분합니다.

/home 아래에 새 dotnet 폴더를 만든 다음 NET 8 SDK와 런타임을 다운로드합니다. (사실 그 중 하나만 설치하면 됩니다. 다른 사람들이 런타임을 설치한 것을 보고 저는 sdk를 설치하기로 결정했습니다. net8 SDK에는 런타임이 포함되어 있습니다.)

  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

오랫동안 지침을 따랐고 여러 번 실패했으며 내 인생을 여러 번 의심했습니다. Centos 07+ 버전을 다운로드하려고 시도하거나 NET8을 다운그레이드하려고 여러 번 시도했습니다. , 가상 머신이므로 매우 빠릅니다)

어쩌면 옛날 사람들의 버전이 내 버전과 다르기 때문에 작동하지 않았을 수도 있습니다! ! ! ! !

其实就是下载一个libstdc++.so.6.0.26 放到 usr/lib64下,

然后做一个软连接所有访问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에 런타임이 포함되어 있다고 추측했습니다(내 win10 net8에는 하나의 SDK만 있지만 이전에는 net5 SDK도 net core 2.1 rutime에 의존했기 때문입니다).

그런 다음 간단한 나머지 API를 빌드하고 게시한 후 Windows에서 실행하면 됩니다.

파일을 Linux에 복사하고 파일에 경로를 입력하십시오.

dotnet WebApplication1.dll

이때 가상 머신과 통신할 수 있도록 네트워크 포트를 설정한 다음 물리적 머신에서 가상 머신에 액세스해야 합니다.

결과,,,,

결과적으로 나는 어리석게도 Linux 명령줄에서 locslhost:5000을 클릭했습니다(클릭할 수 있다는 메시지가 표시되었기 때문입니다).

더 높은 버전의 VM에는 이미 시각적 작업과 Firefox 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에서 이를 달성하기 위해 위의 명령줄을 변경할 수도 있습니다.

이 설치는 비교적 간단합니다. 한 줄씩 실행하면 됩니다. 그러나 앞서 언급한 환경 문제도 직면하게 됩니다(여전히 해결해야 함).

이 기사에 필요한 리소스 및 관련 문서는 그룹 공유에서 다운로드할 수 있습니다. 기술적인 문제는 그룹에서 전달될 수 있습니다. 참고: 이 그룹에서는 광고가 금지됩니다. 이 그룹에서는 광고가 금지되어 있습니다! 이 그룹에서는 광고가 금지되어 있습니다! 중요한 말을 세 번 말해주세요. 감사합니다!