多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Linux部署 ## 腾讯云 如果只是玩玩的话,可以考虑腾讯云按量计费的服务器,0.23元/小时,还是很划算的。 若有需要轻度的生产环境的话,可以注册一下学生认证,1核1G现在10元/月。[云+校园计划](https://cloud.tencent.com/act/campus) 如果非常在意性价比的话,阿里云貌似是10元/月的1核2G。 我所选的配置 ![CVM配置](https://box.kancloud.cn/62acb943587ee45ad6b69fe38ba3ec91_382x348.png) ## 安全组 安全组其实就是云主机的防火墙,我们需要新建一个安全组,打开22端口(用于连接CVM)和5000端口(WEB应用绑定的端口),这样我们才能从外网访问的到该服务器。 简单的步骤如下, 1. 新建安全组 ![新建安全组](https://box.kancloud.cn/9f83c4543cead3af1e5d835e4cd88625_525x458.png) 2. 添加入站规则 ![添加入站规则](https://box.kancloud.cn/84494fd2075b6fa6abe2d7659c30a2f8_960x355.png) 3. 关联实例 将云主机关联到安全组,这就不截图了吧。 ## 安装环境 在创建好之后,我们可以用Putty远程连接上CVM。(这里注意在Putty中用中文输入法可能会卡死) 首先,用`yum update -y`更新所有已安装的软件,以防一些软件版本太老导致一些诡异的问题。 在更新完之后,可以参照微软的[教程](https://www.microsoft.com/net/learn/get-started/linux/centos)安装.net core环境。 > 在安装时,可能会出现短暂的假死。 至此,.net core环境已安装完毕,可以通过`dotnet --info`查看相关信息。 ![dotnet-info](https://box.kancloud.cn/7853df6fdaa4023d669a8bcc4940dffb_661x354.png) ## 发布WEB应用 这里我们就用之前写的[简易版PFSign](https://github.com/panfengstudio/workshop/tree/2018/05/05)作为示例。 Clone后切到根目录,然后`dotnet publish -c Release`指定以生产环境发布。 很简单是吗?那就等着报错吧。。 有兴趣的可以试试,若这样直接上去会在服务器上得到如下提示 ![默认不支持IPv6](https://box.kancloud.cn/c11fceb1e804c89e37ab7c6f806c50b0_661x386.png) 在提示中可以看到,'http://localhost:5000' 不能绑定到IPv6。 > 这是因为localhost代表的是127.0.0.1是一个IPv4地址,自然不能绑定到IPv6的地址上。 解决这个问题也很简单,我们只需在'Program.cs'中添加上以下一行即可。 ```cs public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() // 添加该行 // 默认配置为http://localhost:5000 // 这里的*代表自动选择指向本地的IP地址 .UseUrls("http://*:5000") .Build(); ``` ## 上传WEB应用 这里我们可以利用Xftp通过SFTP协议上传文件。 之前找到之前发布的WEB应用`\bin\Release\netcoreapp2.0\publish`,直接右键上传整个文件夹。 ## 启动WEB应用 回到Putty的命令行界面,用cd指令切到publish文件夹的目录中,运行`dotnet workshop.dll`,这里的workshop.dll是之前发布的应用入口文件。 ![启动WEB应用](https://box.kancloud.cn/e34241ae4712ab25a7de20d1f305330b_643x132.png) 至此,应该简单的部署流程就结束了。 我们已经可以用 http://(公网ip):5000 来访问我们的应用。