技術共有

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 とランタイムをダウンロードします (実際には、そのうちの 1 つをインストールするだけです。他の人がランタイムをインストールしているのを見たので、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が1つしかありませんが、以前はnet5 SDKもネットコア2.1ルータイムに依存していたため)

次に、単純な REST 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 で上記のコマンドラインを変更することもできます。

このインストールは比較的単純で、1 行ずつ実行するだけですが、前述した環境問題も発生します (解決する必要があります)。

この記事に必要なリソースと関連ドキュメントはグループ共有でダウンロードできます。技術的な問題についてはグループ内で連絡することができます。ご注意ください。このグループでは広告は禁止されています。このグループでは宣伝は禁止です!このグループでは宣伝は禁止です!大事なことは3回言ってください、ありがとう!