我已经在我的个人系统上使用apache tomcat服务器来开发一个网站。但是我需要在亚马逊ec2实例上部署网站。我需要一个稳定的替代apace tomcat。请为我推荐一些选项和链接。此外,在部署我的个人网站时,我必须采取哪种安全措施来确保数据的完整性不受损害。
答案 0 :(得分:1)
EC2设置
使用亚马逊的ami-84db39ed(fedora-8-i386-v1.14-std)AMI启动EC2实例。这似乎是一个基本的Fedora 8图像。
使用如下命令ssh进入实例:
ssh -i <path to your .pem file> root@<public DNS address for your instance>
除非另有说明,否则所有后续命令行都在实例中执行。
安装Java
从http://download.java.net/jdk6/下载JDK RPM。在“Linux平台”下查找“自解压JDK文件中的Linux RPM”。我下载了jdk-6u20-ea-bin-b02-linux-i586-01_apr_2010-rpm.bin,通过复制链接地址然后运行curl:
curl http://www.java.net/download/jdk6/6u20/promoted/b02/binaries/jdk-6u20-ea-bin-b02-linux-i586-01_apr_2010-rpm.bin
安装Tomcat
我在/ env / tomcat下安装了它,除了亚马逊Eclipse插件使用的亚马逊EMI之外没有任何理由。
mkdir /env
mkdir /env/tomcat
cd /env/tomcat
curl http://apache.mirrors.hoobly.com/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat- 6.0.26.tar.gz > apache-tomcat-6.0.26.tar.gz
tar zxvf apache-tomcat-6.0.26.tar.gz
cd apache-tomcat-6.0.26
bin/startup.sh # this launches Tomcat
要验证安装,请从Web浏览器加载根页:http://mypublicdns.com:8080
(替换您实例的公共DNS地址,如EC2信息中心所示。)
将Tomcat配置为自动启动
使用以下内容创建文件“/etc/rc.d/init.d/tomcat”:
#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.
JAVA_HOME=/usr/java/jdk1.6.0_20
CATALINA_HOME=/env/tomcat/apache-tomcat-6.0.26
export JAVA_HOME CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh $*
您可能需要调整JAVA_HOME和/或CATALINA_HOME,具体取决于您安装的Java SDK和Tomcat的确切版本。接下来,执行这些命令为init脚本设置适当的权限,并启用Tomcat进行自动启动:
chmod 755 /etc/rc.d/init.d/tomcat
chkconfig --level 2345 tomcat on
现在,只要服务器重新启动,就应该自动启动Tomcat。
安装您的应用
现在,我们将安装我们的Web应用程序并稍微调整Tomcat配置。首先,使用“vi conf / server.xml”编辑server.xml文件。查找端口8080的连接器:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
并将端口从8080更改为80,以便可以在普通HTTP端口上访问您的Web服务器。接下来,找到Host标签(靠近文件末尾):
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
将autoDeploy更改为“false”。 (这是O'Reilly的Tomcat:The Definitive Guide,第2版推荐的。我没有完全按照他们的推理,它与在服务器启动时安装两次的应用程序有关,一次是通过autoDeploy安装的,一次是通过不同的机制安装的。 )最后,在标记内,为您的应用程序添加标记。我看起来像这样:
<Context docBase="CloudMetricsEC2.war" path="" />
现在您可以关闭server.xml。接下来,您需要为您的应用程序构建一个WAR文件 - 在Eclipse中,您可以通过右键单击Package Explorer中的项目,选择“Expore ...”,然后选择“Web - &gt; WAR file”来完成此操作。导出格式列表。使用如下命令将其复制到实例(在本地计算机上,而不是EC2实例):
scp -i ~/.ec2/Tomcat2.pem CloudMetricsEC2.war
root@INSTANCE_PUBLIC_DNS_NAME:/env/tomcat/apache-tomcat-6.0.26/webapps/CloudMetricsEC2.war
接下来,删除默认的ROOT应用程序,或者至少将其移开:
mv webapps/ROOT webapps/xROOT
最后,重启Tomcat以获取所有更改:
bin/shutdown.sh; bin/startup.sh