GVKun编程网logo

web-server – 如何设置开发,登台,生产和QA环境(web开发环境如何配置)

4

如果您对web-server–如何设置开发,登台,生产和QA环境感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于web-server–如何设置开发,登台,生产和QA环境的详细

如果您对web-server – 如何设置开发,登台,生产和QA环境感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于web-server – 如何设置开发,登台,生产和QA环境的详细内容,我们还将为您解答web开发环境如何配置的相关问题,并且为您提供关于.NET Web 部件 | Web 部件管理器 | Web 部件区、App server 与 Web server 之间的区别、asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API、asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证的有价值信息。

本文目录一览:

web-server – 如何设置开发,登台,生产和QA环境(web开发环境如何配置)

web-server – 如何设置开发,登台,生产和QA环境(web开发环境如何配置)

我正在为组织设置新服务器.使用开发,测试,分段和生产来设置新环境的标准或最佳实践是什么(或者我对其他我不熟悉的级别开放)?另外,我听说组织将服务器分解为sql,应用程序,Web服务器等.我在哪里可以找到服务器设置的可能解决方案的好例子?

将这些环境虚拟化为几个物理盒是一种好习惯吗?

我在网上搜索了一些关于其他组织如何设置环境的想法,但我找不到任何特别有用的东西.我欢迎您指出的任何链接,讨论为中小型公司构建整个企业解决方案.

我刚刚找到这个链接:http://dltj.org/article/software-development-practice/我想找到更多这样的文章,如果有人知道他们可以指出我的任何好的.

在你对我的问题进行投票之前,请发表评论,让我试着解释一下.我可能只是不知道问正确的问题.

解决方法

这是一个非常有问题的问题.我的一般建议是将注意力集中在管理复杂性上,并使系统有机地发展.

虚拟化:

你真的想避免服务器蔓延,而现在,一切都是虚拟化的.选择一个平台,允许您快速添加虚拟服务器,并有效地管理它们.我见过的一个趋势是有两个(例如)AIX或VMWare集群,一个用于prod,一个用于非prod.非prod one用于所有开发,测试和登台环境.这些环境非常适合Web服务器或应用程序服务器,但我会尽量避免将大型,不断增长的生产数据库作为VM(至少在Windows上).

数据库

当需要与其他服务器共享资源时,这些很容易失控.始终在专用操作系统上运行数据库,永远不要与应用程序或Web服务器共享,除非有充分的理由.无论您使用VM还是硬件都是唯一的问题.

您需要一个可扩展的基础架构,如果您需要,例如移动到集群解决方案,则不会限制您.许多数据库在VM中都可以正常运行,但对于少数最终需要比在VM环境中提供的更多马力的数据库,您会发现自己希望将它们放在raw hardware instead上.

如果您不是在谈论Windows,那么这些指南中的一些将不相关.例如,将大型增长型数据库作为LPAR放在AIX虚拟机管理程序中是一种普遍接受的做法.

存储

没有共享存储,您无法拥有真正的虚拟化(具有VM移动性和主机群集).产品,开发,测试和QA服务器对您的存储看起来都是一样的,但您可能需要花一些时间来寻找优先考虑产品的方法.例如,让一个重税的prod数据库与dev服务器共享磁盘(raid集,池,等等)是一个非常糟糕的主意.开发人员有时会像生产一样努力打击磁盘,最后你需要弄清楚某种测试是否会减慢你的产量.

让知道您存储空间的人坐下来分析所有潜在的瓶颈(端口,缓存,控制器,磁盘等),并尽最大努力防止在prod和非prod之间争用尽可能多的这些瓶颈.

也就是说,有时应用程序人员需要运行开发基准来帮助量化新补丁或其他东西的影响.在这种情况下,您可能需要能够为它们提供类似(或至少可量化的)不同的存储容量.

.NET Web 部件 | Web 部件管理器 | Web 部件区

.NET Web 部件 | Web 部件管理器 | Web 部件区

如何解决.NET Web 部件 | Web 部件管理器 | Web 部件区

我在 ASP.NET Web 窗体中使用 Web 部件。我的项目运行正常。 但是,当我拖放 Web 部件管理器时出现此错误,谁能指导我如何在 Windows 10 中解决此问题。

与 sql Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 sql Server 是否配置为允许远程连接。 (提供程序:sql 网络接口,错误:26 - 错误定位服务器/指定的实例)

App server 与 Web server 之间的区别

App server 与 Web server 之间的区别

原文: http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html 

简单来说,web 服务器提供页面给浏览器,而 app 服务器提供客户端可以调用的接口。具体而言,我们可以说:

Web 服务器处理 HTTP 请求,而 app 服务器基于多种不同的协议,处理应用程序的逻辑问题。

以下将详细介绍它们之间的区别。

Web 服务器

web 服务器处理 HTTP 协议。当收到一个 HTTP 请求之后,web 服务器会返回一个 HTTP 响应,比如一个 HTML 页面。为了处理请求,它可能响应一个静态的 HTML 页面、图片、重定向,或者代理(delegate)其他动态响应。这些动态响应可以由其他程序生成,包括 CGI 脚本,JSPs,servlets,ASPs,服务器端的 Javascript,或者其他服务器端技术。而这些服务器端程序响应,大多数时候都表现为 HTML 页面,供浏览器访问。

理解一个 web 服务器的代理模型 (delegate model) 相对比较简单。当 web 服务器接收到一个请求,它只是简单的将请求交给处理该请求的最优程序。除了为服务器程序简单的提供一个运行环境(服务器程序可以在其中运行,并且返回生成的响应)之外,web 服务器不提供任何功能。服务器程序一般自己处理交换 (transaction)、数据库连接、消息分发等。

虽然 web 服务器不提供以上的服务,但是它一般会提供诸如容错机制,负载均衡、缓存、集群等的可扩展性。而后者,一般来说不应该部署在 web 服务器上,而应该在 app 服务器上!

App 服务器

根据我们的定义,app 服务器可以基于各种不同的协议(可能包含 HTTP 协议),为客户端程序提供应用逻辑的处理。不同于 web 服务器主要发送用来展示在浏览器上的 HTML 页面,app 服务器为客户端程序处理应用逻辑方面问题。应用程序使用这些逻辑,就如同调用一个对象的方法(或者面向过程编程中的函数)一样简单。

这些应用程序可能包含 PC 机上运行的 GUI 进程,web 服务器,甚至其他的 app 服务器。app 服务器和客户端之间的通信并不局限于简单的显示标记,而是可以由程序逻辑,比如数据表单、方法调用,而非静态的 HTML,这样,客户端程序就可以按需去用了!

在大多数情况下,app 服务器通过元件 API,比如基于 j2ee app 服务器的 EJB,来提供应用逻辑。而更多的情况下,app 服务器自己管理自己的资源。这些责任(gate-keeping)包括安全、进程交互、资源池、消息分发等。同 web 服务器一样,app 服务器也可能需要各种可扩展性和容错机制。

一个例子

以一个提供实时价格和相关信息的在线商店为例,它极有可能提供了一个表单,用户可以选择不同的产品并查询。它会查找,并通过 HTML 网页展示结果。这个网站可能有多种方式来实现这个功能,下面我们将举两个相反的例子,一个不使用 app 服务器,而另一个使用。通过这两个例子,可以帮助你理解 app 服务器的功能。

场景 1:web 服务器,而非 app 服务器

在这个场景里,web 服务器独自提供在线商店的功能。它接受用户的请求,交给服务器端程序处理。该服务器端程序通过数据库,或者纯文本,查找到价格信息,然后生成 HTML 响应,通过 web 服务器返回给用户的浏览器。

总结来说,web 服务器仅需要接受 HTTP 请求,并响应 HTML 网页。

场景 2: web 服务器 + app 服务器

同场景 1 一样,web 服务器仍然代理脚本生成的响应。但是你可以把业务逻辑部署在 app 服务器上。这样,脚本就不需要去关注怎样查询和生成响应,而仅需要调用 app 服务器提供查询服务,从而利用其生成它的 HTML 响应。

在这个例子中,app 服务器提供了价格查询的业务逻辑。这个逻辑不应该包含怎样去展示,或者强迫客户端使用这些数据。相反的是,客户端和 app 服务器进行交互,只有当客户端调用了 app 服务器的价格查询服务的时候,该服务才查找到信息并返回。

HTML 代码生成分离开后,价格查询逻辑的复用性提高了。另外一个客户端,比如收银机,同样可以调用这个接口。而场景 1 里,价格查询服务就很难被重用,因为它和 HTML 页面紧密联系。

总结来说,第二个场景中,web 服务器处理 HTTP 请求,并返回 HTML 页面,而 app 服务器处理业务逻辑。

注意事项

近来,XML web 服务器模糊了 app 服务器和 web 服务器的界限。发送一个 XML 请求给 web 服务器,web 服务器可以像过去的 app 服务器一样,处理数据并返回响应。

另外,很多 app 服务器包含 web 服务器,这就意味着你可以把 web 服务器看做 app 服务器的一个子集。虽然 app 服务器包含 web 服务器的功能,但是开发者还是很少以此身份发布 app 服务器。如果需要的话,他们通常将 web 服务器和 app 服务器分离开。这样的目的是,性能(简单的 web 请求不会影响到 app 服务器的性能)、发布配置(专用的 web 服务器,集群等)、更好的厂商选择。


asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API

asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API

我刚刚安装了Visual Studio 2012,并开始检查MVC 4和Web Api。
我已经用Web API创建了一个新的MVC 4应用程序。基于一些示例和教程,我开始配置我的路由:
routes.MapHttpRoute(
                name: "Controller only",routeTemplate: "api/{controller}"
            );

但是,这会导致RouteCollection不包含MapHttpRoute的定义的错误。我是否安装了一些DLL?
据我看到,我已经安装了所有正确的DLL和版本。

解决方法

我已经通过在RouteConfig.cs中添加对System.Web.Http的引用来解决它

asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证

asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证

我使用 Windows.Web.Http.HttpClient连接到我的WEB API.应用程序没有提示用户名和密码,但最近我通过将AuthorizeAttribute过滤器从Action级别移动到类级别来更改WEB API.现在我的Windows应用商店8.1应用程序提示用户ID和密码.请让我知道如何设置HttpClient不提示登录和密码. any1可以建议我,我需要添加标头到我的httpcleint

使用(Windows.Web.Http.HttpClient httpClient = new Windows.Web.Http.HttpClient())
                {
                    //添加用户代理标头
                    var headers = httpClient.DefaultRequestHeaders;

//检查用户标头值的安全方法是TryParseAdd方法
 //因为我们知道这个标题是可以的,所以我们使用ParseAdd会抛出异常
  //值不好 – http://msdn.microsoft.com/en-us/library/windows/apps/dn440594.aspx

headers.UserAgent.ParseAdd("ie");
                headers.UserAgent.ParseAdd("Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");


                using (var response = await httpClient.GetAsync(new Uri(url)))

我没有看到发送默认凭据的方法.

解决方法

使用HttpBaseProtocolFilter.AllowUI禁用UI对话框.试试这个:

Windows.Web.Http.Filters.HttpBaseProtocolFilter filter =
    new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
filter.AllowUI = false;
HttpClient client = new HttpClient(filter);

Uri uri = new Uri("http://localhost/?basic=1");
var response = await client.GetAsync(uri);
System.Diagnostics.Debug.WriteLine(response);

你需要凭证吗?使用HttpBaseProtocolFilter.ServerCredential.试试这个:

Uri uri = new Uri("http://localhost?ntlm=1");

Windows.Web.Http.Filters.HttpBaseProtocolFilter filter =
    new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
filter.AllowUI = false;

// Set credentials that will be sent to the server.
filter.ServerCredential =
    new Windows.Security.Credentials.PasswordCredential(
        uri.ToString(),"userName","abracadabra");

HttpClient client = new HttpClient(filter);
var response = await client.GetAsync(uri);
System.Diagnostics.Debug.WriteLine(response);

您需要默认的Windows凭据(域凭据)吗?只需将Enterprise Authentication功能添加到Package.appxmanifest即可.

关于web-server – 如何设置开发,登台,生产和QA环境web开发环境如何配置的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于.NET Web 部件 | Web 部件管理器 | Web 部件区、App server 与 Web server 之间的区别、asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API、asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证的相关知识,请在本站寻找。

本文标签: