CentOS下JAVA WEB 环境搭建
首先介绍下我的软件环境。虚拟机Vmware9.0(已经汉化),CentOS6.4(选择安装语言为简体中文),xshell4.0(强大的安全终端模拟软件),xftp4.0(FTP工具)。
方便大家环境搭建,提供软件的下载地址
VMware: VMware Workstation 9 for Windows https://my.vmware.com/cn/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation/9_0
CentOS6.5:请下载CentOS-6.5-i386-bin-DVD1.iso 只要下载DVD1就可以了。http://mirrors.btte.net/centos/6.5/isos/i386/
xshell:http://yunpan.cn/Q4QY6Dj4H9Mwj
xftp:http://yunpan.cn/Q4QrCZQuYbIqi
CentOS安装过程参考了 传智播客 邹华栋老师的文档。下边给出文档的下载链接
http://yunpan.cn/Q4Qq2HTt2U8Ts
http://yunpan.cn/Q4Qq8kkG9AZit
xshell 和 xftp的使用大家可以google一下,比较简单易用。接下来开始我们今天的重点。
一、JDK配置
用xshell连接上vmware中的centos如图1
图1
输入java –version 查看本机是否安装了jdk,我虚拟机中没有安装,如果安装了可能会显示类似下边的字样:
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.) (rhel-1.45.1.11..el6-x86_64)
OpenJDK -Bit Server VM (build 20.0-b12, mixed mode)
输入 rpm -qa |grep java 查看具体的jdk信息,这时我们最好卸载掉系统自带的JDK,使用Sun的JDK,毕竟我们做开发一般是基于Sun JDK标准的。 卸载方法大家google一下。
然后下载JDK7 jdk-7u51-linux-i586.rpm 我的系统是32位的,大家下载时注意版本。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
利用xftp上传到centos /usr/software目录下
图2
然后输入以下指令如图3(我是用超级帐户root连接CnetOS的,相当于管理员在操作,要是普通用户的话,命令前面加上sudo)
rpm -ivh jdk-7u51-linux-i586.rpm
图3
执行完此代码输入java –version 试试,如图4
图4
这时JDK7默认安装在了/usr/java目录下
接下来配置环境变量输入以下命令:
vim /etc/profile
图5
一直按方向键下,点击下键盘的字母i,开始输入,在文件的末尾添加以下代码:
export JAVA_HOME=/usr/java/jdk1..0_51 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
然后按ESC键,输入 :wq 回车,这时就退出保存了。具体这几个命令的含义,大家可以google查Linux vi 命令详解。接下来写一个hello world测试一下。
图6
接下来编译运行 hello.java:
图7
恭喜您!这里JDK没问题了。
二、Tomcat
先下载Tomcat,这次通过以下命令下载:
然后等待会自动下载当当前目录下。下载完毕后依次输入以下命令:
tar -zxvf apache-tomcat-7.0..tar.gz
mv apache-tomcat-7.0. /usr/local/tomcat cd /usr/local/tomcat/bin
bash startup.sh //直接输入startup.sh 报 –bash错误的话,在命令前面加上bash
测试Tomcat启动可以用以下代码,wget http:localhost:8080/
然后就会把Tomcat首页下载下来,用 vim index.html查看内容。这个方法比较土。同样,关闭Tomcat服务器用指令 bash shutdown.sh 。需要注意的是这个指令必须对应的目录下才有效。
三、编译安装MySql
CentOS在安装时,基本上都默认集成安装了MySql,通过以下命令查看系统是否安装MySql。
rpm -qa | grep mysql
然后会显示如图8
图8
如果出现类似图8中的mysql信息,说明系统集成了MySql,接着通过以下命令卸载集成的MySql。
rpm -e mysql //普通删除 rpm -e --nodeps mysql //强制删除,只有在上边的命令输入后提示依赖其它文件,才输入这个命令
图9
接下来通过xftp上传mysql-5.6.14.tar.gz到CentOS的目录下。mysql下载链接为:http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
图10
解压并且进到mysql根目录编译安装,编译用到的工具是Cmake-2.8.8 http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
如果系统中没有安装的话需要安装一下,我的系统正好没有安装,先安装Cmake
只需要四个命令:
cd cmake-2.8. //进入根目录中 ./bootstrap // 第一个命令
gmake//第二个命令
gmake install//第三个命令
最后用 cmake –version来检查是否安装成功
图11
然后进到mysql的根目录下输入下边的命令进行编译,这个是一行命令,中间不能加回车换行
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE= -DWITH_INNOBASE_STORAGE_ENGINE= -DWITH_MEMORY_STORAGE_ENGINE= -DWITH_READLINE= -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT= -DENABLED_LOCAL_INFILE= -DWITH_PARTITION_STORAGE_ENGINE= -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
这时可能会报以下错误
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake: (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
很明显缺少包,因此CentOS下需要安装 ncurses-devel,通过以下命令安装
yum install ncurses-devel
或者直接下载ncurses-devel rpm包进行安装。这里省略。
接着按照出错提示将CmakeCache.txt删除,再输入上边的一长串命令,无非就是配置路径、数据、日志、端口和一些功能的启用等,具体含义大家google一下。成功后显示如图12:
图12
接下来分别输入下边两个命令,都需要等待一段时间,尤其make命令会执行较长时间。
make //编译
make install //运行
图13
图14
使用下面的命令查看是否有mysql用户及用户组
cat /etc/passwd 查看用户列表
cat /etc/group 查看用户组列表
我的系统默认安装了MySql 存在mysql用户和用户组,如果您的系统中不存在的话可以用下边的命令创建
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
完成后如图15显示:
图15
在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!如果你的系统在安装时是最小化安装或者自定义安装,在/etc目录下可能会存在一个my.cnf,一定要将这个文件修改为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。我的系统中就存在这个文件调试,找错误找了好长时间。
如下,添加开机启动,启动MySql
cp support-files/mysql.server /etc/init.d/mysql //放到系统服务目录下
chkconfig mysql on //设置开机启动
service mysql start //启动MySQL
图16
在/etc/profile中末尾添加如下环境变量,参考之前JDK添加环境变量过程,source /etc/profile 使命令立即生效。
PATH=/usr/local/mysql/bin:$PATH
export PATH source /etc/profile
修改root密码:
mysql -u root //进入mysql SET PASSWORD = PASSWORD('xxxxxx');
图17
如果您需要配置远程访问,执行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口
通过vi 打开打开/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 –j ACCEPT
最后保存在终端内运行下面的命令
service iptables restart
图18
四、JSP实例
一、配置mysql JDBC连接器
先下载MySQL的官方JDBC连接器 mysql-connector-java-5.1.29.zip,我用的最新平台独立版,大家版本一定要选对。链接:http://dev.mysql.com/downloads/connector/j/
二、创建mysql数据库实例
输入以下命令,提示输入密码,这时输入mysql root用户对应的密码
mysql -u root -p
图19
按照下边的命令创建数据库、表,并且插入数据。
mysql> create database school;
Query OK, row affected (0.00 sec) mysql> use school;
Database changed
mysql> create table student
-> (
-> id int() auto_increment not null primary key,
-> name char() not null
-> );
Query OK, rows affected (0.02 sec) mysql> insert into student(id,name) values(,'Bull Li');
Query OK, row affected (0.00 sec)
三、创建jsp,显示
创建First.jsp文件
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPasswd="119110";
String dbName="school";
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
try
{
Connection connection=DriverManager.getConnection(url); Statement stmt=connection.createStatement();
String query="select * from student";
ResultSet rs=stmt.executeQuery(query);
out.println("<table border='1' cellspacing='0' cellpadding='0'>");
out.println("<tr><td>id</td><td>name</td></tr>");
while(rs.next())
{
String id = rs.getString(1);
String name = rs.getString(2); out.println("<tr><td>" + id + "</td><td>" + name +"</td></tr>");
}
out.println("</table>");
out.println(" O K !");
connection.close();
}
catch( Exception e )
{
out.println( "connent mysql error:" + e );
}
%>
在 /usr/local/tomcat 下边创建test文件夹,上传First.jsp到test文件夹中,为了刚好的展示显示效果,这次在虚拟机中的火狐浏览器中输入 http://localhost:8080/test/First.jsp,如果前面配置都正确的话,就会如图20所示。
图20
今天的讲解就到此,谢谢您的阅读,下次再见。 如果您觉得这篇博客对您有所启发,不妨点击一下右下角的【推荐】按钮。 如果您对本博客内容感兴趣,请继续关注我,我是Bull Li。
CentOS下JAVA WEB 环境搭建的更多相关文章
- Java Web 环境搭建步骤(超详细,包括前期安装步骤)
Java Web 环境搭建步骤 安装对应版本的JDK 配置环境变量 本人安装的路径是C盘,在path中加入C:\Program Files\Java\jdk1.8.0_65\bin 测试配置成功,cm ...
- Intellij IDEA工具Java web 环境搭建
Java web 环境搭建 环境依赖 操作系统:Windows 7 64位 开发工具:IntelliJ IDEA 13.1.4 开发工具依赖环境 JDK版本:1.7+ 开发工具依赖插件 包管理:Mav ...
- mac OS X下Java项目环境搭建+IntelliJ IDEA Jrebel插件安装与破解+Office 2016破解版安装
一.mac OS X下Java项目环境搭建 因为某些原因新入手了台最新版的MacBook Pro,意味着今天要花一天时间安装各种软件以及项目环境搭建╮(╯▽╰)╭ 项目环境搭建步骤: 1.安装jdk ...
- JAVA web环境搭建(使用Tomcat8整合httpd)
说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建Tomcat并整合httpd的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需要查 ...
- Windows系统下JAVA开发环境搭建
首先我们需要下载JDK(JAVA Development Kit),JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. 下载地址:http://www.or ...
- Linux下Java开发环境搭建—CentOS下Eclipse的安装教程
据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...
- centos下的lnmp环境搭建
1.配置centos的第三方yum源,因为原始的yum是无法安装nginx的 wget http://www.atomicorp.com/installers/atomic 下载atomic yum ...
- mac下java 开发环境搭建
mac配置java开发环境: jdk1.7 +sdk1.7+maven +tomcat 1.先安装jdk ,才能安装sdk . 2 mac中jdk1.7的默认位置:/Library/Java/Ja ...
- CentOS下 pycharm开发环境搭建之无穷无尽的问题
在上一篇的环境搭建中,表面上以为已经升级好python,安装好pycharm,并且可以用上了django框架,谁知道,谁知道,又是一断被虐的经历,我都要快恼羞成怒了. 在些记录一下我的经历. 1.首先 ...
随机推荐
- js之第三方工具解析JSON
1.JSON 仅仅是一种文本字符串.它被存储在 responseText 属性中 为了读取存储在 responseText 属性中的 JSON 数据,须要依据 JavaScript 的 eval 函数 ...
- DataNode连接错误Retrying connect to server
在Hadoop分布式模式部署完毕后,通过start-dfs.sh启动NameNode.DataNode.SecondaryNameNode,在master节点通过jps命令查看,看到NameNod ...
- 【git学习五】git基础之git分支
1.背景 最早用github的时候,我傻傻的问舍友大神,git里面的branch是干什么的,他用了非常直白的解释,我至今还记得."branch就是你能够自己建立 ...
- 【leetcode】Clone Graph(python)
类似于二叉树的三种遍历,我们能够基于遍历的模板做非常多额外的事情,图的两种遍历,深度和广度模板相同也能够做非常多额外的事情,这里举例利用深度优先遍历的模板来进行复制,深度优先中,我们先訪问第一个结点, ...
- ArcGIS for Silverlight 地图卷帘
原文:ArcGIS for Silverlight 地图卷帘 ArcGIS 地图卷帘 for Silverlight 地图卷帘,其实就是遮罩的效果,在Silverlight里实现这样的效果,对于熟悉S ...
- PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战
原文 PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战 环境配置: 程序准备: PHP windows版本下载地址: http://windows.php. ...
- Javascript学习4 - 对象和数组
原文:Javascript学习4 - 对象和数组 在Javascript中,对象和数组是两种基本的数据类型,而且它们也是最重要的两种数据类型. 对象是已命名的值的一个集合,而数组是一种特殊对象,它就像 ...
- c#之Async、Await剖析
c#之Async.Await剖析 探索c#之Async.Await剖析 2015-06-15 08:35 by 蘑菇先生, 1429 阅读, 5 评论, 收藏, 编辑 阅读目录: 基本介绍 基本原理剖 ...
- jQuery中的 return false, e.preventDefault(), e.stopPropagation()的区别
e.stopPropagation()阻止事件冒泡 <html><head> <title></title> <script sr ...
- 经典算法题每日演练——第八题 AC自动机
原文:经典算法题每日演练--第八题 AC自动机 上一篇我们说了单模式匹配算法KMP,现在我们有需求了,我要检查一篇文章中是否有某些敏感词,这其实就是多模式匹配的问题. 当然你也可以用KMP算法求出,那 ...