3、将Tomcat加入service(作用时使得tomcat开机自启,该步骤不想tomcat开机自启的话可以跳过)
进入/usr/local/tomcat/bin目录下:
[root@CentOS64 ~ ]#cd /usr/local/tomcat/bin
把catalina.sh复制到/etc/init.d下
[root@CentOS64 bin]#cp catalina.sh /etc/init.d
进入/etc/init.d,重命名catalina.sh为tomcat
[root@CentOS64 bin]#cd /etc/init.d
[root@CentOS64 init.d]#mv catalina.sh tomcat
进入tomcat
[root@CentOS64 init.d]#vim tomcat
在#!/bin/sh下添加两行内容:
在 #OS。。。。上方添加两行内容:
保存并退出
给tomcat增加可执行权限
[root@CentOS64 init.d]#chmod +x tomcat
配置环境变量:
[root@CentOS64 init.d]#vim /etc/profile
添加如下内容:
保存并退出
使更改生效
[root@CentOS64 init.d]#source /etc/profile
添加tomcat到service list
[root@CentOS64 init.d]#chkconfig --add tomcat
查看service list
[root@CentOS64 init.d]#chkconfig --list tomcat,可以看到tomcat已启用:
0~6是系统的7中模式,主要关注3和5,3,5开启就代表系统开机后tomcat会自启动,3是系统的字符界面,5是系统的图形界面
启动Tomcat:
[root@CentOS64 init.d]#service tomcat start
4、设置防火墙8080端口
打开防火墙配置文件:
[root@CentOS64 ~ ]#vim /etc/sysconfig/iptables
增加代码: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
保存并退出,重启防火墙:
[root@CentOS64 ~ ]#service iptables restart
注意:这里向文件中加入 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT再重启iptables可能会报错;写成上图中黑色的形式虽然重启iptables不会报错,但是8080端口打开失败,tomcat访问不到。
iptables:将链设置为政策ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
iptables:应用防火墙规则:ptables-restore:line 13 failed [失败]
解决办法:
[root@localhost~]#iptables -N RH-Firewall-1-INPUT
[root@localhost~]# service iptables save
[root@localhost~]#vim /etc/sysconfig/iptables
编辑/etc/sysconfig/iptables,添加 -ARH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
再启动iptables:[root@localhost~]# service iptables restart
5、到此Tomcat配置安装完成,检验是否成功,在Windows系统的浏览器上输入网址:
http://192.168.128.110:8080/ 192.168.128.110为虚拟机IP
如果看到Tomcat系统界面,说明安装配置成功。
6、关闭tomcat命令
[root@CentOS64 ~ ]#service tomcat stop
四、配置Redis
软件:redis-2.6.16.tar.gz
把软件安装包放到/usr/local下,可用FileZilla工具
1、解压Redis包
[root@CentOS64 ~ ]#cd /usr/local
[root@CentOS64 local]#tar zxvf redis-2.6.16.tar.gz
解压后用ls命令查看,local下出现新的目录:redis-2.6.16
2、编译源码
进入目录 redis-2.6.16/src
[root@CentOS64 ~ ]#cd /usr/local/redis-2.6.16/src
编译源码:
[root@CentOS64 redis-2.6.16 ]#make
如果此时报错,输入命令:make MALLOC=libc看是否可以
这里还可能会报以下错误:
(1)没有gcc,需要安装gcc,gcc有很多依赖,因此下面的这些都过一遍,没装过的会安装,已经有的会提示已安装:
[root@CentOS64 ~ ]#yum install cpp
[root@CentOS64 ~ ]#yum install binutils
[root@CentOS64 ~ ]#yum install glibc
[root@CentOS64 ~ ]#yum install glibc-kernheaders
[root@CentOS64 ~ ]#yum install glibc-common
[root@CentOS64 ~ ]#yum install glibc-devel
[root@CentOS64 ~ ]#yum install gcc
[root@CentOS64 ~ ]#yum install make
yum的过程中可能报错:Couldn't resolve host 'mirrorlist.centos.org'
原因是dns没有配置正确,解决办法:
打开/etc/resolv.conf,添加:
nameserver 8.8.8.8
nameserver 8.8.4.4
search localdomain
保存并退出,然后重启网卡service network restart,再次执行yum...命令进行安装。
再次yum的过程中可能会出现错误Another app is currently holding the yum ....
解决办法:输入命令:rm -f /var/run/yum.pid
/sbin/service yum-updatesd restart
再重新执行yum相关安装命令就没问题了。
3、校验编译是否正确:make test
(1)此时可能报错:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2
解决办法:先敲命令:make MALLOC=libc,然后再敲命令make test
解决办法出处:http://www.phperz.com/article/14/1219/42002.html
(2)此时可能报错:没有tcl8.5,需要安装tcl8.5
将下载的安装包放到/usr/local目录下
解压压缩包,解压后local目录下多出目录tcl8.5.10
[root@CentOS64 local]#tar -zxvf tcl8.5.10-src.tar.gz
进入目录:
[root@CentOS64 local]#cd /tcl8.5.10/unix
[root@CentOS64 unix ]#./configure //预编译
[root@CentOS64 unix ]make // 编译
[root@CentOS64 unix ]make install //安装
4、报错都解决后,重新make命令编译Redis源码,注意要回到redis的src目录下输入以下命令
校验编译是否正确:make test
5、 安装:输入命令make install
6、输入命令:redis-server --version查看版本信息,如果现实Redis版本信息,则Redis安装成功。
五、部署web项目
经过上面的步骤,已经准备好了部署项目的环境,可以尝试部署项目了:
1、打开MyEclipse选择任意web项目,鼠标选中项目右键单击-->Export-->Java EE-->WAR file-->Next-->选择war包存放路径-->finish
2、找到导出的war包,放到linux系统的/usr/local/tomcat/webapps下,可采用FileZilla工具
3、启动tomcat,启动的同时会自动解压war包。
4、启动Redis(可选):进入到Redis的src目录下
[root@CentOS64 ~ ]#cd /usr/local/redis-2.6.16/src
[root@CentOS64 src]#redis-server
5、在浏览器输入网址:http://192.168.128.110:8080/ 这时可能会页面一直等待,访问不了。
6、如果访问不了:首先是检查防火墙是否开了8080端口,具体配置见上文,确定防火墙配置没问题,进行下一步。
7、关闭Tomcat,重新启动Tomcat
[root@CentOS64 ~ ]#service tomcat stop
[root@CentOS64 ~ ]#service tomcat start
查看日志:
[root@CentOS64 ~ ]#cd /usr/local/tomcat/logs
[root@CentOS64 logs]#tail -f catalina.out
看启动是否报错,报什么错,对应解决,我遇到的问题如下:
(1) 错误信息: name or service not known
这是由于/etc/sysconfig/network和/etc/hosts文件中的主机名不对应
打开/etc/sysconfig/network文件,查看主机名:这里主机名为CentOS64
root@CentOS64 ~ ]#vim /etc/sysconfig/network
打开/etc/hosts文件,增加一行127.0.0.1 主机名,并保存退出:
重新启动Tomcat,并查看日志
(2)错误信息:Address already in use<null>:8080
原因:端口号被占用
解决:查看占用端口号的进程netstat -apn | grep 端口号,下图标红部分为占用端口号的进程ID
[root@CentOS64 ~ ]# netstat -apn | grep 8080
杀掉进程:kill -9 进程id
[root@CentOS64 ~ ]#kill -9 2105
重新启动Tomcat,并查看日志
8、如果tomcat启动日志没有错误了,应该可以访问了,访问地址http://虚拟机Ip:8080/项目名称 ,大功告成。