项目是采用SSH框架+MySQL5.5+Tomcat7.0开发的之前项目在Windows Server 2008上运行好好的,后来发现被人黑了,被别人装了流量矿石,后来直接篡改页面,做广告。
Linux版本是:Ubuntu 12.04.4 LTS 64位、JDK版本:jdk-7u55-linux-x64.tar.gz
1.安装配置 JDK(我采用的非OpenJDK,自带的OPENJDK安装后不完整)
1.1、下载JDK
下载地址 http://www.Oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,选择Linux X64 jdk-7u55-linux-x64.tar.gz
1.2、解压缩安装
sudo tar xzvf jdk-7u55-linux-x64.tar.gz -C /usr/lib/jvm
cd /usr/lib/jvm
sudo mv jdk1.7.0_55/ java-7-sun/
-C 指定解压路径
注意:如果系统中没有装其他版本的JDK,JVM目录不存在,则需要先建立之。
sudo mkdir /usr/lib/jvm
1.3、设置环境变量,主要是PATH、CLASSPATH和JAVA_HOME,注意PATH最后所添加的bin目录
sudo vi /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-7-sun/bin"
CLASSPATH="/usr/lib/jvm/java-7-sun/lib"
JAVA_HOME="/usr/lib/jvm/java-7-sun"
1.4、配置默认JDK版本
由于ubuntu中可能会有默认的JDK,如openjdk,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。
执行代码:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300 (一开始我是安装OPENJDK的,可是这句执行出错,我一查看,<span style="font-family: Tahoma; ">/usr/lib/jvm/java-7-sun/bin/下根本木有Javac,所以自己又下了一个)</span>
sudo update-alternatives --config java
系统会列出各种JDK版本,如下所示:
sudo update-alternatives --config java
有 3 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 手动模式
3 /usr/lib/jvm/java-7-sun/bin/java 300 手动模式 (我只装了一个,只显示第三个)
要维持当前值[*]请按回车键,或者键入选择的编号:3
update-alternatives: 使用 /usr/lib/jvm/java-7-sun/bin/java 来提供 /usr/bin/java (java),于 手动模式中。
1.5、测试
java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
2.配置Tomcat7
2.1.下载安装tomcat(http://tomcat.apache.org/)
选择Ubuntu Linux适用版本,即apache-tomcat-7.0.39.tar.gz文件,
2.2复制安装文件到/usr/local/目录下面,在控制台console输入命令,
sudo tar -zxvf apache-tomcat-7.0.39.tar.gz,
将安装包解压至apache-tomcat-7.0.39目录下
进入该目录下的bin目录,然后执行以下:
#vi catalina.sh
添加以下内容:
CATALINA_HOME=/usr/local/apache-tomcat-7.0.39/
#chmod +x *.sh
2.3启动tomcat服务器
# sudo ./startup.sh
2.4.在浏览器中输入
http://localhost:8080/(如果不是本机,则输入对应的ip地址)
测试出现tomcat页面则测试成功
3.MYSQL5.5数据库的配置
3.1 安装
sudo apt-get install mysql-server
执行中要求输入root用户密码
3.2 如果是外部IP访问Linux下的数据库还要授权
3.2.1设置mysql 的配置文件(/etc/mysql/my.cnf)
vi /etc/mysql/my.cnf
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql restart; 或sudo service mysql restart
3.2.2:进入mysql 数据库
mysql -u root -p
mysql>grant all privileges on *.* to root@'%' identified by 'xxxx';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%’:表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx’为root 用户的password;
这样外部IP就可以访问Linux下的MYSQL数据库了。
3.3 数据库乱码问题
由于是要把从windows的MYSQL导出的数据再导入Linux下的MYSQL所以,免不了要出现乱码问题。解决方案如下:(我们统一采用UTF-8)
3.3.1 从windows的MYSQL导出的数据
mysqldump -u root -p --default-character-set=utf8 数据库名>d:/mydb.sql
3.3.2 设置Linux下mysql下数据编码
在/etc/mysql/my.cnf文件中
在[client]下添加default-character-set=utf8
在[mysqld]下添加
character-set-server=utf8
collation-server=utf8_general_ci
lower_case_table_names=1 //这里1是表示不区分大小写,0表示区分大小写
//这个相当重要啊!!!因为用的Hibernate表结构自动生成的,windows下mysql数据库默认表名不区分大小写,无论你在*.hbm.xml配置的表名是啥,一律变小写;而在Linux下mysql数据库默认表名是区分大小写的,一定得统一起来,不然数据库虽然连上了但是数据获取不到。
PS:MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。
在[mysql]下添加
default-character-set=gbk //使得你在Linux下mysql客户端查看数据时屏幕显示不乱码
更改完上述步骤后,重启mysql:sudo service mysql restart
如果修改错误,怎么也启动不了可以还原回去,或是直接卸载重装:
防止原有数据影响后续的安装和调试
1 sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (非常重要)
3.3.3 导入数据到Linux下的mysql
首先的先创建mydb数据库:
CREATE DATABASE `mydb` DEFAULT CHARACTER SET utf8 ;
导入:mysql -u root -p --default-character-set=utf8 mydb</home/user1/mydb.sql
或是在mysql命令行模式下:source /home/user1/mydb.sql;
这样就可以了,开始运行Tomcat使用吧!