本文记录了centos安装完成后java、tomcat部署和自启动、以及针对olds网站系统 mysql 数据库的修改,红色部分为实际操作的过程。
初始条件:centos安装完成(x86桌面版本5.5),mysql安装完成。
基本知识:会使用centos终端(下文命令中最前面的#符号是默认的终端命令行提示符,不需要实际输入)。
一、JAVA安装
1. centos自带了OPENJDK,一般不用这个,需要卸载。
用命令java -version 查看java版本,会有下面的信息:
javaversion "1.6.0"
OpenJDK Runtime Environment (build1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
然后用命令rpm -qa | grep java查看安装包
显示如下信息:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
卸载:
rpm -e--nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
注意上面el5中间是字母l,不是数字1
还有一些其他的命令
rpm-qa | grep gcj
rpm-qa | grep jdk
如果出现找不到openjdksource的话,那么还可以这样卸载
yum -y remove javajava-1.4.2-gcj-compat-1.4.2.0-40jpp.115
yum -y remove javajava-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
2. 将下载下来的java bin安装文件(我的是jdk-6u45- linux -i586-rpm.bin)拷贝到需要的地方,我放到了/usr/java里。
桌面环境里双击就会自动解压。
命令行环境里输入
# chmod 777jdk-1_5_0_14-linux-i586-rpm.bin
# ./jdk-1_5_0_14- linux -i586-rpm.bin
安装完毕后会在当前目录生成多个文件和一个目录、两个快捷方式,我们只关注那个目录就可以,我的是/jdk1.6.0_45
3. 配置环境变量
桌面环境里进入到/etc目录,然后双击profile文件,会自动用编辑器gedit打开,在文件最后添加如下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
命令行环境则输入以下命令,然后同样添加上面的3行内容。
# vi /etc/profile
然后使配置生效,在命令行输入以下内容:
# source /etc/profile
成功的话用java -version命令可以看到如下内容:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java Hotspot(TM) Server VM (build 20.45-b01,mixed mode)
二、tomcat安装
1. 我下载的版本是apache-tomcat-7.0.61.tar.gz,在桌面环境里可以直接双击打开(和windows里的解压缩类似),将里面的文件夹放到需要的目录,我放到了/usr里。
主文件夹(apache-tomcat-7.0.61)里有一些文件夹比如bin,但还要自己建一个logs文件夹,不然会报无法碰触的错误。
2. 为tomcat服务添加防火墙记录以方便外网访问。
tomcat默认的端口是8080,所以要把8080端口添加到防火墙例外。
桌面环境下进入到/etc/sysconfig目录,双击iptables用编辑器打开,添加一条记录
-A RH-Firewall-l-INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
这条写的和网上其他资料不一致,因为网上资料在我的电脑上不成功。加在文件最后可能会有问题,但不确定,我放在了其他类似记录一起。
命令行环境则输入# vi + /etc/sysconfig/iptables再添加记录。
在终端输入# service iptables restart以重启防火墙。
3. 现在就可以手动启动tomcat了,桌面环境下进入到/usr/apache-tomcat-7.0.61/bin目录,然后双击startup.sh,在弹出界面点击运行。等一段时间后就可以通过localhost:8080访问网站了。正常的话出现tomcat标志性的猫。
如果在第一步里没有建logs目录,那么网站就不能成功访问,但桌面环境下tomcat是不会报错的。如果用命令行启动tomcat则可以看到报错内容。
命令行环境输入# /usr/apache-tomcat-7.0.61/bin/startup.sh启动tomcat。
4.将tomcat服务添加到自启动列表,这样在服务器重启时就不需要手动去启动startup.sh了
这一功能网上有多种实现方式,我没有一一尝试,下面的方法是自己实践出来可以在我的环境中工作的。全部操作都在桌面下进行。
首先打开/etc/init.d目录,随便复制一个存在的文件,再重命名为tomcat,用文本编辑器打开,删掉原有内容。
将下面的内容拷贝进去并根据实际情况修改prog的名称,JAVA_HOME和TOMCAT_HOME的路径,这里的TOMCAT_HOME是可以自己取名的。
-
#!/bin/bash
-
#
-
# tomcat startup script for the Tomcat server
-
#
-
# chkconfig: 345 80 20
-
# description: start the tomcat deamon
-
#
-
# Source function library
-
. /etc/rc.d/init.d/functions
-
-
prog=tomcat
-
JAVA_HOME=/usr/java/jdk1.6.0_45
-
export JAVA_HOME
-
TOMCAT_HOME=/usr/apache-tomcat-7.0.61
-
export TOMCAT_HOME
-
-
case "$1" in
-
start)
-
echo "Starting Tomcat..."
-
$TOMCAT_HOME/bin/startup.sh
-
;;
-
-
stop)
-
echo "Stopping Tomcat..."
-
$CATALANA_HOME/bin/shutdown.sh
-
;;
-
-
restart)
-
echo "Stopping Tomcat..."
-
$TOMCAT_HOME/bin/shutdown.sh
-
sleep 2
-
echo
-
echo "Starting Tomcat..."
-
$TOMCAT_HOME/bin/startup.sh
-
;;
-
-
*)
-
echo "Usage: $prog {start|stop|restart}"
-
;;
-
esac
-
exit 0
然后在centos顶部的菜单里依次选择系统-管理-服务,出现服务配置窗口,可以看到左边列出了已经存在的服务,再点击菜单行动-添加服务,在弹出的对话框中输入tomcat(这是在上面文件中定义的,如果你有多个tomcat服务,可以取名为tomcat1,tomcat2等等),确定就可以了。
如果没什么意外,下次服务器重启的时候tomcat就会自己启动了。
三、mysql数据库修改
1. 进入mysql命令行
启动终端,输入# mysql -u root -p,根据提示输入密码再回车,终端的提示符就会变成 mysql>,表示已经进入了mysql的命令行模式。
2. 为某个表添加一个字段
mysql> show databases;
mysql> use olds_20140731;
mysql> show tables;
mysql> alter table cgq_tb add column ip varchar(255);
3. 为某个表里的3个字段添加索引
mysql> alter table gongtudata add index index1 (jh);
mysql> alter table gongtudata add index index2 (csrq);
mysql> alter table gongtudata add index index3 (cssj);
4. 修改mysql的编码为utf8
由于某些情况下会出现中文乱码,所以将mysql的服务端、客户端、连接等统一设为utf8.
首先用如下命令查看mysql的编码
mysql> show variables like 'character%';
可能会是这样的结果:
+---------------------------+--------------------------------------------------------+
| Variable_name | Value |
+---------------------------+--------------------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | latin1 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+---------------------------------------------------------+
可以看到很多设置都是拉丁,我们需要全部改为utf8.打开/etc/my.cnf文件,进行修改,修改后如下:
[mysqld]
default-character-set = utf8 #新增
character_set_server=utf8 #新增
init_connect='SET NAMES utf8'
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
default-character-set = utf8 #新增
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set = utf8 #新增
[mysql.server]
default-character-set = utf8 #新增
[mysql]
default-character-set = utf8 #新增
然后保存关闭,使用命令#service mysqld restart重新启动mysql即可。