centos 安装tomcat
安装说明
安装环境:CentOS-6.3
安装方式:源码安装
软件:apache-tomcat-7.0.29.tar.gz
下载地址:http://tomcat.apache.org/download-70.cgi
安装前提
系统必须已安装配置JDK6+,安装请参考:在CentOS-6.3中安装与配置JDK-7。
安装JDK--YUM方式安装
查看CentOS自带JDK是否已安装。
◆输入:yum list installed |grep java。
若有自带安装的JDK,如何卸载CentOS系统自带Java环境?
◆卸载JDK相关文件输入:yum -y remove java-1.7.0-openjdk*。
◆卸载tzdata-java输入:yum -y remove tzdata-java.noarch。
当结果显示为Complete!即卸载完毕。
注:“*”表示卸载掉java 1.7.0的所有openjdk相关文件。
检查CentOS系统网络连接是否正常。
◆使用yum方式安装需要连接网络下载Java相应安装文件,故此需要使用ping命令测试网络;
查看yum库中的Java安装包。
◆输入:yum -y list java* 。
使用yum安装Java环境。
◆输入:yum -y install java-1.7.0-openjdk* ,以yum库中java-1.7.0为例。
当结果显示为Complete!即安装完毕。
注:“*”表示将java-1.7.0的所有相关Java程序都安装上。
查看刚安装的Java版本信息。
◆输入:java -version 可查看Java版本;
◆输入:javac 可查看Java的编译器命令用法(可略)。
安装tomcat
将apache-tomcat-7.0.29.tar.gz文件上传到/usr/local中执行以下操作:
[root@admin local]# cd /usr/local
[root@admin local]# tar -zxv -f apache-tomcat-7.0.29.tar.gz // 解压压缩包
[root@admin local]# rm -rf apache-tomcat-7.0.29.tar.gz // 删除压缩包
[root@admin local]# mv apache-tomcat-7.0.29 tomcat
启动Tomcat
执行以下操作:
[root@admin ~]# /usr/local/tomcat/bin/startup.sh //启动tomcat
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/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
出现以上信息说明已成功启动。
防火墙开放8080端口
增加8080端口到防火墙配置中,执行以下操作:
[root@admin ~]# vi + /etc/sysconfig/iptables
#增加以下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重启防火墙
[root@admin java]# service iptables restart
检验Tomcat安装运行
通过以下地址查看tomcat是否运行正常:
http://192.168.15.231:8080/
看到tomcat系统界面,说明安装成功!
停止Tomcat
[root@admin ~]# /usr/local/tomcat/bin/shutdown.sh //停止tomcat
centos 安装memcached
工作原理:
①客户端第一次访问应用程序时,会到数据库(RDBMS)中取出数据,返回给客户端;同时也将取出的数据保存到memcached中。
② 第二次访问时,因为数据已经缓存,不不用去数据库查询了,直接从memcached取。
那么memcached的快速和高效率是如何体现出来的呢?我们都清楚,RDBMS是文件型的数据库,最终还是以文件的形式保存在磁盘上。而memcached则不一样,它是key:value关系型的数据库,是保存在内存中的。那么就不用我再做说明了,内存的读写速度要比磁盘的读写速度快得多,前者是后者的10的6次方倍。http://blog.rekfan.com/?p=172
③memcached是基于libevent的事件处理。libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。 memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。关于事件处理这里就不再详细介绍,可以参考Dan Kegel的The C10K Problem。欲了解更更多关于libevent:http://monkey.org/~provos/libevent/
安装Memcached步骤:
1.编译安装Libevent
- cd ~
- wget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
- tar -zxvf libevent-1.4.14b-stable.tar.gz
- cd libevent-1.4.14b-stable.tar.gz
- ./configure --prefix=/usr/local/libevent/
- make
- make install
- ln -s /usr/local/libevent/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2
2.安装Memcache
- cd ~
- wget http://www.memcached.org/files/memcached-1.4.22.tar.gz
- tar -zxvf memcached-1.4.22.tar.gz
- cd memcached-1.4.22
- ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
- make
- make install
3.编写memcached服务启停脚本
- # cd /etc/init.d
- vi memcached
脚本内容如下:
- #!/bin/sh
- #
- # Startup script for the server of memcached
- #http://blog.rekfan.com/?p=172
- # processname: memcached
- # pidfile: /usr/local/memcached/memcached.pid
- # logfile: /usr/local/memcached/memcached_log.txt
- # memcached_home: /etc/memcached
- # chkconfig: 35 21 79
- # description: Start and stop memcached Service
- # Source function library
- . /etc/rc.d/init.d/functions
- RETVAL=0
- prog="memcached"
- basedir=/usr/local/memcached
- cmd=${basedir}/bin/memcached
- pidfile="$basedir/${prog}.pid"
- #logfile="$basedir/memcached_log.txt"
- # 设置memcached启动参数
- ipaddr="192.168.1.101" # 绑定侦听的IP地址
- port="11211" # 服务端口
- username="root" # 运行程序的用户身份
- max_memory=64 # default: 64M | 最大使用内存
- max_simul_conn=1024 # default: 1024 | 最大同时连接数
- #maxcon=51200
- #growth_factor=1.3 # default: 1.25 | 块大小增长因子
- #thread_num=6 # default: 4
- #verbose="-vv" # 查看详细启动信息
- #bind_protocol=binary # ascii, binary, or auto (default)
- start() {
- echo -n $"Starting service: $prog"
- $cmd -d -m $max_memory -u $username -l $ipaddr -p $port -c $max_simul_conn -P $pidfile
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
- }
- stop() {
- echo -n $"Stopping service: $prog "
- run_user=`whoami`
- pidlist=`ps -ef | grep $run_user | grep memcached | grep -v grep | awk '{print($2)}'`
- for pid in $pidlist
- do
- # echo "pid=$pid"
- kill -9 $pid
- if [ $? -ne 0 ]; then
- return 1
- fi
- done
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
- }
- # See how we were called.
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- #reload)
- # reload
- # ;;
- restart)
- stop
- start
- ;;
- #condrestart)
- # if [ -f /var/lock/subsys/$prog ]; then
- # stop
- # start
- # fi
- # ;;
- status)
- status memcached
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status}"
- exit 1
- esac
- exit $RETVAL
4.设置脚本可被执行:
- # chmod +x memcached
- # chkconfig --add memcached
- # chkconfig --level 35 memcached on
5.设置防火墙
- vi /etc/sysconfig/iptables
将下面这行加入进去
- -A RH-Firewall-l-INPUT -p tcp -m tcp --dport 11211 -j ACCEPT
注:将memcached加入到防火墙允许访问规则中
- service iptables restart
注:防火墙重启
6.启动memcached
- # service memcached start
//启动的时候实际上是调用了下面的这个命令,以守护进程的方式来启动memcached
- /usr/local/memcached/bin/memcached -d -m 64 -u root -l 192.168.1.101
- -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid
7.查看memcached是否启动:
- # ps -ef | grep memcached
8.memcached命令参数解释
CentOS 6.4下编译安装MySQL 5.6.14
概述:
CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14。
正文:
一:卸载旧版本
使用下面的命令检查是否安装有MySQL Server
rpm -qa | grep mysql
有的话通过下面的命令来卸载掉
rpm -e mysql //普通删除模式 rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
二:安装MySQL
安装编译代码需要的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
下载MySQL 5.6.14
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz tar xvf mysql-5.6.14.tar.gz cd mysql-5.6.14
编译安装
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci make && make install
编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html。
整个过程需要30分钟左右……漫长的等待
三:配置MySQL
设置权限
使用下面的命令查看是否有mysql用户及用户组
cat /etc/passwd 查看用户列表 cat /etc/group 查看用户组列表
如果没有就创建
groupadd mysql useradd -g mysql mysql
修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql
初始化配置
进入安装路径
cd /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。
启动MySQL
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cp support-files/mysql.server /etc/init.d/mysql chkconfig mysql on service mysql start --启动MySQL
配置用户
MySQL启动成功后,root默认没有密码,我们需要设置root密码。
设置之前,我们需要先设置PATH,要不不能直接调用mysql
修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH export PATH
关闭文件,运行下面的命令,让配置立即生效
source /etc/profile
现在,我们可以在终端内直接输入mysql进入,mysql的环境了
执行下面的命令修改root密码
mysql -uroot mysql> SET PASSWORD = PASSWORD('123456');
若要设置root用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
红色的password为远程访问时,root用户的密码,可以和本地不同。
配置防火墙
防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口
打开/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
service iptables restart
OK,一切配置完毕,你可以访问你的MySQL了~
------------------------------------------------------------------------------------------------------------------
2014年12月02日添加:
CentOS 7中默认使用Firewalld做防火墙,所以修改iptables后,在重启系统后,根本不管用。
Firewalld中添加端口方法如下:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload