在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
摘要:发布项目到IIS或者.Net Core 项目发布到IIS服务器或者CentOS记录一下,后面忘了又来看看。 1、服务器安装IIS1.1、不管你是本地的电脑还是网上购买的服务器,只要是能通过远程桌面登录进去的。装的系统是Windows的。打开控制面板找到程序,点击《启动或关闭Windows》功能1.2、远程服务器还可以打开服务器管理器打开,在这里安装IIS需要的一些功能本地服务器跟远程都在下面展示1.3、选择完点击下一步,从互联网选择更新等待安装,安装好了最好重启一下。重启好了。打开控制面板----管理工具--------IIS管理器 看图是下一个不是上一个 建议右击保存到开始屏幕后面好找 1.5、 打开右击网站,添加网站,如下图所示,网站名字就是一个命名,应用程序可以共用一个也可以新建,后面还要配置应用程序池,一般选择集成的类型,.Net 项目(除了Core)选择.NET CLR v4.xxx的版本,如果没有,就是安装功能的时候你没有添加。
运行起来就算只有一个Index.html文件都能访问。如果没有出来考虑一下错误 1、网站没有权限,你要点击网站下面你建立的那个网站授权。授予IIS的权利; 2、.Net CRL版本过低了现在有的.Netfarnwork都用了4.8了IIS上面不支持了那么高的,还要自行安装; 3、端口没有开放,远程服务器的端口要去控制台自己开的,我的是阿里云,就要上控制台管理出站入站规则里面添加出站、进站规则; 4、防火墙的问题,关了试试; 5、目录浏览打开了,需要关闭 我遇到的问题暂时只能想到这几个,万事开头难,建议还是用一个静态网页先试试慢慢排查。 2、.Net Core3.1发布IIS.2.1、Net Core3.1 发布到IIS要安装两个工具 aspnetcore-runtime 跟 dotnet-hosing
SDK下载也是在这里开发环境用的。我用的VS2019 发布的发布为文件夹的格式然后拷贝到服务器上面一样的 右击网站---添加网站:
注意: 1、这里的应用程序池要改为.NET CLR版本选择无托管代码; 2、如果安装了dotnet-hosing其他的项目启动503 就安装这个 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145 3、https访问个人的话建议申请一个免费的,我的是阿里云的 一年申请一次,然后下载证书绑定在网站上。一般都是80默认的端口才加证书用https访问的右击网站下面的端口80的网站名称 -------编辑绑定-------类型选择https 下面就有SSL证书添加进去。 一般这里写小程序的API就需要这种https的安全连接 哈哈。要把443端口映射到80端口上自行度娘就不在累赘了。 4、Core 3.1 WebApi 部署到CentOS 8.x上我的是CentOS8的系统,首先要连接linux就要有工具 下载xsheel《 http://www.yijianlan.com:8040/Home/Down?id=6025 》我自己的服务器有点慢哦;或者去官方下载我就不找链接了
4.2、安装Core3.1 运行环境.net core runtime 如果服务器只是用来运行core 程序安装这个就可以了。如果要做开发和编译工作,则需要安装.net core sdk.net core sdk包含了.net core runtime,所以这里就直接安装.net core skd了 。执行命令: sudo yum install dotnet-sdk-3.1 安装.net core 3.1 sdk 4.3、用VS2019创建一个Core3.1 发布到文件夹,然后打开xftp或者点击这个新建文件传输吧编译好的文件上传一般我都是在这个里面新建一个文件吧发布好的直接粘贴进去 我这里是打开api进去粘贴的
运行命令 找打项目的目录 并找到 项目名.dll这个文件 用dotnet 运行 默认就是5000端口打开 是打不开的 报错Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.” 这没必要担心也不用纠结5000端口用不了指定另一个端口就行了 打开项目的Program。cs文件编辑 我这里改了8020端口 当然改了端口要在系统里面开放端口,还有在服务器控制台开启端口不要忘了 public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseUrls("http://*:8020") .UseStartup<Startup>(); }); } 补充一点命令 后面用到直接来拿: firewall-cmd --zone=public --add-port=8020/tcp --permanent # 开放8020端口 firewall-cmd --zone=public --list-ports #查看防火墙所有开放的端口 firewall-cmd --reload # 配置立即生效 sudo systemctl start firewalld #打开防火墙 systemctl stop firewalld.service #关闭防火墙 firewall-cmd --state #查看防火墙状态 shutdown -r now #立刻重启(root用户使用) 4.4 添加nginx做反向代理 1 使用命令 2 使用命令 3 使用命令 4 使用命令 5 可以使用命令 6 使用命令 4.5 配置nginx,设置代理端口访问 8020 端口是可以的
4.6 添加守护进程为什么要添加守护进程,有以下原因 1 asp.net core程序运行在shell中,shell关闭会导致该web应用关闭 2 应用程序意外终止的话需要在shell里重新启动 3 服务器宕机或者意外重启的话,需要重新启动shell,然后重新启动web程序 4.7使用守护进程supervisor1)相关命令 1 使用命令 2 使用命令 3 使用命令 4 设置开机启动 5 重启 2)文件配置 1 在 2 配置 WebApplication1.ini 如下 4.8 备注1) nginx.conf配置 server { 1) MyBuy.Api.ini配置 [program: MyBuy.Api] ;程序的名称 5、总结折腾了半天,服务器换了好几个系统了哈哈重要折腾出来了,虽然用的少,多得都在撸码,记录一下长点记忆。知识就是慢慢积累起来只有一步一步的来。离三十岁又近了一步哈哈。 每日一句:千里烟云,是谁留下的孤寂年华?谁人在他的尽头画上爱的符号,聆听千古不变的亘古传情佳话?流水无情,落花有意,你轻快的步伐,带走了多少人间绝美佳话?任相思成河,从此流尽迢迢山水,走遍氤氲天下。 本文链接:https://www.cnblogs.com/w5942066/p/13411646.html
|
请发表评论