部署 asp.net 网站到 Azure
部署asp.net网站到Azure
前言
前些天一直在写一个单页面web应用程序,终于完成了,于是考虑发布到云服务器。本人没有AWS账号,遂本打算使用谷歌云。参考文档后发现官方文档给出的方式为在visual studio上使用Cloud Tools for Visual Studio插件,然而该插件似乎只支持vs2017,无奈只能改用Azure。后续我也会继续探索在Google上部署ASP.NET应用,毕竟Azure只给一个月的免费时间,只有升级账户后才能享受一年的免费时间。
我们开始吧
这是小白的第一次使用,所以只是我自己的方法和顺序,仅供参考。如果有大佬有更方便快捷的方法欢迎提供,如有疏漏错误也烦请指出。谢谢!
建立数据库
首先我们需要在Azure上新建一个数据库。这个过程参考了这篇文章。
打开Azure首页后搜索 sql 数据库,选择 sql 数据库并转到。
然后我们添加一个数据库。我的里面已经有了一个数据库实例,如果没有的话界面可能会和我的不太一样。
打开以后大概长这个样子:
从上到下依次填入信息。
* 订阅:如果是免费账户似乎只有这一个选项,原谅我没有见识过付费账户长啥样。
* 资源组:如果你之前有建立过,可以选择之前建立的资源组或新建资源组。如果没有那只能新建一个了。新建时可以起一个自己喜欢的名字。
* 数据库名称:可以起一个自己喜欢的名字,不能是之前有过的。
* 服务器:如果之前建立过,可以选择之前的或新建一个。如果没有就新建一个新的吧。点击新建后会在右边显示出来:
* 服务器名称:这个相当于你的数据库服务器的域名,所以必须是独一无二的
* 服务器管理员登录:数据库管理员的账号名,在以后登录数据库进行连接和管理的时候用它作为用户名。
* 密码:登录数据库的密码,与前者相对应。
* 位置:服务器所在位置。我选择了距离我最近的位置,大家可以按需自行选择。(虽然是离我最近的位置但是访问速度依然不快)
* 允许 Azure 服务访问服务器:这个一定要选上,以允许你的网站使用建立的数据库服务器。
* 想要使用 SQL 弹性池:这个我用不上,大家可以自行按需选择。
* 计算 + 存储:这个可以用来配置数据库的大小,大家可以按需进行调整。打开以后是这个样子的:
一般情况下就可以点击左下的 查看 + 创建 来建库了。
如果还有其他需求可以点 Next: 其他设置> 进行设置。
然后等配置完成,在 sql 数据库 界面就出现了刚刚建立的数据库了。
点击名称,可以转到详细信息页面:
右上方的服务器名称就是待会用来连接数据库的服务器名称。
点击连接字符串可以显示数据库连接字符串格式,使用时需要手动替换掉数据库管理员用户名和密码。
ASP.NET 项目连接数据库
使用刚刚的数据库连接字符串,替代你的项目里的数据库连接字符串,providerName 依然可以使用 System.Data.SqlClient。此时你的项目已经在使用你在Azure上的数据库了。
然而,现在这个数据库还是空的,需要建表,而且现在也不能方便的管理数据库。此时需要在 visual studio 上或 Microsoft SQL Server Management Studio 上连接数据库进行管理。
在visual studio上连接远端数据库
此处以 visual studio 2019 为例。点击服务器资源管理器上的添加按钮来新建一个连接:
点击 Azure, 登录你的Azure账号,下面会显示出来你的账号中的数据库实例。
选择你想连接的数据库,服务器名称即在数据库详情里看到的服务器名称,身份验证选择 SQL Server身份验证,用户名和密码就是建立数据库的时候配置的数据库管理员账户和密码(和连接字符串里替换的那个一样)。然后连接即可。
接下来即可对数据库进行管理,建表什么的,然后就可以使用了。
在Microsoft SQL Server Management Studio上连接远端数据库
下面是以 Microsoft SQL Server Management Studio 19 为例的演示,其他版本大同小异。
打开 Microsoft SQL Server Management Studio 19,出现 连接到服务器 对话框。
* 服务器类型:选择 数据库引擎
* 服务器名称:就是熟悉的那个服务器名称,Azure 数据库详细页面里那个。
* 身份验证:选择 SQL Server 身份验证。
* 登录名:这里需要注意,需要填写 你的数据库管理员用户名@服务器名称,不能只填写管理员用户名。
* 密码:嗯,就是那个密码。
然后连接,就可以了。
发布网站
折腾好数据库结构后就可以发布网站了(还没有在数据库建表的话现在快去建表)。如果你希望直接迁移数据库的话,可以直接在visual studio中使用数据库迁移。由于我不想把测试时的乱七八糟的数据上传,所有没有用。如需要请自行搜索吧,参考的那篇文章里也有一些说明。发布的步骤参考了微软官方文档。
首先要确保你所有的资源都已经包含在项目内了,否则发布后会出现找不到资源的情况。在本地测试时可能路径在同一个文件夹中不会出现错误,但是发布到远端时,没有包含在项目中的资源是不会被上传到服务器的,这里需要注意。
在解决方案的web项目上 右键 > 发布(在类库上右键是没有发布的)。
选择第一个应用服务。可以选择新建或现有的。此处选择新建:
点击发布后会让你登录Azure账户(已经登录的可以省去此步骤)。之后会出现一些应用的设置:
可以起一个响亮的名字,资源组选择你要发布到的资源组,其他按(bao)需(chi)选(mo)择(ren),然后点击创建。
稍候,vs会在发布成功后自动在浏览器中打开发布的网页。以后都可以登录这个URL进行访问啦!
在 Azure 的所有资源中可以看到所有的资源。不只是刚刚发布的网站,而且包括其他时候发布到各个资源组里的各种东西。我这里只有这一个项目。
总结
微软的全家桶服务让网站的开发维护和发布变得很简单顺畅,过程并不难。要是Azure的免费时间给的再宽泛一些就更好了。
最后祝大家中秋快乐!
部署 asp.net 网站到 Azure的更多相关文章
- Windows Azure 入门 -- VS 2015部署 ASP.NET网站(项目) 与 数据库
Windows Azure 入门 -- 部署 ASP.NET网站(项目) 与数据库 https://www.dotblogs.com.tw/mis2000lab/2015/12/24/windowsa ...
- IIS 7 Web服务器上部署ASP.NET网站(转)
IIS 7 Web服务器上部署ASP.NET网站小记 摘自:http://swanmsg.blog.sohu.com/162111073.html 网上查找了很久关于iis7配置asp.net配置问题 ...
- 如何在IIS6,7中部署ASP.NET网站
http://www.cnblogs.com/fish-li/archive/2012/02/26/2368989.html 阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 ...
- 如何在IIS6,7中部署ASP.NET网站(转载)
查看web.config文件 web.config通常会放在网站的根目录,这个文件中包含了一最重要的网站运行参数.比如: connectionStrings,httpHandlers,httpModu ...
- 在IIS中部署Asp.Net网站
在IIS中部署Asp.Net网站 1.添加IIS或者删除IIS,在控制面板=>程序和功能=>打开或关闭功能 启动iis,右键计算机=>管理=>服务和应用程序=>Inter ...
- Ubuntu 12.04使用uginx+fastcgi-mono-server2部署asp.net 网站
Ubuntu 12.04使用uginx+fastcgi-mono-server2部署asp.net 网站 1.安装nginx和mono-fastcgi-server2 sodu apt-get in ...
- 【转】windows下nginx+mono+fastCGI部署asp.net网站
原文链接:http://www.cnblogs.com/amityat/archive/2011/08/23/2150153.html 1,什么是nginx 简介Nginx ("engine ...
- 在IIS6,7中部署ASP.NET网站[转]
阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 添加扩展名映射 IIS6 无扩展名的映射 目录的写入权限 SQL SERVER的配置 在IIS7中部署ASP.NET程序 8 ...
- 在IIS6,7中部署ASP.NET网站
查看web.config文件 ASP.NET网站与一般的桌面程序不同,不是拷贝过来就能运行的(数据库连接除外). 要想运行它,通常需要一些配置过程.但是,我们到底需要配置什么呢?答案是:查看web.c ...
随机推荐
- 用Python进行数据清洗,这7种方法你一定要掌握
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者 | 常国珍.赵仁乾.张秋剑 来源 |<Python数据科学:技术 ...
- Python3---爬虫---抓取百度贴吧
前言 该文章主要描述如何抓取百度贴吧内容.当然是简单爬虫实现功能,没有实现输入参数过滤等辅助功能,仅供小白学习. 修改时间:20191219 天象独行 import os,urllib.request ...
- 这可能最简单的一种PS图片特效,零基础小白教程
不少小伙伴都想学习PS,可是又觉得PS很难,学了一段时间却还是做不出什么惊艳的效果,没关系!小编今天就来教大家做一个超级简单的图片特效,就算是小白也能轻松学会!我们先来看看图片效果~ 想知道怎么做吗? ...
- 敏捷软件开发_实例1<二>
敏捷软件开发_实例1 这本书的实例非常好,给了我非常多的启发.主要讲了两个实例,咖啡机和薪水支付实例,咖啡机实例比较简单并没有用什么设计模式,薪水支付实例用了很多设计模式,包括后面的打包等. 咖啡机实 ...
- linux shell通过curl获取HTTP请求的状态码
直接上代码: curl -I -m -o /dev/null -s -w %{http_code} www.baidu.com 参数说明: -I 仅测试HTTP头 -m 10 最多查询10s -o / ...
- node设置跨域白名单
// 判断origin是否在域名白名单列表中 function isOriginAllowed(origin, allowedOrigin) { if (_.isArray(allowedOrigin ...
- 1-函数返回值-return详解及应用-1
return 返回值 可以是:数字.字符串.布尔.函数.对象(元素\[]\{}\null).未定义 <script> function fn1(){return 100;} aler ...
- openssl rsa加密,解密以及X509证书的使用
Openssl的相关使用 生成证书 生成证书见:使用 openssl 生成证书 代码实现 Cert.h #ifndef _CERT_H #define _CERT_H ///header files ...
- 在Rust中使用C语言的库功能
主要是了解unsafe{}语法块的作用. #[repr(C)] #[derive(Copy, Clone)] #[derive(Debug)] struct Complex { re: f32, im ...
- 深入理解JavaScript中的作用域和上下文
介绍 JavaScript中有一个被称为作用域(Scope)的特性.虽然对于许多新手开发者来说,作用域的概念并不是很容易理解,我会尽我所能用最简单的方式来解释作用域.理解作用域将使你的代码脱颖而出,减 ...