如何将ASP.NET项目部署到云服务器IIS
一、准备服务器环境
操作系统:Windows Server 2022
数据库:MySQL 5.7.43
二、配置IIS服务器
1. 打开“服务器管理器”
2. 按下图配置
备注:我的ASP.NET项目是VisualStudio2022开发的基于.NET 6.0
下一步后点击下一步到达服务器角色
点击下一步确认就可以。
如何验证是否成功配置服务器:打开浏览器。访问云服务器的IP地址,出现如下页面说明配置成功
三、部署项目
有三种方式:
① 直接将项目复制粘贴在此目录下(wwwroot)
打开IIS管理器,双击目录浏览
②开发环境下使用VisualStudio2022部署到服务器,具体参考链接
如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目
③使用FTP工具(如FileZilla)将项目文件夹上传至服务器的指定的目录(之前在IIS中设置的物理路径)
四、配置应用程序池
在“应用程序池”中,找到为该网站指定的应用程序池,或者新建一个。
因为我的项目是基于.NET6.0开发的,所以设置.NET CLR版本为“无托管代码”。对于.NET Core和.NET 6.0应用,这是必需的,因为它们是跨平台的,不依赖于传统的.NET Framework。
需要安装.NET6.0
访问.NET Downloads页面,下载适合Windows Server 2022的.NET 6.0 Runtime安装包。
下载链接:
点击这里直接访问下载
或者点击这里百度网盘下载
五、安装与配置MySQL数据库
下载链接:
① MySQL Community Server (Archived Versions)
② 百度网盘-mysql5.7.43 windows x64
1. 配置环境变量
1. 创建my.ini文件
1)把下载好的mysql文件解压后复制粘贴到服务器
2)在mysql-5.7.43-winx64文件夹中创建一个文本文档
2. 更改文件,重命名为my.ini(拓展名为ini),将下面代码复制粘贴到该文件
[mysqld]
#端口号
port = 3306
#mysql-5.7.43-winx64的路径
basedir=C:\MySQL\mysql-5.7.43-winx64
#mysql-5.7.43-winx64的路径+\data
datadir=C:\MySQL\mysql-5.7.43-winx64\data
#最大连接数
max_connections=200
#编码
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
#编码
default-character-set=utf8
3. 创建一个文件夹,重命名为data
4. 配置环境变量
1)右键此电脑->属性—>高级系统设置—>环境变量—>系统变量
2)新建系统变量
变量名:MYSQL_HOME
变量值:mysql文件夹所在位置
3)将新建的系统变量添加到Path
系统变量:%MYSQL_HOME%\bin;
2.安装MySQL数据库
- 用管理员模式打开命令提示符
- 进入MySQL安装目录(第二行中cd 后,需要复制目录,粘贴上去)
- 安装:mysqld -install,若出现Service successfully installed,证明安装成功;如出现Install of the Service Denied,则说明没有以管理员权限来运行cmd
- 初始化数据库:mysqld --initialize
- 启动MySQL: net start mysql
- 设置MySQL密码
1)停止MySQL服务: net stop mysql
2)找到刚才新建的my.ini文件,添加skip-grant-tables
3)重启MySQL:输入命令net start mysql
4)登录数据库:mysql -u root -p,不需要输入密码,直接回车就进入MySQL了
5)进入数据库:use mysql
6)修改MySQL密码:update user set authentication_string=password(“root”) where user=“root”; - 重新以管理员模式启动cmd命令提示框,在MySQL安装路径下输入以下命令
net start mysql
mysql -u root -p 你设定的密码
安装配置成功!
六、服务器安全组添加出入规则
开放必要的端口:21(FTP)、3306(MySQL)、80(HTTP接口)。
出入规则必须添加ICMP(IPV4)
ICMP是一种用于IP主机或路由器向另一台IP主机或路由器报告错误消息和其他需要注意的信息的机制。ICMP使用IP协议的服务,属于网络层的协议。
七、服务器防火墙出入站规则设置
- 打开服务器防火墙窗体
- 打开入站和出站规则,分别启用如下四个ICMP规则
- 在入站规则右键新建规则,添加21、3306端口
然后后下一步下一步命名完成添加。