配置wenice项目实施文件

本文详细介绍如何在服务器上部署Java应用,包括修改hosts文件、配置Tomcat与Nginx等步骤,同时提供了处理常见问题的方法,如解决Tomcat启动内存不足及MySQL乱码等问题。
0.修改服务器的host文件(/etc/hosts)
    192.168.152.146  index.wenice.146.cn
    192.168.152.146  user.wenice.146.cn
    192.168.152.146  admin.wenice.146.cn
    192.168.152.146  security.wenice.146.cn
    192.168.152.146  help.wenice.146.cn

    192.168.152.146  www.applyms.146.cn
1.上传war包
2.配置tomcat的service.xml文件
    见service.xml
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               maxPostSize="0"
               acceptCount="10000"  
               URIEncoding="utf-8"
               redirectPort="8443" />
3.启动tomcat
4.查看错误信息,配置环境
5.上传庖丁解牛的index所以目录到/mnt/index
6.替换tomcat的el包
7.替换配置信息
8.创建数据库,导入初始数据
    mysql -uroot -p
    show databases;
    create database ownersolution CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
    use ownersolution;
    source /home/ownersolution.sql;
    create database quartz CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
    use quartz;
    source /home/quartz.sql;
    create database wenice CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
    use wenice;
    source /home/wenice.sql;
9.配置nginx
    见nginx.conf

    服务器时间偏差
    修改日期:
    date -s 05/10/2009
    修改时间:
    date -s 10:18:00
    当然,你也可以同步时间:
    ntpdate pool.ntp.org

=========问题描述:tomcat启动内存不足========================================================================
    修改/tomcat/bin/catalina.sh,第一行加入:以下给出1G内存环境下java jvm 的参数设置参考:
1.wenice服务器:
JAVA_OPTS="-server -Xms4096m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=256m"
2.网络答案:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

    
=========问题0.mysql默认区分大小写============================================================================
        [mysqld]后添加添加lower_case_table_names=1,
        重启MYSQL服务,这时已设置成功:
        lower_case_table_names = 0其中 0:区分大小写,1:不区分大小写
=========问题1.  mysql建库时提示Specified key was too long max key length is 1000 bytes的=====================
        索引字段长度太长,
        方法1.修改字段长度
        方法2.修改mysql默认的存储引擎
            2.1.检查当前的引擎
            mysql> show engines;
            2.2.查看是否支持动态加载, 重要的是have_dynamic_loading这行,如果是YES,            mysql>show variables like "have_%";
            2.3.安装插件
            mysql> INSTALL PLUGIN INNODB SONAME 'ha_innodb.so';
            mysql> show engines;
=========问题2. java.sql.SQLException: null, message from server: "Host 'xxx' is not allowed to connect=========
    表示该对象不是远程对象,不能通过该对象远程访问数据
    解决:
    方案一:改表:
    use mysql ;select user,host,password from user;
    update user set host = '%' where user='root';
    方案二:授权法:
    例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    如果你想允许用户root从ip为192.168.152.146的主机连接到mysql服务器,并使用123456作为密码
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.152.146' IDENTIFIED BY '123456' WITH GRANT OPTION;

=========问题3.查看时中文信息为乱码==============================================================================
        MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。
    1、需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为:
 >show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8;
其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。
另一个查看数据库编码的命令:
>show variables like ‘collation%’;
 
2、linux系统下,修改MySQL数据库默认编码的步骤为:
ü        停止MySQL的运行
/etc/init.d/mysql start (stop) 为启动和停止服务器
ü        MySQL主配置文件为my.cnf,一般目录为/etc/mysql
var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹

**********************************************************************************************************************
当我们需要修改MySQL数据库的默认编码时,需要编辑my.cnf文件进行编码修改,在linux下修改mysql的配置文件my.cnf,文件位置默认/etc/my.cnf文件

找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
**********************************************************************************************************************

修改好后,重新启动mysql 即可,重新查询数据库编码可发现编码方式的改变:
>show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
此方法用于标准mysql版本同样有效,对于/etc/my.cnf文件,需要从mysql/support-files的文件夹cp my-large.cnf一份到/etc/my.cnf
 
3、windows系统下可以删除MySQL数据库,并重新安装,在安装过程中可以直接用Mysql Server Instance Config Wizard 进行设置
 
4、当MySQL数据库服务器已经有数据不适合删除重装时,可以个别指定数据库的编码方式。MySQL指定编码的方式是非常灵活并多样化的,可以指定表级别的编码,行级别编码,甚至可以指定字段级别的编码。
以下示例给出创建数据库时指定编码的两种方式:
1)CREATE  DATABASE  ms_db  CHARACTER SET  utf8  COLLATE utf8_general_ci;
2)create  database  if  not  exists  netctoss  default character set utf8;
5、 如果你采用的是外部接入的方式,可以在连接中确定请求的编码格式如:jdbc:mysql://localhost:3306 /mysql?useUnicode=true&characterEncoding=utf-8(注意:不要出现任何空格,否则出错)
6、执行脚本:指定编码格式set names gbk(注意,不是UTF-8)可以修改
执行前:
执行后:
从执行命令前后可知,set names gbk只可以修改character_set_client、character_set_connection、 character_set_results的编码方式,并且这种修改是窗口级别的,只针对本窗口有效,打开另外一个窗口修改无效。也可发现数据库底层的 编码方式没有改变,插入数据后还是以utf8编码方式保持。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值