nosilence 发表于 2018-9-29 07:03:33

2、实现tomcat+mysql实现jps的连接

  二 apache-tomcat+mysql通过jsp链接
  2.1 安装tomcat-native
  构建tc-native需要安装三个组件:
  APR库
  OpenSSL库
  Java SE开发工具包(JDK)
  Apache Tomcat本地库是一个与Apache Tomcat一起使用的可选组件,允许Tomcat使用某些本地资源来提高性能,兼容性等。
  具体而言,Apache Tomcat本地库为Tomcat提供了对Apache Portable Runtime(APR)库的网络连接(套接字)实现和随机数生成器的访问。有关如何配置Tomcat以使用APR连接器的更多信息,请参阅Apache Tomcat文档。
  APR连接器的特点:
  保持活动请求的非阻塞I / O(请求之间)
  使用OpenSSL进行TLS / SSL功能(如果链接的APR库支持)
  FIPS 140-2支持TLS / SSL(如果链接的OpenSSL库支持
  如果安装过程中出现apr和openssl软件版本过低无法编译的问题请查看此链接:
  升级apr*及openssl:http://blog.51cto.com/maoxiaoxiong/2051202
wget http://mirrors.shuosc.org/apache/tomcat/tomcat-connectors/native/1.2.16/source/tomcat-native-1.2.16-src.tar.gz
./configure --with-apr=/usr/bin/apr-1-config \
  --with-java-home=/usr/java/jdk-9.0.1/ \
  --with-ssl=yes \
  --prefix=/usr/local/native
  Error1:configure: error: Found APR 1.3.9. You need version 1.4.3 or newer installed.由于安装的系统自带apr版本过低,,需要先升级相关软件版再重新编译.
./configure --with-apr=/usr/apr/ --with-java-home=/usr/java/jdk-9.0.1/ --with-ssl=yes --prefix=/usr/local/native
  Error2: configure: error: Your version of OpenSSL is not compatible with this version of tcnative
make install安装
  再次编译:
./configure --with-apr=/usr/apr/ --with-java-home=/usr/java/jdk-9.0.1/ --with-ssl=/usr/local/openssl/ --prefix=/usr/local/native
make
make install
echo "/usr/local/native/lib" >> /etc/ld.so.conf
ldconfig
ln -s /usr/local/native/lib/* /usr/java/packages/lib/
  Native编译完成并进行检查:
  重启tomcat
  #service tomcat stop ;service tomcat start
cat /usr/local/tomcat/logs/catalina.out | grep Native
  15-Dec-2017 22:28:47.411 INFO org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library using APR version .
  显示上面信息,则说明tomcat-native编译完成.:
  2.2 源码编译安装mysql
  MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
  MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
  解决依赖及干扰
  # rpm -e mysql-5.1.71-1.el6.x86_64
  # rpm -e mysql-5.1.71-1.el6.x86_64
  # rpm -e mysql-libs-5.1.71-1.el6.x86_64   -nodeps
tar xvf mysql-5.6.26.tar.gz
  yum install -y cmake   ncurses-devel
  cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data-DMYSQL-USER=mysql
  # chown -R mysql.mysql /usr/local/mysql/
  # cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
  # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  # chmod u+x /etc/init.d/mysqld
  # vim /etc/init.d/mysqld
  # vim /etc/my.cnf
  # chkconfig mysqld on
  初始化数据库
  # /usr/local/mysql/scripts/mysql_install_db \
  --defaults-file=/etc/my.cnf \
  --basedir=/usr/local/mysql/ \
  --datadir=/usr/local/mysql/data/ \
  --user=mysql
  将数据库命令链接到环境变量中
  # ln -s /usr/local/mysql/bin/* /bin/
  启动数据库
service mysqld start
  安全初始化数据库
mysql_secure_installation
  回车
  初始密码
  确认密码
  y
  y
  y
  echo "export PAHT=/usr/local/mysql/bin:\${PATH}" >> /etc/profile
source /etc/profile
  2.3 安装mysql-connector
  通过官方提供的工具mysql-connector的实现了jsp脚本连接到数据库的操作
  #wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz
tar xvf mysql-connector-java-5.1.45.tar.gz.gz
  #cp mysql-connector-java-5.1.36-bin.jar /usr/local/tomcat/lib/
  重启tomcat服务.
  #Service tomcat stop ; service tomcat start
  创建测试数据库并创建tomcat测试用户
  mysql> create database tomcat;
  Query OK, 1 row affected (0.20 sec)
  mysql> use tomcat
  Database changed
  mysql> create table test(id int,name varchar(58));
  Query OK, 0 rows affected (0.30 sec)
  mysql> insert into test values(1,"令狐冲"),(2,'东方不败'),(3,'岳不群');
  Query OK, 3 rows affected (0.02 sec)
  Records: 3Duplicates: 0Warnings: 0

  mysql> grant all privileges on tomcat.* to tomcat@"localhost">  Query OK, 0 rows affected (0.22 sec)
  mysql> flush privileges;
  Query OK, 0 rows affected (0.05 sec)
  测试jsp连接数据库
  3.3测试文档
  # vim /usr/local/tomcat/webapps/ROOT/test.jsp
  1
  2
  3
  4
  5   7 String url ="jdbc:mysql://localhost/tomcat?user=tomcat&password=123456&useUnicode=true&characterEncoding=utf-8";
  8 Connection conn= DriverManager.getConnection(url);
  9 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
  10 String sql="selectfrom test";
  11 ResultSet rs=stmt.executeQuery(sql);
  12 while(rs.next()){%>
  13 step:
  14 context:
  15
  16
  17
  21
  22
  通过浏览器访问数据库:
  如果apache和tomcat在没有整合的情况下可以指定8080端口进行测试
  完成tomcat和mysql通过jsp的链接操作
  如果使用yum安装的httpd服务,由于升级过openss和apr之后导致无法重启,此时可将http服务升级之高版本或者修改配置文件/etc/http/conf/httpd.conf中关于ldap模块注释掉即可如下:
  #LoadModule ldap_module modules/mod_ldap.so
  #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

页: [1]
查看完整版本: 2、实现tomcat+mysql实现jps的连接