java虚拟主机搭网站虚拟主机怎么搭建


经过一段时间的开发,更新,迭代,新浪云容器Java环境逐渐成熟起来,相比过去的Java运行环境,可用性和易用性都得到了大量的提升。同时也收到了不少用户反馈的使用问题,特此在这篇文章里综合介绍一下容器Java使用以及相关服务的整合。

新浪云容器Java环境基于Docker搭建,支持多实例负载均衡,近乎原生虚拟机环境,使用无门槛。

开发自己的应用之前,我们先要准备好自己的开发环境,新浪云的容器Java应用所需的环境和一般开发环境类似。

开发IDE(推荐eclipse,有相应的开发插件,能够快速上传)version:eclipse(Mars.1Release(4.5.1)此版本自带了maven插件,不需要另装了)

然后我们来着手建立一个maven的项目,当然我们可以通过maven的命令来创建一个项目,不过我们有IDE,可以方便的利用可视化界面操作,而且也方便使用插件。

好了,我们打开Eclipse,接下来我们就开始创建自己的Web项目,点击"File"->"New"->"Mavenproject",如下图:

然后点击"Next",注意接下来选择的"Archetype",咱们是Web项目,所以一定要选择"maven-archetype-webapp",如下图:

然后点击"Next",填写GroupId和ArtifactId,然后在点击"Finish"。

首先我们建立一下源码目录,在src->main下面新建一个文件夹java,然后就可以看到如图的应用结构了:

这里还有一个注意的地方,建立好新的maven项目之后,可能需要一些简单的配置,如果默认配置好了可以忽略了,主要注意两个方面的配置,一是Servlet版本,一是JDK版本,以及项目结构。

在修改下项目的结构,如下图。点击ProjectFacet,修改下Java的版本和刚刚修改的版本一致。

修改下DynamicWebModule,改成3.1版本(如果点击下面提示无法改变版本的话,就先反选DynamicWebModule然后确定,在重新进入这个界面在勾选即可修改)。如下图:

最后,我们在来安装下新浪云的Eclipse插件,具体安装的方法参见使用Eclipse插件部署Java应用。

接下来的Web应用就可以根据自己的业务需求开始开发,就不说具体的开发过程了,下面着重介绍下新浪云相关服务的使用方法和注意事项。

我们先来建立一个Servlet,通过这个Servlet来演示相关功能的展示,建立一个如下图的package在建立一个名为test的Servlet。

然后可以通过Eclipse插件将应用上传到新浪云,插件使用见使用Eclipse插件部署Java应用,也就是你刚刚创建的应用,注意填写相关的信息。部署时间大约为3分钟,然后可以在浏览器里访问我们创建的servlet了,如下图:

这样,我们的Servlet的就建立好了,接下来我们的演示就基于这个Servlet展开介绍。

新浪云的数据库服务有两种,一种是共享型数据库,一种是独享型数据库,但其实操作方式都是一样的,具体参看相关文档。以共享型数据库为例子吧,通过jdbc方式即可连接。

首先,在新浪云控制面板中创建自己的共享型mysql实例,然后在pom.xml里添加下jdbc驱动。

这里只是展示了最基本的使用方法,有些项目中会使用连接池,连接池只需要注意一项,将idle时间调整到10秒以下即可,无论是独享型还是共享型都是如此。

Memcached服务同样也要在你创建的应用中开启面板,初始化一下。容器使用的memcache有auth认证,需要使用支持SASL协议的客户端,推荐使用spymemcached客户端,首先在pom.xml文件中添加如下依赖。

新浪云Redis服务,类似于Memcache服务,先在pom.xml里添加一个redis的客户端,如jedis

同时也需要在面板里初始化服务。然后可以根据自己的需要在mongodb实例中创建库或者是集合,我自己建立了一个叫"test"的库,然后建立了一个叫"users"的集合。

这里还是在上面建立的那个Servlet演示操作。对于容器Java,我们提供了一套SDK支持,相关存储的操作,SDK已经放在了maven的中央仓库上,可以通过maven进行下载,在项目的pom.xml中添加如下依赖:

目前,SDK里包含了kvdb(已经在1.2.2版本中去除)、云存储、Storage,以后新的服务,会在不断的增加。

Storage服务是新浪云开发的一套对象存储服务,首先也要在面板上开启服务,初始化,然后在servlet中添加如下的代码:

然后上传到新浪云上,然后访问一下Servlet,之后可以在自己Storage面板里,可以看到文件。如下图:

多实例的情况下,准备了两种解决方案,一种是粘滞会话,另一种是第三方Session存储。粘滞会话可以在创建应用的时候开启。下面演示一下使用第三方Redis服务存储Session为了方便演示,我先把我测试的容器实例扩展到多个,到了3个JVM,如图:

然后我们创建一个redis服务,具体创建参见Redis文档,然后进入"应用"->"环境变量面板",点击添加环境变量,添加以下两个环境变量。添加如下的环境变量。

最后我们在确认下是否将Session的数据存储到了Redis,进入到Redis控制面板,点击管理,输入如下命令:

可以看到,由Tomcat自主存的Session信息,都在我们的Redis里了,这样就可以实现多实例之间的Session共享了。如果使用过程中需要存储对象,要预先对对象进行序列化。

以上简单的介绍了一下,新浪云容器环境Java相关的问题,主要是在新浪云相关的服务上,如果以后有新的服务或者问题,我会继续更新相关的使用方法和文档。当然使用中如果遇到上面问题,可以提交工单求助或直接在本文留言评论。


1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。