在GoDaddy上部署SubText
引子:
本人原先使用的虚拟主机是一家叫海意互联的公司提供的,半年里面出现了好几次问题,基本都是Server Application Unavailable,每次都要联系他们才能恢复,这个问题我在平时也经常碰到,因为我们公司的项目有些是1.1,有些是2.0,如果将1.1的项目和2.0的项目使用一个进程池部署的话,可能就会出现Server Application Unavailable错误。所以我怀疑他们的服务器上的不同版本framework的应用程序是混在一起部署的。前天,同样的情况又发生了,于是我又向他们反映,说这样的情况出现了很多次了,问他们是不是将1.1和2.0混在一起部署。那人很不耐烦,我问进程池的问题,他说“我想忙其他的,有空再和你讨论这些”。经我一番追问,按照他的说法,他们的”进程池是随机分配的,几个网站一个进程池”。我说那这样会产生问题,可以参考这里。想不到他态度极其恶劣,引用他的原话”对于你的问题,不好意思,我不想回答。请不要搞得好像我们欠你的一样,对于处理凡是,我看也不用你来教”,“很简单,你觉得我们这里不行,那你就换其他人的空间就是了。”。要知道,我是付钱的啊!对于这种公司,我真是无语了。。。我想这种公司,这种对待客户的态度,估计被淘汰是迟早的事吧,现在虚拟主机满天飞。。。
正文:
好,你说换,我马上就换给你看。。。我想估计国内的虚拟主机都不太靠谱,我决定搞个国外的试试。。。经过一番比较,还是觉得GoDaddy的比较好,4.99刀一个月,一年折合人民币的话大概400左右(按照汇率1:7来算)。提供的功能还是比较满意的,列举主要几点:
空间:
Disk Space:10 GB
Monthly Data Transfer :300 GB
FTP Users:50
数据库:(同时有3种数据库)
MS Access:Yes
MS SQL:1X200M
MYSql:2X200M
域名:
External Domains:Unlimited
Subdomains:25
支持语言:
Frontpage Server Ext.
Server Side Includes (SSI)
ASP
ASP.NET v1.0/2.0/3.0/3.5
ASP.NET AJAX
PHP4 or PHP5°
特别提一下,这个空间还支持虚拟目录,所以可以同时部署很多应用程序。
更详细的功能列表请参考:http://www.godaddy.com/Hosting/Legacy.aspx 注意,请选择正确的Operating System,.net的话,当然要选Windows:
对于我这么一个小博客来说,这些是绰绰有余了,马上申请了2个月(先试试看,因为先前在now.cn申请了空间,结果subtext部署不上去。。。),一共9刀多,信用卡付钱马上开通使用。
以下是博客迁移过程,遇到了一些问题,现在记录下来,希望对遇到同样问题的朋友有所帮助。
1. 首先要用GoDaddy的Wizard对空间做一些基本设置,很简单,按照提示照做就行。
2. 将域名转向到新的空间。
3. 用FTP把所有文件从海意互联搬到GoDaddy。GoDaddy空间开通以后,ftp帐号会在右边页面的panel显示:
4. 用GoDaddy的向导创建数据库。
5. 迁移数据库。
这里要详细说一下迁移数据库的问题,可能由于安全原因,GoDaddy是不支持恢复从其他数据库备份的文件的。但是GoDaddy提供了一个很好的接口——通过DataBase Publish Wizard 来发布数据库。我从海意把数据库下载下来,在本地的sql server上恢复好,然后用DataBase Publish Wizard发布,在这个过程中,遇到了一个问题,由于本地的数据库的Collation是ChineseXXX而GoDaddy上的是SQL_LatinXXX,所以在发布过程中会遇到Collation不匹配而失败,所以如果遇到这个错误,则需要用DataBase Publish Wizard先生成Schema的脚本,拿到GoDaddy的DataBase Web Administration上运行。之后再用DataBase Publish Wizard发布数据。
6. 修改Web.Config,将ConnectionString指向新的数据库。
7. 运行网站,可能会遇到报错,我遇到了两个问题:
(a)
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: This configuration section cannot be used at this path. This happens when the site administrator has locked access to this section using <location allowOverride="false"> from an inherited configuration file.
Source Error:这个问题是由于GoDaddy的Trust Level是Medium,所以,要把WebConfig里的<trust level="Full" originUrl=".*" />注释掉。
(b)
Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.Stack Trace:[SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0System.Security.CodeAccessPermission.Demand() +59System.Reflection.Assembly.VerifyCodeBaseDiscovery(String codeBase) +118System.Reflection.Assembly.get_CodeBase() +32System.Web.Handlers.ScriptResourceHandler.GetCodeBaseWithAssert(Assembly assembly) +31System.Web.Handlers.ScriptResourceHandler.GetLastWriteTime(Assembly assembly) +36System.Web.Handlers.ScriptResourceHandler.GetAssemblyInfoInternal(Assembly assembly) +58System.Web.Handlers.ScriptResourceHandler.GetAssemblyInfo(Assembly assembly) +59System.Web.Handlers.RuntimeScriptResourceHandler.System.Web.Handlers.IScriptResourceHandler.GetScriptResourceUrl(Assembly assembly, String resourceName, CultureInfo culture, Boolean zip, Boolean notifyScriptLoaded) +336System.Web.UI.ScriptManager.GetScriptResourceUrl(String resourceName, Assembly assembly) +114System.Web.UI.ScriptRegistrationManager.RegisterClientScriptResource(Control control, Type type, String resourceName) +115System.Web.UI.ScriptManager.RegisterClientScriptResource(Control control, Type type, String resourceName) +9这个问题是由于SubText自带了一个1.0的Ajax Extension,在有3.5 framework的机器上需要用GAC里的那个,因为那个是full trusted的。
所以要在Web.Config里加上:
<configuration><runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" culture="neutral"/><bindingRedirect oldVersion="1.0.61025.0" newVersion="3.5.0.0"/></dependentAssembly></assemblyBinding></runtime> </configuration>
8. 解决了上述问题之后,网站就运行起来了!
因为是国外的空间,速度具体还没测过,大家可以试试看:www.jinweijie.com,另外我还尝试着部署了一个应用在虚拟目录下:http://www.jinweijie.com/astreeview/astreeviewdemo/astreeviewdemo1.aspx
总结:在GoDaddy上部署subtext是稍微有些困难的,国外很多朋友也遇到过很多的问题,主要集中在trust level和数据库发布上,所以今天记一笔,希望遇到同样问题的朋友有帮助。
ps: 另外,借此机会向 火星人.Net 同学说声抱歉,上次可能在回复里说了一些伤到你的话 :)
转载于:https://www.cnblogs.com/jinweijie/archive/2009/09/11/deploy_subtext_on_godaddy.html
在GoDaddy上部署SubText相关推荐
- Godaddy上的域名如何取消自动续费?
从godaddy上购买域名后,会发现域名默认一年后自动续费. 有时候不需要这个功能,需要取消自动续费,但取消自动续费的功能却不好找. 本文就用图文的形式来教你如何快速的找到该功能,我相信你一定用得上它 ...
- 阿里云/腾讯云服务器上部署Nginx,域名,SSL证书
你将会从这篇文章中学到: 在服务器上部署Nginx. 域名的购买. 添加域名,让域名解析到你的服务器上. 教你如何添加SSL证书. 在你的服务器上面配置Nginx,实现http和https的访问. 如 ...
- 在Cuda上部署量化模型
在Cuda上部署量化模型 介绍TVM自动量化.自动量化是TVM中的一种量化方式.将在ImageNet上导入一个GluonCV预先训练的模型到Relay,量化Relay模型,然后执行推理. import ...
- 用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈
用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈 深度学习已变得无处不在,不可或缺.这场革命的一部分是由可扩展的深度学习系统推动的,如滕索弗洛.MXNet.咖啡和皮托奇.大多数现有系统针对 ...
- 在Server 2003上部署IIS+PHP+MySQL配置清单
在Server 2003上部署IIS+PHP+MySQL I.安装Windows Server 2003 将光盘放入光驱中,设置BIOS,从CDROM引导加载安装程序,等待启动: 设置注册信息,名字和 ...
- aws fargate_我如何在AWS Fargate上部署#100DaysOfCloud Twitter Bot
aws fargate After passing my last certification, I asked myself how much time I spent studying cloud ...
- SAGEMAKER上部署需要引入sagemakder的API from sagemaker.pytorch import PyTorchModel
SAGEMAKER上部署需要引入sagemakder的API from sagemaker.pytorch import PyTorch from sagemaker.pytorch import P ...
- 如何在谷歌云平台上部署可解释性模型
2020-02-26 21:52 导语:获取 TensorFlow 模型的局部和全局解释 图片来源于 Pixabay 现代机器学习和人工智能在解决复杂的问题方面取得了令人印象深刻的成果.然而,复杂的问 ...
- vmware 上部署 kvm虚拟机
vmware 上部署 kvm虚拟机 1.新建虚拟机,并确保打开了cpu里面的支持vm虚拟化的3个选项. 2.mkdir /data 3.qemu-img create -f qcow2 /data/y ...
最新文章
- 深度学习如何挑选GPU?
- [Linux]core文件调试方法
- 基于Java的RDMA高性能通信库(三):Direct Storage and Networking Interface (DiSNI)
- C++通过引用来传递和返回类对象
- Linux vim使用心得--一些高级话题
- plex实现流媒体服务器_Plex继续远离服务器,提供网络节目
- @Autowired所有的东西!
- 第38天:运算符、字符串对象常用方法
- Libcurl安装与HelloWorld
- java setcharat,Java StringBuilder setCharAt()方法
- 【FINAL】NOI
- 随意发软件如何自动发帖已更新2022
- 解决 array subscript has type char 错误
- 手机使用小技巧,简单易懂 7610用蓝牙发送SIS文件方法(转)
- rtmp 发送h264包,主要是sps,pps,i帧和非i帧
- linux改mac地址目录,Linux下如何修改网卡MAC地址
- How to set edit and display rights for users by each feld or view of the list
- 【知识图谱系列】动态知识图谱表示学习综述 | 十篇优秀论文导读
- java中double与Double的区别
- CSDN电子书PC端上线:打造高效阅读、助力问题解决