zoukankan      html  css  js  c++  java
  • centos6高速部署java应用

    眼下提供IDC服务的厂商真的是五花八门,可是更正服务到位的却为数不多,搞得比較好的应该是阿里云、天成、51idc,出于时间考虑还是建议选用windows,至少安装开发环境会方便得多,不会耗费太长时间。

    一般而言java开发环境主要就是中间件、jdk、数据库三大部分,以下開始分享我的部署心得。

    一  安装linux版本号的jdk

    linux的安装并不复杂,令人烦恼的是下载jdk那种乌龟般的连接速度,还有登录等乱七八糟的麻烦事。至于jdk强烈建议下载rpm或者bin文件,这两种文件安装起来特别简单,假设系统不支持rpm文件就选择bin文件,一个简单的sh命令就搞定了。

    为了排除干扰建议先卸载掉本身自带的openjdk,假设不存在就能够省略这个步骤。

    先查看 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

    另一些其它的命令

    rpm -qa | grep gcj

    rpm -qa | grep jdk

    假设出现找不到openjdk source的话,那么还能够这样卸载

    yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
    yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5


    1 安装jdk

    安装jdk真的超级简单,先进入下载好的jdk所在文件夹。使用命令给文件授权

    chmod +x    你的jdk文件名称

    输入  ./jdk文件名称.bin    ,不用一分钟jdk就安装好了


    2 将该文件夹复制到/usr/local(改步骤可选)

    安装之后为了管理方便。能够把安装文件夹拷贝到/usr/local以下,命令例如以下

    cp   原安装文件夹  /usr/local/jdk6


    3  配置环境变量(非常关键)

    首先使用vi命令编辑profile,命令为vim  /etc/profile;

    在文件的最后面追加例如以下内容。文件夹依据实际情况改动

    export JAVA_HOME=/usr/local/jdk6
    export JAVA_BIN=/usr/local/6/bin
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export JAVA_HOME JAVA_BIN PATH CLASSPATH

    4 重新启动linux

    reboot

    二   安装tomcat

    这个步骤就是把linux版本号的tomcat上传到server上。还是建议删掉原先自带的,由于原生的太难用了。把war包放到webapps以下,建议使用apache-tomcat-6.0.29这个版本号。这个版本号太好用了


    三  安装mongodb或者mysql

    1 解决奇葩mysql的相关问题

    (1) 出现异常说方言没配置

    这样的情况在jpa开发的项目中较为常见,解决方案非常easy。仅仅需把方言配置上去就ok了

    <bean id="entityManagerFactory"
    		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    		<property name="dataSource" ref="dataSource" />
    		<property name="jpaVendorAdapter">
    			<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    				<property name="showSql" value="false" />
    			</bean>
    		</property>
    		<property name="jpaProperties">
    			<props>
    				<prop key="hibernate.hbm2ddl.auto">update</prop>
    				 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
    			</props>
    		</property>
    </bean>
    

    (2)数据库连接不上

    这个问题好排除,基本都是url有问题、username或者password不正确。还有就是缺少数据库驱动jar包


    (3) 数据库表名不正常

    这个就真的是奇葩了,大致上出现这样的情况的几率比較小,因此网上非常难找到解决方法。我也是找了好久才找到的,解决方法就是在mysqld节点以下加一个配置

    lower_case_table_names=1

    这样的情况常常出如今window上的项目移植到linux上,正常情况下使用hibernat或者jpa之后自己主动生成的表默认名称和实体类的类名同样,假设之前数据库的表名全是小写的,仅仅要项目启动,数据库又会按jpa或hibernate规范生成一堆新表,导致程序出错。

     经常使用的mysql配置文件:

    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    default-character-set=utf8
    lower_case_table_names=1
    [client]
    password=gtyiaJB8R
    port=3306
    socket=/var/lib/mysql/mysql.sock
    default-character-set = utf8
    # Disabling symbolic-links is recommended to prevent assorted security risks
    #symbolic-links=0
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    default-character-set = utf8


    (4)mongodb的启动/停止方式

    mongodb和mysql又有所不同,主要是在数据库的启动上,mongodb弄成前台启动当然不合适,仅仅能用后台进程的方式启动

     ./mongod  --dbpath=你的mongdb数据所在文件夹  --fork --logpath=/data/log/mongodb.log

    假设要停止mongodb建议使用:

    use  admin  
    db.shutdownServer();


    这些问题是不是够奇葩,攻克了这些问题真是让我学到不少。


  • 相关阅读:
    [SinGuLaRiTy] NOIP模拟题 by liu_runda
    [SinGuLaRiTy] NOIP互测模拟赛
    [SinGuLaRiTy] Nescafe 24杯模拟赛
    [SinGuLaRiTy] 复习模板-搜索
    [SinGuLaRiTy] 复习模板-高精度模板
    [SinGuLaRiTy] 复习模板-图论
    [SinGuLaRiTy] 复习模板-数据结构
    [SinGuLaRiTy] 高级搜索算法
    [SinGuLaRiTy] 2017 百度之星程序设计大赛 复赛
    [SinGuLaRiTy] 2017 百度之星程序设计大赛 初赛B
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6912994.html
Copyright © 2011-2022 走看看