IIS 环境准备和部署
安装并配置 IIS
安装 IIS,在搜索输入并打开 启用或关闭 Windows 功能。
配置IIS 需要配置 ASPNETCore 部署IS 程序包安装 (ASP.NET Core Module v2)
Download .NET 6.0 (Linux, macOS, and Windows).NET 6.0 downloads for Linux, macOS, and Windows. .NET is a free, cross-platform, open-source developer platform for building many different types of applications.https://dotnet.microsoft.com/download/dotnet/6.0
打开 IIS 的模块。
配置本机模块,选中 AspNetCoreModuleV2,添加到模块里。
部署
添加网站
发布
绑定
浏览
IIS部署和脚本启动的区别和联系
IIS 部署和脚本启动没有区别,本质还是脚本启动了。下图中 Reverse proxy server 中的 IIS实际上启到反向代理的作用。Asp.net Core 应用 内置一个 Kestrel 服务器,然后调用命令。
进入 IIS 的网站目录,可以发现 web.config 的 xml 文件
使用AspNetCoreModuleV2 处理一条执行 启动 dll文件的命令。
Linux 环境准备和部署
(或者到网上购买短时间的 Linux 云服务器)
1.安装 VMware Workstatiion 安装 Centos
VMware-Workstation 安装 Centos
2.设置网络
未设置前,通过ip addr命令无法获取到ip地址
修改配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
然后按 i,修改文件将 ONBOOT=NO 修改为 ONBOOT=YES,添加四个参数值,然后按 ESC 键退回命令模式,接着输入:
:w 命令来保存文件;
:q
命令退出编辑器;
如果你想保存并退出,则输入:wq
。
3.重启虚拟机
4.重新获取 ip 地址
5.连接 Centos
使用远程工具 MobaXterm 连接虚拟机的 Centos
ping 一下 Centos 看看它跟本地电脑是不是连通
如果你觉得在本地配置 Centos比较麻烦,我们可以使用成熟云服务器。
6.安装.NET6运行时环境
这里用的企鹅云服务器,用 ip addr 查看一下 内网的 IP 地址,
ping 一下远程服务器的公网 IP 地址,看是否连接通。
yum update
注册镜像地址:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
安装ASP.NET Core SDK
sudo yum update
sudo yum install dotnet-sdk-6.0
如果发现无法访问或者进不去,则可按住:Ctrl+C停止项目,然后再命令面板使用,防火墙命令将对应的端口开放:
sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
sudo firewall-cmd --reload
设置完成之后,将防火墙重启;然后再浏览器中输入:http://你的服务器IP:8888,则访问成功。
sudo systemctl start firewalld
7.Linux 部署
修改地址
发布项目
通过工具MobaXterm传递发布包到Linux
进入文件夹,启动dll
云服务器放通 9999 端口,在安全组中修改访问规则。
dotnet 启动
上述启动dll时开启一个进程,按下Ctrl + C 就会退出进程,程序也就停止。在命令后面加一个 & 符号开启另一个进程,切换命令模式时程序不会失效。
启动另一个进程去监听 5995 端口。
nohup dotnet 可以做到守护进程