您的位置:首页 > 运维架构 > Tomcat

Linux下安装 jdk tomcat apache mysql

2017-03-01 11:38 627 查看
*****************************jdk安装开始***********************

1 在安装目录下执行:

sh jdk-6u43-linux-x64-rpm.bin

jdk被安装到/usr/java目录下

2 设置环境变量(写入/etc/profile中)

export JAVA_HOME=/usr/java/jdk1.6.0_43

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

3 进入 /usr/bin/目录

cd /usr/bin

ln -s -f /usr/java/jdk1.6.0_43/jre/bin/java

ln -s -f /usr/java/jdk1.6.0_43/bin/javac

注销命令:su

在命令行输入

java -version

*****************************jdk安装完毕***********************

*****************************tomcat安装开始***********************

# wget -c http://mirrors.hust.edu.cn/apache/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz
wget -c http://mirrors.hust.edu.cn/apache/tomcat/tomcat-6/v6.0.39/bin/apache-tomcat-6.0.39.tar.gz
1 tar -zxvf apache-tomcat-6.0.39.tar.gz -C /usr/local (-C解压至路径不写为当前目录)

cd /usr/local/

改名:mv apache-tomcat-6.0.39 /usr/local/tomcat

2 设置系统启动自动启动tomcat(/etc/rc.d/rc.local)

export JDK_HOME=/usr/java/jdk1.6.0_43

export JAVA_HOME=/usr/local/tomcat

/usr/local/tomcat/bin/startup.sh

3 设置环境变量(/etc/profile.d/java.sh)

JAVA_HOME=/usr/java/jdk1.6.0_43

PATH=$PATH:/$JAVA_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib

JRE_HOME=$JAVA_HOME/jre

export JAVA_HOME PATH CLASSPATH JRE_HOME

# 免安装不用配置

#TOMCAT_HOME=/usr/local/tomcat

#export JAVA_HOME PATH CLASSPATH JRE_HOME TOMCAT_HOME

4 创建操作用户

groupadd slzstomcat 新建分组

useradd -g slzstomcat tomcat 新建用户

# password tomcat 密码修改 (可能是passwd)

groupadd slzstomcat && useradd -g slzstomcat tomcat && passwd tomcat

# 修改用户名 

# usermod -l new(应该写你新的用户名) old(写旧的用户名) 

//userdel testuser 删除用户

// groupdel groupname 删除分组

//rm -rf testuser 删除用户所在目录

// chown -R tomcat:slzstomcat /usr/local/tomcat/ 更换所有者

// chmod -R o+wx(777) /usr/local/tomcat/目录名(给不在一个用户组的用户添加文件夹权限)

5 启动tomcat

su tomcat 开启用户

cd /usr/local/tomcat/bin

./startup.sh 用新创建的用户启动tomcat

./shutdown.sh 用新创建的用户关闭tomcat

./catalina.sh run #控制台启动

./catalina.sh debug #debug模式启动

6 修改防火墙权限

vi /etc/sysconfig/iptables

在-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited这句上面添加

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

重启防火墙:service iptables restart

7 server.xml配置,参照文件

<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"....address="auto" 把这个auto改成localhost或者本机ip

同步异步模式由channelSendOptions参数控制,默认值是8,为异步模式,4是同步模式

8 tomcat日志配置

# Linux下修改JVM内存大小:

# 添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 新添加一行JAVA_OPTS 。注意引号要带上.

# Xmx 与PermSize的和不可超过JVM可获得的总内存 PermSize不可大于Xmx

# -Xms是设置内存初始化的大小 -Xmx是设置最大能够使用内存的大小 

# -Xss1024K 每个线程栈分配的大小

# Xmx:JAVA HEAP的最大值、默认为物理内存的1/4

# Xms:JAVA HEAP的初始值,server端最好Xms与Xmx一样

# Xmn:JAVA HEAP young区的大小

# XX:PermSize:(jdk8变更:XX:MetaspaceSize ) 设定内存的永久保存区域   

# XX:MaxPermSize:(jdk8变更:XX:MaxMetaspaceSize ) 设定最大内存的永久保存区域

# OS specific support.  $var _must_ be set to either true or false.

JAVA_OPTS="-Xms512m -Xmx6144m -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m"

cygwin=false

# shutdown无法结束进程 强制kill的配置(服务有线程没有停止导致) kill -9 pid

#编辑bin/shutdown.sh       

#stop后加上 -force

exec "$PRGDIR"/"$EXECUTABLE" stop  -force "$@"

#bin/catalina.sh  在PRGDIR=`dirname "$PRG"`后面加上

if [ -z "$CATALINA_PID" ]; then

      CATALINA_PID=$PRGDIR/CATALINA_PID

      cat $CATALINA_PID

fi

# 修改强制kill的等待时间 bin/catalina.sh   找到 stop 命令块位置SLEEP=10(变量设置)  sleep 10 (睡眠命令秒级)

# remote debug 修改start.sh文件,增加jpda参数,端口默认8000,可通过set JPDA_ADDRESS=9000修改

exec "$PRGDIR"/"$EXECUTABLE" start "$@"

exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"

tomcat apr 安装

下载:http://apr.apache.org/download.cgi

apr-1.5.0.tar.gz

apr-util-1.5.3.tar.gz

tar zxvf apr-1.5.0.tar.gz 

# unzip tar有时解压有问题 用zip压 传上去 unzip 

cd apr-1.5.0

#需要安装 yum install gcc

./configure  

make && make install

tar zxvf apr-util-1.5.3.tar.gz

# unzip tar有时解压有问题 用zip压 传上去 unzip 

cd apr-util-1.5.3

./configure --with-apr=/usr/local/apr

make && make install

cd /usr/local/tomcat/bin/

tar -zxvf tomcat-native.tar.gz

cd tomcat-native-1.1.27-src/jni/native

./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_43

make && make install 

vi /etc/profile

# 后面添加以下内容   

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

# 使profile生效

source /etc/profile

vi /usr/local/tomcat/conf/server.xml # SSLEngine 值 改成off

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />

重启看日志 :

信息: Loaded APR based Apache 

完成......

*****************************tomcat安装完毕***********************

*****************************mysql安装开始***********************

wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar
tar -xvf MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar

rpm -ivh MySQL-shared-compat-5.1.46-1.rhel5.x86_64.rpm #兼容包

rpm -ivh MySQL-server-community-5.1.46-1.rhel5.x86_64.rpm #服务端

rpm -ivh MySQL-client-community-5.1.46-1.rhel5.x86_64.rpm #客户端

rpm -ivh MySQL-devel-community-5.1.46-1.rhel5.x86_64.rpm #开发工具包

#复制一个/usr/share/mysql目录下cnf文件(my*.cnf)到/etc目录,并改名为my.cnf 

cp /usr/share/mysql/my-default.cnf /etc/my.cnf

// 卸载重装 rpm -qa|grep MySQL-server-community-5.1.46-1.rhel5.x86_64如果找不到说明安装失败了

// 卸载前查看关联软件 (安装前 先检查并卸载旧版本,有时需要现装完MySQL-shared-compat包才能卸载旧包)

rpm -qa|grep mysql

rpm -qa|grep MySQL-server-community-5.1.46-1.rhel5.x86_64

// 卸载

rpm -e mysql-libs-5.1.61-4.el6.x86_64(上面出的包名)

rpm -e MySQL-client-community-5.1.46-1.rhel5.x86_64

....

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

原因是,/var/lib/mysql 的访问权限问题。

chown -R mysql:mysql /var/lib/mysql

接着启动服务器

/etc/init.d/mysql start

1 mysql基本命令

1.1 启动关闭mysql

service mysqld start

service mysqld stop

/etc/rc.d/init.d/mysql start

/etc/rc.d/init.d/mysql stop



/us
c6ee
r/bin/mysqld_safe &

1.2 连接mysql

mysql -h localhost -uroot -p1q2w3e4r

# -h地址

# Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题的解决

1.3 # 强行重新修改密码,方法如下:

service mysql stop # 停服务

/usr/bin/mysqld_safe --skip-grant-tables  &

[root@localhost ~]# mysql

mysql>use mysql

mysql>update user set password=password("1q2w3e4r") where user="root";

mysql>flush privileges;

# 退出并启动mysql 登录后执行 : SET PASSWORD = PASSWORD('1q2w3e4r'); 重置一次密码,否则无法正常操作

#创建只读用户

GRANT Select ON *.* TO'reader'@'%' IDENTIFIED BY '1q2w3e4r';

flush privileges;

2 修改防火墙权限

vi /etc/sysconfig/iptables

在-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited这句上面添加

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

重启防火墙:service iptables restart

3.更改数据库编码

#show charset;//显示支持的编码信息

#SHOW VARIABLES LIKE 'character_set_%' ; // 显示当前应用的编码

#SHOW VARIABLES LIKE 'collation_%'; // 显示当前应用的编码

# 更改编码 不同版本的编码配置不同,根据实际情况调整

vi /etc/my.cnf

[mysqld]

server_id=2

character-set-server=utf8 # utf8mb4

collation-server=utf8_general_ci # utf8mb4_general_ci

default-storage-engine=INNODB

max_allowed_packet=50M

lower_case_table_names=1 #忽略大小写

max_allowed_packet 设置最大处理文件大小,影响查询语句长度

登录mysql(临时)

set global max_allowed_packet = 20*1024*1024

vi /etc/my.cnf

[mysqld]

max_allowed_packet=50M

restart 重启mysql

再登入mysql查看

show VARIABLES like '%max_allowed_packet%';

查看连接 当前连接数

show processlist;

文件数量限制

show variables like '%open_files_limit%'

show variables like....

show global status; 

wait_timeout:服务器在关闭它之前在一个连接上等待行动的秒数。

interactive_timeout:服务器在关闭它前在一个交互连接上等待行动的秒数。

set GLOBAL interactive_timeout=288000;

set GLOBAL wait_timeout=288000;

退出,重新连

# set GLOBAL 全局变量不用重启,但重启后即失效,永久生效需设置my.cnf

# 优化排序

show variables like '%sort%';

set GLOBAL max_length_for_sort_data=8096;

set GLOBAL max_sort_length=8096;

set GLOBAL sort_buffer_size=7000000;

退出,重新连

#语句\G结尾可以纵向查看数据的键值

show slave status \G

#取消命令行

\c

select name from  .proc; // 查询存储过程名称

select body from mysql.proc; // 查询存储过程内容 代码

select name from mysql.event; // 查询事件,触发器名称

select body from mysql.event; // 查询事件,触发器内容 代码

show create table sys_user; // 查看 sys_user 建表语句

show create database fwpt; // 查看 数据库 建立脚本

语句分析

explain select surname,first_name form a,b where a.id=b.id 

5.执行sql文件

use discuz;

charset utf8;//更改编码

source /usr/local/****/table.sql

6 数据文件位置

/var/lib/mysql/

7.php+mysql问题so文件移动

cp -rp /usr/lib64/libmysqlclient.so.15.0.0 /usr/lib/libmysqlclient.so

yum install *php*mysql # php-mysql

数据库链接

jdbc:mysql://172.19.34.104:3306/fwpt?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&autoReconnect=true&failOverReadOnly=false&maxReconnects=10

autoReconnect  当数据库连接异常中断时,是否自动重新连接?  false  1.1

autoReconnectForPools  是否使用针对数据库连接池的重连策略  false  3.1.3 

failOverReadOnly  自动重连成功后,连接是否设置为只读?  true  3.0.12 

maxReconnects  autoReconnect设置为true时,重试连接的次数  3  1.1 

initialTimeout  autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒  2  1.1 

connectTimeout  和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时

查看计划任务事件是否开启

SHOW VARIABLES LIKE 'event_scheduler'; 

SET GLOBAL event_scheduler = 1; -- 启用计划(服务重启会失效,my.cnf中写event_scheduler = 1)

MySQL数据库目录位置迁移

1、停服务 

service mysql stop

2、建目录,需要迁移到的指定目录

mkdir /data

3、把/var/lib/mysql整个目录移到新目录(数据库位置,可以实际检查一下是否是数据库文件目录,有对应数据库文件名)

#mv /var/lib/mysql /data/

cp /var/lib/mysql /data/mysql -rf

# 给用户权限

chown -R mysql:mysql /data/mysql

4、找到并修改my.cnf配置文件

vi /etc/my.cnf

[mysqld]#服务端默认配置

datadir=/data/mysql(改成新目录)

socket=/data/mysql/mysql.sock(如果原来有先注掉,没有就直接加)

[mysqld_safe]#安全模式的默认配置

socket=/data/mysql/mysql.sock

[client]#客户端访问时默认配置

socket=/data/mysql/mysql.sock

# MySQL启动脚本/etc/init.d/mysql 默认会读取my.cnf配置,有问题时可以调整

# 更换启动方式 

su mysql

/usr/bin/mysqld_safe &

# 基于 MHA 方式实现 MySQL
http://os.51cto.com/art/201307/401702_1.htm http://www.vmcd.org/2012/04/mysql-high-availability-mha/ http://code.google.com/p/mysql-master-ha/
*****************************mysql安装完毕***********************

*****************************apache安装开始***********************
http://blog.csdn.net/rosi1124/archive/2008/09/17/2942618.aspx
1 安装apache

tar xvfz httpd-2.2.9.tar.gz

cd httpd-2.2.9

(可以先检查有没有安装yum install gcc , yum install zlib*  ,yum install apr*)

./configure --prefix=/usr/local/apache  --enable-so --enable-modules=all --enable-rewrite --enable-proxy --enable-proxy-ajp --enable-proxy-connect --enable-proxy-http --enable-deflate --enable-headers --enable-include

make

make install

2 配置apache

2.1 配置httpd.conf文件

vi /usr/local/apache/conf/httpd.conf

# 去掉Indexes 禁止以目录方式访问

Options Indexes FollowSymLinks

无法启动时注意观察错误日志

文件最下方添加AddDefaultCharset utf-8

修改或增加:

ServerName www.slzs.com:7777

2.1 配置启动时运行

vi /etc/rc.d/rc.local 加一行 /usr/local/apache/bin/apachectl start

3 添加对应模块

3.1 在安装文件modules中找到对应模块文件

例如:modules/mappers/mod_rewrite.c

3.2 编译文件

执行/usr/local/apache/bin/apxs -c mod_rewrite.c //apxs应指定绝对路径,在当前正在使用apache的bin目录里/usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la

如果没有什么错误的话,应该在你的apache的modules目录中编译出一个mod_rewrite.so文件。

或用以下方法编译:

/usr/local/apache/bin/apxs -i -a -c mod_rewrite.c

4 apache日志配置

4.1 总日志

找到CustomLog "logs/access_log" common,替换成如下内容

#CustomLog "logs/access_log" common

#日志

CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access-%Y-%m-%d.log 86400" common

找到ErrorLog "logs/error_log",替换成如下内容

# ErrorLog "logs/error_log"

ErrorLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/error-%Y-%m-%d.log 86400"

4.2 站点日志(可选)

示例:

ErrorLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/bbs/error-%Y-%m-%d.log 86400"

CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/bbs/access-%Y-%m-%d.log 86400" common

注:配置站点日志前需要提前在logs下创建文件夹

cp ../bin/apachectl /usr/bin/

*****************************apache安装完毕***********************

*****************************apache+tomcat安装开始***********************

1 将mod_jk-1.2.28-httpd-2.2.X.so文件放入/usr/apache/modules中(改名为mod_jk2.so)

2 配置httpd.conf

vi /usr/local/apache/conf/httpd.conf

在末尾加入:

#load mod_jk

LoadModule jk_module modules/mod_jk.so

### mod_jk config ###

JkWorkersFile conf/workers.properties

JkMountFile conf/uriworkermap.properties

JkLogFile logs/mod_jk.log

JkLogLevel warn

3.2 编辑jk2.properties

cd /usr/local/tomcat/conf

touch jk2.properties

vi jk2.properties

内容如下:

# list of needed handlers.

handler.list=channelSocket,request

# Override the default port for the channelSocket

channelSocket.port=8009

3.3 引入 workers.properties 、 uriworkermap.properties

在httpd.conf文件同目录下新建workers.properties 、 uriworkermap.properties文件(定义连接Tomcat服务器)

## tomcat集群启动错误

严重: Unable to start cluster.

org.apache.catalina.tribes.ChannelException: java.net.SocketException: No such device; No faulty members identified.

集群组播配置 root登录执行

netstat -rn # 查看网络状态

ifconfig eth0 multicast 

route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

※※※!!!!相同ip不同端口的项目session会互相干扰导致session失效,所以要避免不同项目的相同ip!!!※※※

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

*****************************apache+tomcat安装完毕***********************

qq群

*java风暴*:63353324、63353323
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: