Java 环境
公司最近需要搭建一个 java 环境, 于是一头雾水的我只得钻进无数堆技术文档, 然而经历无数的失败才发现一篇好的文档是多么重要, 可惜自我文笔不行, 时间有限, 都是照着前人一步一步实现, 踩坑无数, 终会实现, 现将文档归置在自己的园子里以供典怀
使用的版本: CenOS7,tomcat1.7,jdk1.8,Oracle11gx64
安装的目录:/home/java
1 配置 jdk
文件可在 oracle 官网下载, 下载 LinuxX64 .tar.gz 版, 然后上传到服务器上
安装 jdk:
1.1, 清理环境
rpm -qa | grep java
1.2, 删除存在文件
- rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
- rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
- rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
- rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64
- rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
- rpm -e --nodeps tzdata-java-2017b-1.el7.noarch
- rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
- rpm -qa | grep java
1.3, 解压即安装
配置环境文件 vim /etc/profile
- export JAVA_HOME=/home/java/jdk8
- export PATH=$JAVA_HOME/bin:$PATH
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- export JAVA_HOME PATH CLASSPATH
启动文件:. /etc/profile 或者 source /etc/profile
用 java -version 报了一个 cannot restore segment prot after reloc: Permission denied 这个的错误
解决办法: 在 root 用户下, 修改 / etc/selinux/config 文件, 把 SELINUX=enforcing 改成 SELINUX=disabled.
进入 jdk 文件夹在 bin 下 chmod 777 java
然后, 保存关闭, 重启机器就可以了.
查看版本: java -version
2 配置 tomcat
文件下载地址
http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.86/bin/apache-tomcat-7.0.86.tar.gz
2.1, 下载文件
wget 地址
2.2, 解压文件
tar -zxvf apache-tomcat-7.0.86.tar.gz
2.3, 重命名
mv apache-tomcat-7.0.86.tar.gz tomcat1.7
2.4, 修改端口
vim /home/java/tomcat1.7/conf/server.xml // 修改成公司开放的端口
我这里配置成 10002
http://202.100.197.216:10002/ // 访问成功
4 redis 安装
4.1, 系统环境和版本说明
Redis 的版本选取目前的官网版本 redis-4.0.9
4.2, 在线下载 Redis 的安装包
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
4.3, 进入目录, 执行 make 编译
- cd redis-3.2.8
- make MALLOC=libc
- $ make
注意: make 命令执行完成编译后, 会在 src 目录下生成 6 个可执行文件, 分别是
redis-server,redis-cli,redis-benchmark,redis-check-aof,redis-check-rdb,redis-sentinel.
新版本 redis-check-dump 改成 redis-check-rdb
4.1,Redis 安装配置
安装 Redis, 执行 make install. 会将 make 编译生成的 6 个可执行文件拷贝到 / usr/local/bin 目录下;
- make install
- cd src && make install
make[1]: 进入目录 "/home/lzh/redis-3.2.8/src"
- Hint: It's a good idea to run'make test' ;)
- INSTALL install
- INSTALL install
- INSTALL install
- INSTALL install
- INSTALL install
make[1]: 离开目录 "/home/lzh/redis-3.2.8/src"
4.2, 生成 redis 数据
4.2.1, 执行./utils/install_server.sh 配置 Redis 配置之后 Redis 能随系统启动! 执行期间会让你选择端口, 文件名称等, 我都选默认!
4.2.2, 查看开机启动列表
chkconfig --list
注意: 该输出结果只显示 SysV 服务, 并不包含原生 systemd 服务. SysV 配置数据可能被原生 systemd 配置覆盖.
如果您想列出 systemd 服务, 请执行'systemctl list-unit-files'.
欲查看对特定 target 启用的服务请执行
'systemctl list-dependencies [target]'.
netconsole 0: 关 1: 关 2: 关 3: 关 4: 关 5: 关 6: 关
network 0: 关 1: 关 2: 开 3: 开 4: 开 5: 开 6: 关
redis_6379 0: 关 1: 关 2: 开 3: 开 4: 开 5: 开 6: 关
4.2.3,Redis 服务查看, 开启, 关闭
通过 ps -ef|grep redis 命令查看 Redis 进程
- ps -ef|grep redis
- root 12831 1 0 10:21 ? 00:00:01 /usr/local/bin/redis-server 127.0.0.1:6379
- root 13100 4090 0 10:29 pts/0 00:00:00 grep --color=auto redis
关闭 Redis 服务操作通过 / etc/init.d/redis_6379 stop 命令, 也可通过 (service redis_6379 stop)
开启 Redis 服务操作通过 / etc/init.d/redis_6379 start 命令, 也可通过 (service redis_6379 start)
也可以用 redis-server 命令启动
$ src/redis-server
五, Redis 测试
redis-cli
127.0.0.1:6379> flushdb -- 清空当前选择的数据库
- OK
- 127.0.0.1:6379> set testkey 2
- OK
- 127.0.0.1:6379> get testkey
- "2"
Tomcat 和 redis 都配置成功则配置两者之间的关联
第一步:
将 tomcat 支持 redis 包放进 tomcat 安装目录的 lib 文件夹下
第二步:
关闭 tomcat 服务, 进入 conf 目录
vim context.xml
在 Context 中添加
- <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
- <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
- host="127.0.0.1"
- port="6379"
- database="0"
- maxInactiveInterval="60" />
第三步:
启动 tomcat 服务, 访问 tomcat 成功则配置成功, 如果没成功, 多访问几次, 再仔细阅读看哪一步出现披露, 文档仅供参考实际问题实际解决
3 oracle 安装
3.1, 安装 vim 编辑器
yum install vim -y
3.2, 安装 unzip 解压器
yum install unzip -y
3.3, 安装依赖包
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
3.4, 检查有没有 31 个
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
3.5, 添加安装用户和组
- groupadd -g 501 oinstall
- groupadd -g 502 dba
- groupadd -g 601 asmadmin
- groupadd -g 602 asmdba
- groupadd -g 603 asmoper
- useradd -u 1101 -g oinstall -G dba oracle
- id oracle
3.6, 添加内核参数
- vim /etc/sysctl.conf
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- kernel.shmall = 2097152
- kernel.shmmax = 48719476736
- kernel.shmmni = 4096
- kernel.sem = 250 32000 200 200
- net.ipv4.ip_local_port_range = 9000 65500
- net.core.rmem_default = 262144
- net.core.wmem_default = 262144
- net.core.wmem_max = 1048586
- net.core.rmem_max = 4194304
3.7, 查看内核参数
/sbin/sysctl -p
3.8, 修改用户的限制文件
- vim /etc/security/limits.conf
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofile 65536
3.9, 修改 vim /etc/pam.d/login 文件
- vim /etc/pam.d/login
- session required /lib64/security/pam_limits.so
- session required pam_limits.so
3.10, 关闭 selinux
vim /etc/selinux/config
设置 SELINUX=disabled
3.11, 关闭防火墙
- service iptables stop
- systemctl stop firewalld
- systemctl disable firewalld
3.12, 创建目录和设置文件权限
- mkdir -p /home/java/oracle/product/11.2.0
- mkdir /home/java /oracle/oradata
- mkdir /home/java /inventory
- mkdir /home/java /oracle/fast_recovery_area
- chown -R oracle:oinstall /home/java/oracle
- chmod -R 775 /home/java /oracle
3.13, 解压文件
- mkdir -p /home/java/oracle/oracledir
- cd /home/java/oracle/oracledir
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
14,su oracle. vim .bash_profile
- ORACLE_BASE=/home/java/oracle
- ORACLE_HOME=$ORACLE_BASE/product/11.2.0
- ORACLE_SID=orcl
- PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
使该文件生效
source .bash_profile
3.15, 配置 oracle 环境变量
vim /etc/profile
添加以下内容
- if [ $USER = "oracle" ] ; then
- if [ $SHELL = "/bin/ksh" ]; then
- ulimit -p 16384
- ulimit -n 65536
- else
- ulimit -u 16384 -n 65536
- fi
- umask 022
- fi
3.16, 编辑静默安装响应文件
- cd /home/oracle
- cp -R /home/java/oracle/oraclesetup/home/javabase/response/ .
- cd response/
- vim db_install.rsp
修改如下
- oracle.install.option=INSTALL_DB_SWONLY
- ORACLE_HOSTNAME=CentOS
- UNIX_GROUP_NAME=oinstall
- INVENTORY_LOCATION=/home/java/oracle/inventory
- SELECTED_LANGUAGES=en,zh_CN
- ORACLE_HOME=/home/java/oracle/product/11.2.0
- ORACLE_BASE=/home/java/oracle
- oracle.install.db.InstallEdition=EE
- oracle.install.db.DBA_GROUP=dba
- oracle.install.db.OPER_GROUP=dba
- oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
- oracle.install.db.config.starterdb.globalDBName=zkz.orcl
- oracle.install.db.config.starterdb.SID=orcl
- oracle.install.db.config.starterdb.password.ALL=123456
- DECLINE_SECURITY_UPDATES=true
3.17, 安装
- cd /home/java/oracle/oracledir/home/javabase/
- ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
查看日志
配置监听
netca /silent /responseFile /home/oracle/response/netca.rsp
运行上面一句话后在
/home/java/oracle/product/11.2.0/netword/admin 下生成 listener.ora 文件
修改 listener 文件
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (SID_NAME = orcl)
- (ORACLE_HOME = /home/java/oracle/product/11.2.0)
- (global_dbname = orcl)
- )
- )
- LISTENER =
- (DESCRIPTION_LIST =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.50)(PORT = 1521))
- )
- )
- )
3.18, 创建实例 (测试数据)
- vi /home/oracle/response/dbca.rsp
- GDBNAME = "orcl.zkz"
- SID = "orcl"
- SYSPASSWORD = "123456"
- SYSTEMPASSWORD = "123456"
- CHARACTERSET = "ZHS16GBK"
- NATIONALCHARACTERSET= "AL16UTF16"
保存退出输入:
dbca -silent -responseFile /home/oracle/response/dbca.rsp
3.19, 启动监听
- lsnrctl stop
- lsnrctl start
- sqlplus /nolog
- conn /as sysdba
- connect sys/sys as sysdba
- shutdown normal
- startup mount
- alter database open;
来源: http://www.bubuko.com/infodetail-2600672.html