如何把网站及数据库部署到WindowsAzure上并绑定域名

如何把网站及数据库部署到WindowsAzure上并绑定域名,第1张

国内的WindowsAzure很快就要正式商用了,许多小伙伴们也有计划把现有的网站迁移到WindowsAzure上去。但是国内相关的中文文档还是比较缺乏的,所以今天我就写了个超详细教程来教大家如何把ASPNET网站部署到WindowsAzure上。demo用的网站是带有数据库的,并且最后还会演示如何绑定一个com域名到网站上。

我写的内容基本都是在Channel9上看来的,并且自己亲自实践过许多次的。大家现在阅读的这个博客就是用同样的方法部署到WindowsAzure上的。所以不必担心文章坑爹。我的博客不像国内的许多网站那样,发表的内容都没自己测过,非常没有责任心。

下面进入正题。

1部署数据库

首先,假设我们的网站已经开发好了。这是一个带有一个SQLServer数据库的ASPNET网站。第一步我们要做的,是把数据库部署到WindowsAzure上去。

你需要的工具:SQLServer2012ManagementStudio。注意,仅仅要求SSMS为2012版,你的数据库引擎版本没有限制。

11在WindowsAzure上创建一个数据库服务器

在SQLDATABASES页面中,点击SERVERS选项卡进入SQL服务器列表页面。这里我已经有个服务器了,但是我还是教大家怎么创建一个新的。

12点击页面最下方工具栏上的ADD按钮

13在d出的对话框中输入SQL服务器的用户名和密码

REGION选择ChinaNorth,这是有原因的,为了省钱,稍后会解释。最下面的勾“ALLOWWINDOWSAZURESERVICESTOACCESSTHESERVER”一定要勾选,意思是允许你Azure上其他服务访问这个数据库,而不用给他们一个个在防火墙中指定IP地址。我们稍后要创建的网站也属于“AZURESERVICES”的范畴,所以一定要勾选这个选项。

14大约4秒后,数据库创建完成。

服务器的名字是Azure随机分配的,不能改。这里我们的服务器叫yfb2xnprey

15接下来,在CONFIGURE选项卡中,我们要把自己当前的IP地址加到防火墙规则里。

这仅仅是为了迁移数据库使用一次。用完以后为了安全建议大家删掉这个IP。IP地址支持单个的,也支持地址段,大家可以根据自己需要设置。

16接下来,我们就要迁移数据库了。

打开SSMS2012,按图中的格式填写服务器名称和你之前设置的用户名、密码。注意,用户名后面一定要有一个“@服务器名称”!

17成功连接到SQLAzure服务器

因为是刚刚创建的新服务器,所以里面一个数据库都木有。

18接下来,用SSMS直接向Azure迁移数据库。

连接到你本地服务器。在你要迁移的数据库上点右键,选择Tasks-DeployDatabasetoSQLAzure

在向导中再次点击Connect按钮,连接到SQLAzure服务器。然后输入新数据库的名称。“EditionofSQLAzure”根据自己需要选择,一般小型网站选择Web,1GB是最省钱的。然后点击Next开始部署。

部署完成后你能看到成功的结果

现在,回到WindowsAzure管理平台中,也能够看见迁移后数据库了。

19准备新的连接字符串

点击刚才创建的“Infodiaos”数据库,打开数据库管理页面,然后点击“ViewSQLDatabaseconnectionstrings”

在d出的窗口中,复制ADONET的连接字符串。

接下来,在你的ASPNET项目里,打开WebReleaseConfig文件。如图所示,把connectionStrings节点根据自己网站的配置还掉。这个WebReleaseConfig文件里的配置会在用“Release”模式编译网站的时候自动把最终的webconfig换掉。“xdt:Transform="Replace"”的意思是在编译网站时候把connectionStrings节点整个换掉。

至此,数据库部分就搞定了。

2部署网站

21在WindowsAzure上创建新网站

在WindowsAzure管理平台最下方的工具栏上,点击"New"

选择Compute,Website,CustomCreate。这是为了防止QUICKCREATE把我们不想要的设置默认撸进去。

在d出的对话框中,输入网站在azure里的二级域名。如果文本框旁边出现绿色的对勾,就表示这个域名是可以用的。当然,这不是我们最终的域名。稍后会教大家绑定自己的域名上去。

REGION里面,要选择ChinaNorth,也就是要和数据库在同一个地理位置,这样的话,同一个数据中心里的传输是不计费的。那为什么刚才数据库一定要选ChinaNorth而不是ChinaEast呢?因为目前中国的网站服务TMD只能选North

DATABASE里面啥都不要选,我们稍后要手动搞这部分。

网站创建完成后,在websites的列表里就能看见正在运行的空站点了。目前是Free模式的,这个是相当有限制的模式,不能绑定域名,稍后我们会更改。

22将数据库链接到网站

为了方便管理,我们通常将数据库链接到网站中。注意,这里的链接仅仅是对于Azure管理平台来说的,并不是程序里的数据库连接。

切换到LINKEDRESOURCES页面,点击“LINKARESOURCE”。

然后选择“LinkanExistingResource”

选择“SQLDatabase”

选择我们的数据库,并且确认用户名和密码

完成连接后,应该能看到数据库已经被成功挂在网站下了。

23从VisualStudio部署网站

最方便的部署方式是通过VisualStudio,直接WebDeploy到服务器上。当然,你也可以手动拷贝文件到Azure提供的FTP上。不过我这里只演示WebDeploy。FTP大家可以自己开荒。

在网站的DASHBOARD右侧,点击“Downloadthepublishprofile”。下载VS用的发布文件。

然后回到VisualStudio,在网站项目上点击右键,选择“Publish”,然后导入刚才下载的Profile文件。

之后,点击“ValidateConnection”验证配置是否正确。如果正确,会看见一个绿色的√。

然后在Settings页面里,选择“Release”模式,这样才会把之前在WebReleaseConfig里配置的连接字符串换进去。

同时,建议勾选“Removeadditionalfilesatdestination”,这样会删除Azure默认网站的文件,完全干净的部署我们的网站。

最后,确认发布的文件后,点击“Publish”发布网站。发布完成后,VS会自动打开目标网站的地址。这是Azure免费网站的二级域名。我们马上要把它换成自己的域名。

24绑定域名

如果你自己申请了域名(cn垃圾域名除外),可以很方便的和AzureWebsite绑定。

首先,Free模式的网站是不支持自定义域名的,所以我们要在SCALE里把网站设置成"SHARED"或“STANDARD”,当然,这两种就要收费了。

之后,在CONFIGURE选项卡中,你就能看到绑定域名的地方了。

点击“managedomains”。

同时,我们要在域名的DNS设置里加两个CNAME记录。这个因人而异,我是DNSPOD的域名解析,

等待DNS记录生效后,切回到WindowsAzure的管理界面就可以完成添加了。

绑定后的网站就是这样了,可以使用自己的域名,看上去非常的牛逼,而且国际域名不用备案哦。

sqlserver

2000无论是个人版、企业版还是标准版,只要细版本在8001760以下,均不提供远程数据库连接,即使服务器端工具和客户端工具的设置均有tcp/ip设置和数据库连接属性也设置了rpc远程连接,仍然不能实现远程连接。该怎么解决呢?

解决方案如下:

首先,需要打sp4补丁,该补丁包含了以前sp1、2、3的补丁,安装此补丁后一般要重新启动计算机,再进行远程连接就可以了,如再企业管理器可远程注册服务器、查询分析可连接远程服务器、odbc可连接远程服务器。

要点:

1确认服务器端sql服务端口号是否为:1433

2如果不是1433,配置客户端

3建立服务器端登录帐号,确保角色及管理数据库

一、查看服务器端情况

1

看ping

服务器ip能否ping通。

这个实际上是看和远程sql

server

服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql

server

服务器的ip拼写正确。

2

在dos或命令行下输入telnet

服务器ip

端口,看能否连通。

如telnet

202114100100

1433

通常端口值是1433,因为1433是sql

server

的对于tcp/ip的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“无法打开连接,连接失败"。

如果这一步有问题,应该检查以下选项。

1)

检查远程服务器是否启动了sql

server

服务。如果没有,则启动。

2)

检查sql

server服务器端有没启用tcp/ip协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开

开始菜单->程序->microsoft

sql

server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。

3)

检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。

事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql

server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变(具体方式见

二:设置客户端网络实用工具)。

4)

如果服务器端 *** 作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。(4、5步我没有做就成功了)

5)

检查服务器是否在1433端口侦听。如果sql

server服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入

netstat

-a

-n

或者是netstat

-an,在结果列表里看是否有类似

tcp

127001

1433

listening

的项。如果没有,则通常需要给sql

server

2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入select

@@version

执行后可以看到版本号,版本号在802039以下的都需要打补丁。

如果以上都没问题,这时你再做telnet

服务器ip

1433

测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。

这个问题问得有点雷人

首先要建立数据库

再要写打数据库的程序

比如:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<%SessionCodePage=65001%>

<%

dim conn

dim connstr

dim db:db="db\31231123mdb"

dim dbset:setdb = 1

Set conn = ServerCreateObject("ADODBConnection")

select case setdb

case "1"

connstr="Provider=MicrosoftJetOLEDB40;Data Source=" & ServerMapPath(""&db&"")

case "2"

connstr="driver={Microsoft Access Driver (mdb)};dbq=" & ServerMapPath(""&db&"")

case "3"

connstr="driver={SQL Server};server=localhost;UID=sa;PWD=123;database=PW_SYS_data"

case else

connstr= "Dns=PW_SYS_Data"

end select

if errnumber<>0 then

errclear

set conn=nothing

responsewrite "wrong"

ResponseEnd

else

connopen connstr

if err then

errclear

set conn=nothing

responsewrite "wrong"

ResponseEnd

end if

end if

sub CloseConn()

connclose

set conn=nothing

end sub

%>

然后再写对数据进行 *** 作的程序

你用的什么东东写的?ASPNET?

用OLE的方式连接SQL数据库,另外打开数据库的连接认证,就是可以用SA登录SQL数据库的那个。

和你的代码有关,这种我很久以前做过,用OLE连不会跳输入密码的。

我下面的例子是连接的access数据库,不过道理都是一样的。(ASP代码)

<html>

<head>

<meta >

以上就是关于如何把网站及数据库部署到WindowsAzure上并绑定域名全部的内容,包括:如何把网站及数据库部署到WindowsAzure上并绑定域名、怎么实现网页和数据库(SQL)的连接(网页制作连接sql数据库)、如何制作带有数据库的网页等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9486369.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存