Play2.0打包成war部署到Tomcat7中


生成 Play 网站 WAR 部署文件


升级 Play sbt-plugin 到 2.1+


修改 proejct/plugins.sbt


    // Use the Play sbt plugin for Play projects
    addSbtPlugin("play" % "sbt-plugin" % "2.1-06052012")

添加WAR生成插件


    resolvers += "Play2war plugins release" at "http://repository-play-war.forge.cloudbees.com/release/"
    addSbtPlugin("com.github.play2war" % "play2-war-plugin" % "0.8.1")

修改 project/Build.scala


引入新包:
    import com.github.play2war.plugin._

修改settings:
    val main= PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
        // Add your own project settings here      
        EclipseKeys.withSource := true,
        Play2WarKeys.servletVersion := "3.0" 
    ).settings(Play2WarPlugin.play2WarSettings: _*)

使Play project支持Servlet Sub-context 子路径


修改 conf/application.conf,添加如下行:
    application.context="/网站名/"
    [例如] application.context="/baidu.com/"

生成WAR文件


在Play工程路径下终端输入sbt,启动SBT,在其命令行下输入如下两个命令:
    clean
    package

生成的WAR文件在Play工程target路径下

Tomcat7安装与配置

Tomcat7安装


下载:
其他版本: http://tomcat.apache.org/

解压缩:
unzip apache-tomcat-7.0.35.zip

更改安装位置
    mv apache-tomcat-7.0.35/ /[YourName]/programs/

修改Tomcat7端口:


    nano /[YourName]/programs/apache-tomcat-7.0.35/conf/server.xml

Ctrl-W 查找该行:
<Connector port="8080" protocol="HTTP/1.1"
                      connectionTimeout="20000" redirectPort="8443"/>

默认为:8080, 按需求修改,8080容易与其他服务器冲突,这里采用8000。

启动


进入Tomcat7路径
    cd /[YourName]/programs/apache-tomcat-7.0.35/bin/

一般启动:
    sudo sh ./catalina.sh run

后台启动:
    sudo sh ./startup.sh

关闭


正常关闭:
sudo sh ./shutdown.sh

强制关闭*常用*:

查看tomcat进程ID
    ps -ef|grep java

关闭tomcat进程
    sudo -u username kill -9 pid,其中userName指用户名

添加网站


直接将Play工程中的/project/[网站名称].war拷贝到Tomcat7下的/webapps/路径下即可
此为热部署,无需重启Tomcat。

访问网站


浏览器输入:http://ip/网站名/ 即可


如: http://192.168.1.221:8000/baidu.com/

注:以上命令可能需要sudo权限

你可能感兴趣的:(tomcat7)