linux部署web项目问题

本文详细介绍了在Linux环境下部署Web项目时遇到的问题及解决方案,包括配置文件修改、Vim设置行号、Tomcat的启动与日志查看、MySQL的权限设置和密码修改、 SVN部署以及Ant编译的步骤。还提到了Java项目中数据导入的编码问题以及高版本JDK导致的运行错误。

一、命令错误


出现该问题的原因是修改linux的配置文件/etc/profile时出错,不能找到系统命令。这时,可以使用绝对命令修改该配置文件,编辑成功即可正常使用------->  #/usr/bin/vim   /etc/profile

修改完成后,使用source /etc/profile 使该文件立即生效。

二、设置行号

在编辑器中为了方便定位修改,需要显示一下编辑器的当前行号,但是默认是不显示的。

1)vim命令下 :set nu    取消:set nonu

2)永久性: vim ~/.vimrc  打开该空文件,输入set nu保存即可。

三、tomcat问题

1)关闭与启动命令:/usr/local/tomcat/bin  即在tomcat安装目录下的bin文件夹中的shutdown.sh 与startup.sh  验证命令ps -ef |grep java

2)查看实时日志: /usr/local/tomcat/logs   tail -f catalina.out

四、mysql问题

1)修改登录密码:UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';  newpass为新密码

2)开放权限:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'some_pass' WITH GRANT OPTION;允许任何ip进行访问

3)但是发现本地linux机访问报错:java.sql.SQLException: Accessdeniedfor user 'root'@'localhost' (using password: YES)

      这时,设置本地访问:GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'IDENTIFIED BY 'some_pass' WITH GRANT OPTION; 

4)Java项目中数据导入到库中,中文乱码显示为?

     确保eclipse,mysql的编码方式相同,mysql中要精确到表甚至到字段

    另外,还要注意连接数据库时的URL

   String url="jdbc:mysql://10.134.105.155/h5game?characterEncoding=UTF-8";
    注意添加字段 characterEncoding,确保编码方式都相同。

五、svn部署

创建仓库,修改配置,创建用户名密码,导出项目---》详见http://blog.csdn.net/ROVAST/article/details/44887707?locationNum=15

六、ant编译

web项目部署完成后,修改了数据库连接的字段,重新运行发现连接字段没有改变。这是因为本地使用myeclipse是自动进行编译的,linux导出的项目部署到tomcat后,即便修改java文件,编译的.class文件也是不变的。所以应当重新上传编译好的.class文件,或是部署编译器ant

1、从http://ant.apache.org 上下载tar.gz版ant

2、复制到/usr下

3、tar -vxzf apahce-ant-1.9.2-bin.tar.gz  解压

4、chown -R yjdabc apahce-ant-1.9.2  改变权限

    chown -R :users apahce-ant-1.9.2

   chmod -R +x apahce-ant-1.9.2

5、vi /etc/profile    修改系统配置文件

    #set Ant enviroment

    export ANT_HOME=/usr/apache-ant-1.9.2

    export PATH=$PATH:$ANT_HOME/bin

6、source /etc/proifle   立刻将配置生效

7、ant -version   测试ant是否生效

然后重点是编写项目的build.xml文件。因为ant是根据target树来进行编译任务的。

<?xml version="1.0" encoding="GBK"?>
<project name="first" default="jar-all" basedir=".">
	<property name="jarName" value="first"/>
	<property name="versionMajor" value="1"/>
	<property name="versionMinor" value="0"/>
	<property name="versionType" value="Integration Build"/>
	<property name="versionNumber" value="${versionMajor}.${versionMinor}"/>

	<property name="src.dir" value="./src"/>

	<property name="build.dir" value="./WebRoot/WEB-INF/classes"/>

	<property name="lib.dir" value="./lib"/>
	<property name="conf.dir" value="./conf"/>
	<property name="reports.tests" value="./report"/>
	<property name="debug.lib.dir" value="./debug"/>

	<path id="libs.path">
		<fileset dir="${lib.dir}" includes="*.jar"/>
		<fileset dir="${debug.lib.dir}" includes="*.jar"/>
	</path>

	<target name="init" description="initialize version properties">
		<tstamp>
			<format property="TODAY" pattern="yyyyMMdd" locale="en"/>
			<format property="TODAY_STRING" pattern="MMM dd, yyyy"/>
		</tstamp>
		<property name="versionTag" value="${versionNumber}_${TODAY}"/>
		<echo message="today is ${TODAY_STRING}"/>
		<echo message="versionTag=${versionTag}"/>
	</target>

	<target name="help" depends="init">

	</target>

	<target name="clean" depends="init">
		<delete dir="${build.dir}"/>
		<delete dir="${reports.tests}"/>
		<delete dir="${debug.lib.dir}"/>
	</target>


	<!-- ####################################-->
	<!-- 创建Build时候需要的临时目录           -->
	<!-- ####################################-->
	<target name="prepare" depends="clean">
		<mkdir dir="${build.dir}"/>
		<mkdir dir="${debug.lib.dir}"/>
	</target>


	<!-- #################################### -->
	<!--  编译源代码类文件                                            -->
	<!-- #################################### -->




	<target name="compile-query" depends="prepare">
		<javac destdir="${build.dir}" source="1.5" debug="on">
			<src path="${src.dir}"/>
			<classpath refid="libs.path"/>
		</javac>
		<jar jarfile="${debug.lib.dir}/${jarName}-${versionNumber}.jar" basedir="${build.dir}"/>
	</target>

	<target name="compile-all"
			depends="
			compile-query"
			 />


	<target name="jar-all" depends="compile-all" />
	<target name="jar-query" depends="compile-query" />
	<target name="deploy" depends="compile-all">
		<delete dir="${build.dir}"/>
		<delete dir="${src.dir}"/>
		<delete dir="./doc"/>
	</target>
</project>

如上,只有<target>中打包了一个文件first-1.0.jar,如果有多个jar包的话,请注意在<target depends="">中标记打包的顺序,注意不同包间的依赖关系。

六、导入jar包

在导入jar包之后,重启resin,发现项目报错:Unsupported major.minor version 52.0

这是因为jdk版本的原因,jdk高版本编译的class文件不能在低版本的jvm虚机上运行,否则就报改错。

jdk -version  查看虚机上的jdk版本,然后重新打jar包。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值