1. centos 7 安装 asp.net core 3.0
运行: yum install dotnet-sdk-3.0 -y
检查是否安装成功: dotnet -v
2. 创建并发布项目
我使用的是vs 2019
2.1 ASP.NET Core Web 应用程序
选好后点下一步
2.2 设置项目名称和位置
设置完成后点击创建
2.3 版本选择ASP.NET Core 3.0
,项目选择Web 应用程序
选好后点击创建,会生成一个项目,项目结构如下:
扫描二维码关注公众号,回复:
10723900 查看本文章
2.4 创建 hosting.json 文件
文件内容如下:
{ "server.urls": "http://*:8081" }
现在的项目结构如下:
2.5 修改 Program.cs
文件
修改为:
public static void Main(string[] args) { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("hosting.json", optional: true) .Build(); var host = new WebHostBuilder() .UseKestrel() .UseConfiguration(config) .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build(); host.Run(); }
2.6 在项目上面右击点击发布
选择文件,然后点高级
2.7 配置如下,点击保存
2.8 点击创建配置文件
2.9 点击发布
2.10 发布成功
发布成功后按住Ctrl点击这个连接进入发布好的程序目录
目录结构如下:
3. 将项目上传到服务器
我这使用xftp
选中文件夹直接拖到右边就可以了
我上传到/root
目录了,然后目录名称叫:publish
4. 服务器布署
进入publish
目录:cd /root/publish
启动项目: dotnet centos.dll 因为项目名称叫centos所以,项目生成了一个centos.dll,如果项目名称为其他的话,dll名称的格式为:项目名称+dll
如果出现下面这种情况就是没问题了:
然后点击 Ctrl+C
停止项目
5. 配置防火墙
阿里云默认防火墙是关闭的,不过也可以先查看一下防火墙是否是关闭状态。
运行这个命令查看防火墙状态: systemctl status firewalld
这种情况的话防火墙就是关闭的,因为状态为:dead
如果是下面这种情况就代表防火墙是开着的,就不用再走打开防火墙的那个步骤了
5.1 打开防火墙
运行: systemctl start firewalld
什么也不提示就代表打开成功了,可以运行 systemctl status firewalld 再查看一下启动状态,这次应该就是启动中了
5.2 开放8081端口
运行:
firewall-cmd --permanent --add-port=8081/tcp
-
--permanent
: 表示永久生效
5.3 查看所有已经开放的端口
运行:
firewall-cmd --permanent --list-port
如果8081 端口已经开放了,就可以先运行起来项目了
6. 设置阿里云安全组
6.1 登录阿里云官网,点击云服务器
6.2 选择实例
6.3 在右边的菜单栏选择本实例安全组
6.4 点进去
6.5 点击快速创建规则
6.6 输入以下内容点击确定
然后就ok了
7. 查看项目
在浏览器中输入:ip:8081
就可以访问到项目了