我想从 AWS Amazon Linux AMI实例运行 .NET Core MVC 网站。
以下是我到目前为止采取的步骤:
- 在 Visual Studio 2015 中创建模板ASP.NET Core Web 应用程序 (.NET Core) - C# - MVC Web 应用程序项目。在 IIS Express 中编译和运行应用程序。未对任何配置(web.confg、project.json 等)进行任何更改。
- 将整个 Web 应用程序解决方案上传到 GitHub。
- 启动 Amazon Linux AMI (2016.03.2) 实例。为简单起见,安全组现在开放“所有流量”访问。
- 使用 PuTTY SSH 进入 Linux 实例。使用ec2-user登录。
- 更新实例
sudo yum update -y
- 安装libunwind
sudo yum install libunwind -y
- 安装gettext
sudo yum install gettext -y
- 安装.NET Core
curl -sSL https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0-preview1/scripts/obtain/dotnet-install.sh | bash /dev/stdin --version 1.0.0-preview1-002702 --install-dir ~/dotnet
- 关联
sudo ln -s ~/dotnet/dotnet /usr/local/bin
- 安装.NET 版本管理器 (DNVM)
curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
- 运行命令
source /home/ec2-user/.dnx/dnvm/dnvm.sh
- 安装.NET 执行环境 (DNX)
dnvm upgrade -r coreclr
- 安装Kestrel使用的libuv
sudo yum install automake libtool wget -y wget http://dist.libuv.org/dist/v1.8.0/libuv-v1.8.0.tar.gz tar -zxf libuv-v1.8.0.tar.gz cd libuv-v1.8.0 sudo sh autogen.sh sudo ./configure sudo make sudo make check sudo make install sudo ln -s /usr/lib64/libdl.so.2 /usr/lib64/libdl sudo ln -s /usr/local/lib/libuv.so.1.0.0 /usr/lib64/libuv.so
- 安装Git
sudo yum install git -y
- 在“/home/ec2-user”目录中为应用程序创建目录。移动到该目录。
mkdir director-name cd directory-name
- 使用 Git 克隆 Web 应用程序
git config user.name "myUserName" git config user.email "myEmail" git clone https://github.com/username/repositoryname.git
- 移动到“项目”目录
cd solution-name/src/web-project-name
。 - 恢复包
dotnet restore
- 构建应用程序
dotnet build
- 运行应用程序
dotnet run
此时我在终端中看到以下内容:
现在收听:http://localhost:5000
我尝试使用末尾标记的端口 5000 (http://aws-ip-or-dns:5000) 访问 AWS DNS/IP,但没有得到任何响应。
我知道Docker和Mono是我可以使用的工具,但我宁愿让这种方法发挥作用。
我用来安装 .NET Core、DNVM 和 DNX 的脚本是来自这些链接的 CentOS 和 Ubuntu 方向的某种组合:
- https://docs.asp.net/en/latest/getting-started.html
- https://www.microsoft.com/net/core#centos
- https://docs.asp.net/en/1.0.0-rc1/getting-started/installing-on-linux.html
免责声明 我对 Linux 没有那么丰富的经验。公平地说,我不理解我正在运行的一些命令。但是,我是来学习的!
问: 我需要做什么才能获得运行 AWS Amazon Linux 环境的模板 .NET Core Web 应用程序?
(我的猜测是我在设置 HTTP 服务器时缺少一些东西)
我需要更多的声誉来发布两个以上的链接,所以如果有人想编辑,我会很感激的。