linux环境下搭建环境发布web项目
2016-12-06 10:51
344 查看
在公司真是学习了一下项目环境在linux下搭建和发布的过程,这是每个程序员都应该掌握的一个技能,将整理下为以后温习用,也乐于和为掌握这些技能的猿分享:
这里主要分为5部分:1、安装jdk,并配置环境变量;2、安装maven配置环境变量;3、安装tomcat服务器;4、安装svn客户端;5安装nodejs(由于我的项目前台开发用的reactjs需要,所以因项目而异)配置node,npm环境变量。6、编译脚本
下面展开详细说明:
1、下载jdk压缩包,网上自己下载然后复制到自己定义的目录下,我这里是/home/appadmin/tools,使用 tar -zxvf jdk-8xxxxx.gz 进行解压 ,之后 更改解压后的文件夹名称为java :mv jdk-8xxxxxx java,
1.1配置环境变量 vim .bash_profile 添加如下
保存后执行 source .bash_profile 刷新文件 ,测试是否安装成功:java -version。
2、安装maven:也在tools目录下解压,修改解压文件夹为maven,然后配置环境变量,在.bash_profile 文件后面添加如下代码,记得保存后 刷新文件。
3、tomcat安装,下载压缩包解压后更名为tomact ,更名只是为了方便在写脚本时容易找到路径好记,先不对tomcat进行任何配置,在项目打包后的路径需要修改tomcat加载项目路径。
4、安装svn:一定要按照顺序解压这两个包
tar xvfj subversion-1.4.3.tar.bz2
tar xvfj subversion-deps-1.4.3.tar.bz2
后者会解压到前者的解压文件夹中,修改解压文件夹为subversion
4.2进行编译和安装
# cd subversion
#./configure
# make #编译,如果提示错误, 则可能需要root权限
# make install #安装,此时可能需要root用户权限
make时可能会出现错误,仔细看看在./configure 后出现的 no ,是否需要 安装 gcc, 需要 则 yum install gcc
安装好客户端之后, 默认安装目录是/home/appadmin/tools/subversion
4.3 将svn命令链接到/usr/local/bin目录下(需要root权限):若没有root权限 (公司管理员没给开root权限)也可以在 .bash_profile配置环境变量;
ln –s /home/appadmin/tools/subversion/bin/svn /usr/local/bin
测试是否已经可以在用户目录下使用svn:
svn help 如果出现命令列表,则表示已经链接成功。
4.4配置maven settings.xml 文件 ,maven中央仓库
cd /home/appadmin/tools/maven/conf
5、nodejs 解压安装,改名为node。需要软连接到全局变量,但是我没有root权限修改了 .bash_profile
export NPM_HOME=/home/appadmin/tools/node/bin
export PATH=$JAVA_HOME/bin:$PATH:$NPM_HOME
所以最后修改后的bash_profile 文件为
最后刷新.bash_profile 若不能执行该文件 chmod a+x .bash_profile
6、写编译脚本 ,其中有些因项目不同可能不需要。
修改tomcat conf/server.xml文件 添加最后的war包路径
<Context path="" docBase="/home/appadmin/deploy/wyvern-res/main" debug="0" reloadable="true" />
最后 ./编译脚本 即可启动项目
这里主要分为5部分:1、安装jdk,并配置环境变量;2、安装maven配置环境变量;3、安装tomcat服务器;4、安装svn客户端;5安装nodejs(由于我的项目前台开发用的reactjs需要,所以因项目而异)配置node,npm环境变量。6、编译脚本
下面展开详细说明:
1、下载jdk压缩包,网上自己下载然后复制到自己定义的目录下,我这里是/home/appadmin/tools,使用 tar -zxvf jdk-8xxxxx.gz 进行解压 ,之后 更改解压后的文件夹名称为java :mv jdk-8xxxxxx java,
1.1配置环境变量 vim .bash_profile 添加如下
export JAVA_HOME=/home/appadmin/tools/java export PATH=$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存后执行 source .bash_profile 刷新文件 ,测试是否安装成功:java -version。
2、安装maven:也在tools目录下解压,修改解压文件夹为maven,然后配置环境变量,在.bash_profile 文件后面添加如下代码,记得保存后 刷新文件。
MAVEN_HOME=/home/appadmin/tools/maven export MAVEN_HOME export PATH=$PATH:$MAVEN_HOME/bin
3、tomcat安装,下载压缩包解压后更名为tomact ,更名只是为了方便在写脚本时容易找到路径好记,先不对tomcat进行任何配置,在项目打包后的路径需要修改tomcat加载项目路径。
4、安装svn:一定要按照顺序解压这两个包
tar xvfj subversion-1.4.3.tar.bz2
tar xvfj subversion-deps-1.4.3.tar.bz2
后者会解压到前者的解压文件夹中,修改解压文件夹为subversion
4.2进行编译和安装
# cd subversion
#./configure
# make #编译,如果提示错误, 则可能需要root权限
# make install #安装,此时可能需要root用户权限
make时可能会出现错误,仔细看看在./configure 后出现的 no ,是否需要 安装 gcc, 需要 则 yum install gcc
安装好客户端之后, 默认安装目录是/home/appadmin/tools/subversion
4.3 将svn命令链接到/usr/local/bin目录下(需要root权限):若没有root权限 (公司管理员没给开root权限)也可以在 .bash_profile配置环境变量;
ln –s /home/appadmin/tools/subversion/bin/svn /usr/local/bin
测试是否已经可以在用户目录下使用svn:
svn help 如果出现命令列表,则表示已经链接成功。
4.4配置maven settings.xml 文件 ,maven中央仓库
cd /home/appadmin/tools/maven/conf
<?xml version="1.0" encoding="UTF-8"?> <settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <servers> <server> <username>test</username> <password>\{DESede\}6z0YCNHERsU=</password> <id>central</id> </server> <server> <username>test</username> <password>\{DESede\}6z0YCNHERsU=</password> <id>snapshots</id> </server> <server> <username>test</username> <password>\{DESede\}6z0YCNHERsU=</password> <id>central1</id> </server> <server> <username>test</username> <password>\{DESede\}6z0YCNHERsU=</password> <id>snapshots1</id> </server> </servers> <localRepository>/home/appadmin/tools/maven_repo</localRepository> <profiles> <profile> <id>flex</id> <repositories> <repository> <id>central</id> <url>http://central</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://central</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <mirrors> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://自己的maven仓库服务器地址/</url> </mirror> </mirrors>
5、nodejs 解压安装,改名为node。需要软连接到全局变量,但是我没有root权限修改了 .bash_profile
export NPM_HOME=/home/appadmin/tools/node/bin
export PATH=$JAVA_HOME/bin:$PATH:$NPM_HOME
所以最后修改后的bash_profile 文件为
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export NPM_HOME=/home/appadmin/tools/node/bin
export PATH
export JAVA_HOME=/home/appadmin/tools/java
export PATH=$JAVA_HOME/bin:$PATH:$NPM_HOME
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
MAVEN_HOME=/home/appadmin/tools/maven export MAVEN_HOME export PATH=$PATH:$MAVEN_HOME/bin
最后刷新.bash_profile 若不能执行该文件 chmod a+x .bash_profile
6、写编译脚本 ,其中有些因项目不同可能不需要。
#!/bin/bash # prepare svn_base="http://svn.rd.800best.com/svn/wyvern/wyvern-resource/trunk" checkout_home="/home/appadmin/source_code/wyvern-resource/wyvern-res" checkout_version="trunk" deploy_home="/home/appadmin/deploy/wyvern-res" war_name="wyvern-res-war.war" # which version if [ $# == 0 ]; then checkout_version="trunk" svn_src="${svn_base}" echo "build trunk!" else branch=$1 checkout_version="${branch}" svn_src="${svn_base}/branches/${branch}" checkout_home=${checkout_home}/branches echo "build branch! ${branch}" fi # check out echo "# start check out" echo "------------------------------------" cd ${checkout_home} svn co ${svn_src} svn up ${checkout_home}/${checkout_version} cd ${checkout_home}/${checkout_version} echo "------------------------------------" echo # build react echo "# start building js" echo "------------------------------------" cd ${checkout_home}/${checkout_version}/wyvern-res-war/ npm install npm run release echo "------------------------------------" echo # build echo "# start building" echo "------------------------------------" cd ${checkout_home}/${checkout_version} mvn clean install package -U -Dmaven.test.skip=true -P test-env echo "------------------------------------" echo echo "# list build result" echo "------------------------------------" #ls -l ${deploy_home}/main #ls -l ${deploy_home}/external echo "------------------------------------" echo # stop tomcat echo "# stop tomcat" echo "------------------------------------" pkill -9 java echo "------------------------------------" ps aux|grep java #sudo service stop echo "------------------------------------" echo # clean tomcat echo "# clean tomcat" echo "------------------------------------" cd ${deploy_home} rm -rf ./main/* #rm -rf ./external/* echo "## list deploy" ls -l ${deploy_home}/main #ls -l ${deploy_home}/external echo "------------------------------------" echo # deploy echo "# cp deploy" echo "------------------------------------" cp /home/appadmin/source_code/wyvern-resource/wyvern-res/trunk/wyvern-res-war/target/${war_name} ./main/ cd main jar -xvf ${war_name} rm ${war_name} echo "# list main" ls -l cd .. #cd external #jar -xvf ${war_ext_name} #rm ${war_ext_name} echo "# list external" ls -l cd .. echo "------------------------------------" echo # start tomcat echo "# start tomcat" echo "------------------------------------" #JAVA_OPTS="-Xms4096m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC # -XX:+PrintGCDateStamps -XX:+PrintGC -XX:+PrintGCDetails # -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -Xloggc:/home/appadmin/logs/gc/gc$NAME.log" nohup /home/appadmin/tools/tomcat/bin/catalina.sh start >/dev/null 2>&1 & #cd /home/appadmin/service/crm_tomcat/crm #/home/appadmin/service/crm_tomcat/crm/start-crm.sh & #sudo service wyvern start echo "------------------------------------" echo # tomcat log echo "# tail tomcat log" echo "------------------------------------" tail -f /home/appadmin/logs/wyvern-res.log echo "------------------------------------" echo echo "# release to tomcat finish"
修改tomcat conf/server.xml文件 添加最后的war包路径
<Context path="" docBase="/home/appadmin/deploy/wyvern-res/main" debug="0" reloadable="true" />
最后 ./编译脚本 即可启动项目
相关文章推荐
- JavaWeb开发环境搭建、项目建立与发布
- Linux下搭建SVN服务器及自动更新项目文件到web发布目录(wwwroot)的方法
- Linux学习掌握(二):CentOS系统中搭建java开发环境与部署web项目
- Linux系统下的web项目环境搭建
- linux系统web项目运行环境搭建
- Linux下搭建SVN服务器及自动更新项目文件到web发布目录(www)
- 《从零开始搭建游戏服务器》项目发布到Linux环境
- Linux下搭建Web项目运行环境Tomcat+Mysql+Jdk
- linux centOS搭建nginx作为web服务器发布静态web项目
- 在云服务器上搭建JSP环境并发布web项目(通过域名访问自己写的项目)
- webpy+python2.7+linux环境搭建
- Linux环境下用Weblogic发布项目【二】 -- 配置Domain域
- WEB服务器linux+apache+mysql+php LAMP源码环境搭建
- Centos 6+resin3.1.12+nginx1.x 项目发布环境快速搭建
- Linux环境下用Weblogic发布项目【一】 -- 安装Weblogic
- JavaWeb物流管理项目开发(JSP、Servlet、JDBC):3、环境搭建
- Linux环境安装卸载JDK以及安装Tomcat和发布Java的web程序
- Linux环境下用Weblogic发布项目【三】 -- 启动、登陆、停止WebLogic
- linux_ubuntu_java web 环境搭建
- Linux下JavaWeb环境搭建教程