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

来源:互联网 发布:网络销售红酒骗局 编辑:程序博客网 时间:2024/06/06 06:56

      现在很多项目都部署在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的版本。

        export JDK_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.

0 0
原创粉丝点击