### 如何部署Play 1.2.x:详细指南 Play框架是基于Java和Scala的轻量级Web开发框架,以其简单、快速的开发方式而受到欢迎。本文将详细介绍如何在Windows和Linux环境下部署Play 1.2.x版本,并提供具体的步骤和注意事项。 #### 前提条件 - 已经安装了Java环境,并且正确配置了JAVA_HOME环境变量。 - Play框架已下载并解压至指定目录(本例中为`D:\framework\play1.2.x`)。 - 已创建一个名为`hello`的应用项目,并将其放置在`D:\work\hello`目录下。 #### 编译过程 打开命令行工具(在Windows中使用CMD,在Linux中使用终端),切换到项目所在目录(例如`D:\work\hello`)。然后执行以下命令进行编译: ```bash d:\framework\play1.2.1\play.bat precompile ``` 编译完成后,会在项目目录下生成一个名为`precompiled`的目录,该目录包含了编译后的文件。 #### 部署相关文件 部署时主要关注以下几个文件夹: - **precompiled**:存放编译后的`.class`文件以及视图模板的编译结果。 - **conf**:包含配置文件,如`application.conf`等。 - **lib**:存放项目的依赖库文件。 #### 启动方式 Play 1.2.x提供了多种启动方式,下面将分别介绍在Windows和Linux环境下的启动方法。 ##### 1. 使用Play启动 进入项目目录,执行以下命令即可启动应用: ```bash d:\framework\play1.2.1\play.bat run "-Dprecompiled=true" ``` 这种方式会使用预编译的文件来启动应用,Play会从`precompiled`、`conf`和`lib`目录读取必要的文件。 ##### 2. 使用Java命令启动 这种方式适用于Windows和Linux平台。确保Java环境变量已配置好。接着,使用以下命令启动应用: **Windows平台** ```bash java -Xms256m -Xmx512m -javaagent:"D:\framework\play-1.2.1\framework\play-1.2.1.jar" -Dprecompiled=true -server -classpath "D:\work\hello\lib\*;D:\work\hello\conf;D:\framework\play-1.2.1\framework\lib\*;D:\work\hello\precompiled\java" -Dapplication.path=D:\work\hello play.server.Server ``` **Linux平台** 命令与Windows平台类似,但需要注意路径分隔符应使用冒号`:`而非分号`;`: ```bash java -Xms256m -Xmx512m -javaagent:/fcg/mo/framework/play-1.2.1/framework/play-1.2.1.jar -Dprecompiled=true -server -classpath "/fcg/mo/projects/hello/lib/*:/fcg/mo/projects/hello/conf:/fcg/mo/framework/play-1.2.1/framework/lib/*:/fcg/mo/projects/hello/precompiled/java" -Dapplication.path=/fcg/mo/projects/hello play.server.Server ``` ##### 3. 在Linux中作为服务启动 在Linux环境下,还可以将应用注册为系统服务,以便使用`service hello start/stop/restart`命令进行管理。 **创建服务脚本** 创建一个名为`hello`的服务脚本: ```bash #!/bin/bash # chkconfig: 345 85 15 # description: This is a hello service. # Source function library . /etc/rc.d/init.d/functions # Source networking support. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 # Define program location PROGRAM=/fcg/mo/framework/play-1.2.1/framework/play-1.2.1.jar PIDFILE=/var/run/hello.pid APP_PATH=/fcg/mo/projects/hello start() { echo -n "Starting hello service: " java -Xms256m -Xmx512m -javaagent:$PROGRAM -Dprecompiled=true -server -classpath "$APP_PATH/lib/*:$APP_PATH/conf:$PROGRAM:$APP_PATH/precompiled/java" -Dapplication.path=$APP_PATH play.server.Server > /dev/null 2>&1 & RETVAL="$?" echo [ "$RETVAL" = "0" ] && touch /var/lock/subsys/hello return $RETVAL } stop() { echo -n "Stopping hello service: " killproc -p $PIDFILE java RETVAL="$?" echo [ "$RETVAL" = "0" ] && rm -f /var/lock/subsys/hello return $RETVAL } restart() { stop start } case "$1" in start) start ;; stop) stop ;; status) status java ;; restart) restart ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 esac exit 0 ``` **注册服务** 创建另一个脚本`hello-regist.sh`来注册服务: ```bash #!/bin/bash chkconfig --add hello chkconfig hello on service hello start ``` 执行`hello-regist.sh`后,就可以使用`service hello start/stop/restart`命令来管理服务了。 #### 结语 以上就是在Windows和Linux环境下部署Play 1.2.x的具体步骤。需要注意的是,不同的操作系统在路径处理上存在差异,因此在实际操作时要根据实际情况进行调整。此外,由于Play 1.2.x版本较旧,建议考虑升级到最新版本以获得更好的性能和支持。
- 粉丝: 3
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助