阿里云CentOS部署ASP.NET Core全攻略

需积分: 49 36 下载量 170 浏览量 更新于2023-03-16 4 收藏 1.03MB DOCX 举报
"阿里云CentOS部署Asp.Net Core的详细步骤包括准备阿里云CentOS系统,安装.NET Core环境,以及配置运行Asp.Net Core应用。这个过程适用于希望在Linux环境下运行.NET Core应用的开发者,特别是那些选择阿里云作为服务器平台的人。" 在阿里云上部署Asp.Net Core应用程序,首先要确保你的开发环境与目标运行环境兼容。在这个例子中,开发环境是ASP.NET Core 2.1.104,因此我们需要在CentOS系统中安装相同版本的.NET Core SDK。以下是部署的详细步骤: 1. **安装准备**: - 确认你的开发环境中的ASP.NET Core版本。 - 创建一个新的ASP.NET Core MVC项目,并在`Program.cs`中设置监听所有IP地址的5000端口,这将允许应用接受来自不同源的连接。 - 将阿里云实例的操作系统从Windows Server 2012更换为CentOS 7.4 64位。这需要通过实例状态的“停止”和“更换系统盘”操作来完成。 2. **安装环境(.NET Core)**: - 注册Linux系统,添加Microsoft的YUM仓库,以便能够安装.NET Core的相关软件包。 - 更新系统的软件包列表,然后安装必要的依赖库,如`libunwind`和`libicu`。 - 安装指定版本的.NET Core SDK(在这个例子中是2.1.104)。安装完成后,通过`dotnet --version`命令确认SDK版本正确。 3. **配置运行**: - 使用文件传输工具(如Xftp)将Asp.Net Core应用的发布文件上传至服务器的/home目录下。 - 运行项目,通过`dotnet 应用程序名.dll`启动应用。如果看到"Listening on http://[::]:5000"的提示,表示应用已成功启动并监听5000端口。 4. **外网访问配置**: - 如果想要让应用可以被外网访问,你需要在阿里云控制台配置安全组规则,打开5000端口的入站流量。 - 你可能还需要设置防火墙规则,允许外部IP访问这个端口。 - 通过公网IP地址,可以尝试从外网访问你的应用。 这个过程涵盖了从基础环境准备到应用部署和测试的基本步骤,但实际部署时还可能涉及到其他因素,如日志管理、错误处理、性能监控、安全配置等。确保在生产环境中,你的应用有适当的错误处理机制,同时要关注性能和安全性,以提供稳定、安全的服务。
2018-12-14 上传
Centos7发布说明 环境说明: 服务器系统:CentOS 7.2.1511 相关工具:Xshel、Xftp 服务器软件软件:.netcore、nginx、supervisor 准备好发布的程序 安装.NET Core SDK for CentOS7 打开网址:https://www.microsoft.com/net/core#linuxcentos 复制如下命令,单步执行: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin 输入 dotnet –info 来查看是否安装成功 配置Nginx 下载安装Nginx,单步执行如下命令: curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx.rpm yum install nginx systemctl start nginx 来启动nginx systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。 配置防火墙 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口) 命令:systemctl restart firewalld(重启防火墙以使配置即时生效) 测试nginx是否可以访问。 配置nginx对ASP.NET Core应用的转发 修改 /etc/nginx/conf.d/default.conf 文件,将文件内容替换为: server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }