在CentOS6.8上部署项目以及如何查看错误日志

前端之家收集整理的这篇文章主要介绍了在CentOS6.8上部署项目以及如何查看错误日志前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

现在很多项目都部署在Linux服务器上运行,现在我以虚拟机为服务器,说一下怎样部署一个项目并运行。

第一步:环境准备

1.1 安装JDK

关于JDK的安装我这里不做详细介绍,大家可以参考:http://blog.csdn.net/u012453843/article/details/52422736这篇博客进行安装

1.2 安装MysqL

关于MysqL的安装,大家可以参考:http://blog.csdn.net/u012453843/article/details/52943779这篇博客进行安装

1.3 安装tomcat

1.3.1 从官网下载tomcat安装包,也可以到:http://download.csdn.net/detail/u012453843/9665789这个地址下载

1.3.2 上传到服务器,这里我上传到我虚拟机的/root/zcms目录下了

1.3.3 解压apache-tomcat-6.0.47.tar.gz

[root@test zcms]# tar -zxvf apache-tomcat-6.0.47.tar.gz

1.3.4 解压后会有一个apache-tomcat-6.0.47文件,我们把它复制到/usr/local目录下并重命名为tomcat

[root@test zcms]# cp -r apache-tomcat-6.0.47 /usr/local/tomcat

1.3.5 设置Tomcat开机自启动,修改rc.local文件,命令行:vim/etc/rc.d/rc.local,在文件末尾加上下面三句话,当然,jdk的版本不同,你要写你jdk的版本。

exportJDK_HOME=/usr/java/jdk1.7.0_80
export JAVA_HOME=/usr/java/jdk1.7.0_80
/usr/local/tomcat/bin/startup.sh

1.3.6 为了方便的手动控制tomcat启动、关闭,我们就需要配置环境变量,让命令在任何目录下都可以执行,下面红色加粗的配置是我们需要配置的内容(JDK是我们第一步就配置好的)。

[root@test zcms]# vim /etc/profile
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
pathmunge /sbin after
fi
HOSTNAME=`/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
export HISTCONTROL=ignoreboth
else
export HISTCONTROL=ignoredups
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
# By default,we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null 2>&1
fi
fi
done
unset i
unset -f pathmunge
export JAVA_HOME=/usr/java/jdk1.7.0_80
export TOMCAT_HOME=/usr/local/tomcat
export PATH=$JAVA_HOME/bin:$TOMCAT_HOME/bin:$PATH
注意:配置完之后保存,并使用命令source /etc/profile来使配置生效
1.3.7 启动tomcat
[root@test ~]# startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.7.0_80
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar
1.3.8 关闭tomcat
[root@test ~]# shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.7.0_80
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar
1.3.9检查tomcat是否已经启动,我们使用命令jps来查看进程,如果有Bootstrap进程,说明tomcat已经启动了。如果没有这个进程,说明tomcat未启动。
[root@test ~]# jps
30436 Jps
30404 Bootstrap
第二步:部署项目
2.1 导出war包
在工程上右键,鼠标放到"Export"---->点击"WAR file",如下图所示。
接着会看到如下图所示的界面,我们选择导出的路径,然后点击"Fnish"。
2.2 上传war包到服务器,这里我先上传到我/root/zcms目录下
2.3 将tomcat的webapps目录下的文件都先删除删除所有文件使用的命令是rm -rf *
[root@test ~]# cd /usr/local/tomcat/webapps/
[root@test webapps]# ls
docs examples host-manager manager ROOT
[root@test webapps]#
rm -rf *
[root@test webapps]# ls
[root@test webapps]#已经空了
2.4 将/root/zcms目录下的ZCMS.war移动到tomcat的webapps下面
[root@test zcms]# mv ZCMS.war /usr/local/tomcat/webapps/
2.5修改tomcat的端口号,由8080修改为80,我们
[root@test zcms]# cd /usr/local/tomcat
[root@test tomcat]# ls
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[root@test tomcat]# cd conf/
[root@test conf]# ls
Catalina catalina.policy catalina.properties context.xml logging.properties server.xml tomcat-users.xml web.xml
[root@test conf]# vim server.xml
<Connector port="
80 " protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

"server.xml" 148L,6614C
2.6 由于我要在虚拟机初始化数据库tomcat默认的jvm内存只有128M,太小了,我们需要修改它为256M,如下所示。
[root@test bin]# ls
bootstrap.jar commons-daemon.jar digest.bat shutdown.bat tomcat-juli.jar version.bat
catalina.bat commons-daemon-native.tar.gz digest.sh shutdown.sh tomcat-native.tar.gz version.sh
catalina.sh cpappend.bat setclasspath.bat startup.bat tool-wrapper.bat
catalina-tasks.xml daemon.sh setclasspath.sh startup.sh tool-wrapper.sh
[root@test bin]# vim catalina.sh
# implementation when JSSE is used. Default is:
# "-Djdk.tls.ephemeralDHKeySize=2048"
#
# CATALINA_PID (Optional) Path of the file which should contains the pid
# of catalina startup java process,when start (fork) is used
#
# LOGGING_CONFIG (Optional) Override Tomcat's logging config file
# Example (all one line)
# LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
#
# LOGGING_MANAGER (Optional) Override Tomcat's logging manager
# Example (all one line)
# LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
#
# USE_NOHUP (Optional) If set to the string true the start command will
# use nohup so that the Tomcat process will ignore any hangup
# signals. Default is "false" unless running on HP-UX in which
# case the default is "true"
# -----------------------------------------------------------------------------
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"
cygwin=false
2.7 MysqL数据库的表名在Linux系统下是严格区分大小写的,在Windows系统下开发的程序移植到Linux系统下,如果程序中sql语句没有严格按照大小写访问数据库表,就可能会出现找不到表的错误。还有个问题就是如果不指定编码字符集的话,可能会乱码
上面两个问题的解决方法是在/etc/my.cnf文件添加lower_case_table_names=1和default-character-set=utf8这样两句话。注意放的位置是在[MysqLd]下面。如下所示。
[root@test bin]# vim /etc/my.cnf
[MysqLd]
datadir=/var/lib/MysqL
socket=/var/lib/MysqL/MysqL.sock
user=MysqL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
lower_case_table_names=1
default-character-set=utf8
[MysqLd_safe]
log-error=/var/log/MysqLd.log
pid-file=/var/run/MysqLd/MysqLd.pid
第三步:启动我们的项目
3.1 重启MysqL
重启MysqL的命令是:service MysqLd restart,如下所示。
[root@test ~]# service MysqLd restart
Stopping MysqLd: [ OK ]
Starting MysqLd: [ OK ]
[root@test ~]#
3.2 重新启动tomcat,先使用命令shutdown.sh关闭tomcat,然后使用命令startup.sh来启动tomcat,如下所示。
[root@test ~]# shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.7.0_80
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar
[root@test ~]#
[root@test ~]# startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.7.0_80
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar
第四步:浏览我们的项目,刚才我打包的名称是ZCMS,因此访问的时候地址栏输入的是:localhost:80/ZCMS,刚开始会初始化数据库,初始化完之后,再刷新页面,就会看到如下图所示的界面了。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
那么如果我们的程序在虚拟机中运行出现错误了,我们怎么定位问题呢?我们需要到tomcat的logs目录下去查看,如下所示,我们可以看到我程序运行的一个错误是把Windows系统下的目录拿到Linux环境下运行了,肯定会出错的!!知道了错误,再对症下药,就快多了。

[root@test logs]# ls
catalina.2016-10-27.log catalina.out host-manager.2016-10-27.log localhost.2016-10-27.log manager.2016-10-27.log
[root@test logs]# more catalina.out
ERROR: 16-10-27 04:58:50 java.io.FileNotFoundException: d:/2010.xlsx (No such file or directory)
ERROR: 16-10-27 04:58:50 at java.io.FileOutputStream.open(Native Method)
ERROR: 16-10-27 04:58:50 at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
ERROR: 16-10-27 04:58:50 at java.io.FileOutputStream.<init>(FileOutputStream.java:110)
这是到日志文件中去查看日志,我们还可以像在Eclipse的控制台一样实时查看系统运行信息,具体步骤是我们先进入到tomcat的logs目录下,然后输入命令:tail -f catalina.out并回车,就开始事实查看系统运行信息了,如下所示。如果想结束事实查看信息,按Ctrl+C就可以退出实时模式了。
[root@test tomcat]# ls
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[root@test tomcat]# cd logs/
[root@test logs]# tail -f catalina.out 完成:0% 完成:0% 完成:0% 完成:0% 完成:0% 完成:0% 完成:0% 完成:0% 完成:0% URL /platform/environmentalTest.zhtml cost 242ms. INFO: 16-10-27 05:28:03 ZCMS Compile application.zhtml cost 10 ms. URL /application.zhtml cost 260ms. INFO: 16-10-27 05:28:05 ZCMS Compile platform/systemInfo.zhtml cost 30 ms. INFO: 16-10-27 05:28:11 ZCMS Compile platform/environmentalTest.zhtml cost 1 ms.
原文链接:https://www.f2er.com/centos/380184.html

猜你在找的CentOS相关文章