tomcat服务器中的web应用程序部署在哪个物理位置

tomcat服务器中的web应用程序部署在哪个物理位置,第1张

finebi是一个servlet应用。servlet是一种服务器端的java应用程序,具有独立于平台和协议的特性,可以生成动态的web页面。

web服务器部署通常分两个步骤,首先是在服务器上安装web服务器并进行环境配置,然后将web工程部署到web服务器上并发布出来;这样能通过IP地址和ServerURL来访问这个web工程达到应用的目的。

对于将同一个经过加密的 Webconfig 文件部署到数台服务器上的网络场,这会非常有用。在这种情况下,还必须将相同的 RSA 密钥容器部署到这些服务器上。为了实现此目的,需要为应用程序创建一个 RSA 密钥容器,将它导出到 XML 文件,然后在每台需要对加密的 Webconfig 文件进行解密的服务器上导入该文件。在承载多个 ASPNET 应用程序的单台 Web 服务器上,创建 RSA 密钥容器也非常有用。通过为一个客户的每个或每组应用程序都创建一个 RSA 密钥容器,可以确保一个应用程序的 RSA 密钥容器不能用来对另一个应用程序的 Webconfig 文件进行解密,从而提高应用程序的敏感配置信息的安全性。创建RSA 密钥容器若要创建 RSA 密钥容器,请使用 ASPNET IIS 注册工具 (Aspnet_regiisexe) 及 –pc 开关。必须为密钥容器指定一个名称,该名称标识应用程序的 Webconfig 文件的 configProtectedData 节中指定的 RsaProtectedConfigurationProvider 所使用的密钥容器。为确保可以导出新创建的 RSA 密钥容器,必须包括 -exp 选项。例如,下面的命令创建一个名为 SampleKeys 的 RSA 密钥容器,该容器是可导出的计算机级密钥容器。aspnet_regiis -pc "SampleKeys"–exp下面的示例演示了 Webconfig 文件的 configProtectedData 节。该节指定使用名为 SampleKeys 的计算机级 RSA 密钥容器的 RsaProtectedConfigurationProvider。<configProtectedData> <providers> <add name="SampleProvider" type="SystemConfigurationRsaProtectedConfigurationProvider, SystemConfiguration, Version=2000, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a processorArchitecture=MSIL" keyContainerName="SampleKeys" useMachineContainer="true" /> </providers> </configProtectedData>授予对 RSA 密钥容器的访问权限默认情况下,RSA 密钥容器受到所在服务器上的 NTFS 访问控制列表 (ACL) 的严密保护。这样能够限制可以访问加密密钥的人员,从而增强加密信息的安全性。必须首先向 ASPNET 应用程序的进程标识授予对该 RSA 密钥容器的读取访问权限,然后 ASPNET 才能使用 RSA 密钥容器。有关设置和确定 ASPNET 应用程序标识的信息,请参见 ASPNET 模拟。可以使用 Aspnet_regiisexe 工具及 -pa 开关,向 ASPNET 应用程序的标识授予读取 RSA 密钥容器的权限。例如,下面的命令向 Windows Server 2003 NETWORK SERVICE 帐户授予对名为 SampleKeys 的计算机级 RSA 密钥容器的读取访问权限:aspnet_regiis -pa "SampleKeys" "NT AUTHORITY/NETWORK SERVICE"若要使用计算机配置中指定的默认 RsaProtectedConfigurationProvider,必须首先向应用程序的 Windows 标识授予对名为 NetFrameworkConfigurationKey 的计算机密钥容器的访问权限,该计算机密钥容器是为该默认提供程序指定的密钥容器。例如,下面的命令向 NETWORK SERVICE 帐户授予对默认 RsaProtectedConfigurationProvider 所使用的 RSA 密钥容器的访问权限。aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY/NETWORK SERVICE"NetFrameworkConfigurationKey RSA 密钥容器是 Aspnet_regiisexe 工具所发出的命令的默认密钥容器。因此上述命令也可以按以下方式发出:aspnet_regiis -pa "NT AUTHORITY/NETWORK SERVICE"导出RSA 密钥容器若要将 RSA 密钥容器导出到 XML 文件,可以使用 Aspnet_regiisexe 工具及 –px 开关。XML 文件可以用作 RSA 密钥容器的备份,也可用于在其他服务器上导入 RSA 密钥容器。若要对加密信息进行解密,RSA 密钥容器的私钥部分是必需的。若要在另一台服务器上使用导出的密钥容器,还需导入私钥。通过在导出密钥时指定 –pri 选项,可以在 XML 文件中包括私钥。还必须指定导出的密钥容器是计算机级还是用户级的。若要导出用户级密钥容器,必须以其 Windows 配置文件存储了密钥的用户的身份登录。若要指定用户级密钥,请在导出加密密钥信息时包括 -pku 选项;否则,导出的密钥将来自计算机密钥存储区。有关计算机级和用户级加密密钥的更多信息,请参见 了解计算机级别和用户级别的 RSA 密钥容器。例如,下面的命令将名为 SampleKeys 的计算机级 RSA 密钥容器导出到名为 keysxml 的文件中并包括了私钥信息。aspnet_regiis -px "SampleKeys" keysxml -pri导入RSA 密钥容器可以使用 Aspnet_regiisexe 工具和 –pi 开关,从 XML 文件导入 RSA 密钥容器。还必须指定导入的密钥容器是计算机级还是用户级的密钥容器。

一,开发工具的选择

Java

EE,或者是JSF应用开发,Netbeans和Glassfish是最好的搭配选择,前者对于后者有非常好的支持。但要注意netbeans的版

本,55是不支持glassfish v2的。而netbeans6还很不稳定,所以现阶段最好的版本是netbeans551。

关于Netbeans下开发Java EE应用,官方有文档介绍:Java EE 应用程序相关教程,这里主要介绍一下生产环境中web应用在glassfish下的部署和配置

二,下载安装Glassfish V2

1)下载Glassfish v2并解压缩。下载完毕後,执行以下命令:

java -Xmx256m -jar glassfish_filenamejar

点击接受弹出的协议后(这里sun比较无聊啊,所有软件都是,明明一个普通压缩包,非压成jar让你看一下协议才行),glassfish会解压到一个名为glassfish的目录里。

2) 修改端口

glassfish是通过ant来安装的,安装脚本在setupxml下,在里面可以修改一些配置,比如端口等等。在setupxml中主要有以下设置:

xml 代码

﹤property name="domainname" value="domain1"/﹥  域名

﹤property name="instancename" value="server"/﹥

﹤property name="adminuser" value="admin"/﹥ 管理员用户名   

﹤property name="adminpassword" value="adminadmin"/﹥ 管理员密码   

﹤property name="adminport" value="4848"/﹥ 管理平台端口   

﹤property name="instanceport" value="8080"/﹥ 实例端口,也就是通过这个端口来访问web应用   

﹤property name="orbport" value="3700"/﹥

﹤property name="imqport" value="7676"/﹥

﹤property name="httpsport" value="8181"/﹥ https端口  

根据需要修改以上设置,执行:ant -f setupxml,如果系统没有安装ant,在glassfish\lib\ant下有一个ant16版。安装结束后,进入glassfish/bin下,在控制台执行下面命令启动glassfish:

asadmin start-domain domain1     // domain1是上面设置的domainname,系统默认domain1

启动结束后,进入http://localhost:8080测试是否已经正确启动

asadmin stop-domain domain1  //停止服务器

三,部署web应用

有三种方式,可以直接将war或ear放在glassfish/domain/autodeploy目录下,glassfish启动后会自动部署。

第二是通过命令asadmin deploy部署应用, 另外 asadmin updeploy 卸载应用。通过asadmin deploy

--help 和 asadmin undeploy --help 获得更多帮助。

第三是通过我推荐的方式,通过glassfish管理控制台进入http://localhost:4848,默认用户admin,密码adminadmin。打开後看到如下界面:

进入左侧菜单, Applications -> Web

Applications,在列表中可以看到已经部署的应用,如要部署新应用,点击deploy按钮,选择本地的war,设定好context

path,点击OK,无论部署成功或失败,都会看到相应的信息提示

注:通过这种方式,可以进行远程部署,只要打开目标服务器上的管理控制台,选择一个本地的war,就可以快速的部署到远程服务器上,非常方便,这也是推荐的原因。对于EJB应用,在Enterprise Applications下部署,方法同上

四,配置jdbc数据源

对于Java EE应用,经常需要事先设定数据源,否则部署时会报javaxnamingNameNotFoundException

配置方法是进入Resources -> JDBC,会看到JDBC Resources和Connection pools

先设定Connection

pools,以MySql为例,点击New,命名为MySqlPools,ResourceType选择

javaxsqlConnectionPoolDataSource,Database

vendor肯定选择mysql,然后点击next进入下一页面。最主要的是设定Additional

Properties,也就是jdbc连接配置,设定好url, user,

password,其他的保持默认值,也可以根据需要自己添加属性。设定好连接池后,接着设定JDBC

Resources,新建一个JDBC,名称要和你的web应用里的持久化单元采用的数据源的名称一致。

然后再次部署web应用,就会正常运行了。

Docker部署WEB 应用时,本地可以成功打开测试页,在公网上(阿里云服务器)却不能打开。

1、环境:阿里云服务器

2、CentOS7系统

3、Docker成功部署

这里前提docker 已经成功部署啦,现有有一个简单的测试案例,在docker上部署一个应用从而访问web。

接下来让我们尝试使用 docker 构建一个 web 应用程序。

我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。

通过 -p 参数来设置一样的端口:

docker ps 查看正在运行的容器

容器内部的 5000 端口映射到我们本地主机的 5000 端口上。

这时我们可以通过浏览器访问WEB应用

访问失败

指定外网端口为5000,

1 本地测试能否打开测试页

本地没有问题。

2 浏览器中访问

在任意一台电脑上输入公网IP+端口号 (此端口号为运行WEB应用时指定的端口号5000) 如我的阿里云公网IP为123111111 此时在任意一台有网络的浏览器地址栏输入公网IP:http://123111111:5000 应该会出现测试页

但现在出现如下图所示:

显示打不开

查啦大量资料,以前曾经也解决过,一定弄明白自已购买的地区后,再去设置安全组的配置规则。

1 登录阿里云管理控制台

2找到云服务器ECS-概览

3 点击云服务器ECS,这个是我购买的类型,其他类型的就不清楚啦。

4 点击本安全组后,再次点击配置规则:

5 手动添加端口5000

6 最后保存,再从浏览器地址栏输入公网IP加端口号3344成功显示测试页如图:

您好,提问者:

首先你要了解一个带有源码的web应用程序的结构,下面请看结构分析:

web应用程序结构分析:

--src:基本存放java和一些像strutsxml的文件。

--web-root:部署web项目就是部署这个文件。

--web-root下web-inf:存有页面(jsp/html)和java生成的class文件。

--------------------------------Tomcat部署结构--------------------------------

1、它不会添加的你的src目录,它会把你web-root这个文件夹给你改成web项目的名字部署到apache-tomcat-6020\webapps\目录下。

2、apache-tomcat-6020\work\Catalina\localhost\目录下是你的web项目驱动程序。

3、apache-tomcat-6020\conf\tomcat-usersxml可以配置你的tomcat密码等信息。

4、apache-tomcat-6020\conf\webxml下是一些查用格式等等信息。

5、apache-tomcat-6020\conf\contextxml下就是配置ip和端口的一些信息,驱动web项目也是在这个xml走通的!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » tomcat服务器中的web应用程序部署在哪个物理位置

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情