Linux下安装 jdk tomcat apache mysql


*****************************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

/usr/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&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull&amp;transformedBitIsBoolean=true&amp;autoReconnect=true&amp;failOverReadOnly=false&amp;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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值