Linux+mariadb+jdk+jco+jetty部署

1.linux
rhel-server-6.8-x86_64-dvd.iso备注:不直接安装centos的原因是IBM服务器不兼容centos,无法安装成功!

基本安装:
分区(五个分区:swap分32GB,/boot分2GB,/boot/efi分800M,/分50GB,其余为/ourdata)
语言(英语,简体中文,繁体中文)
网络,安装过程中一定要将实际连接外网的网卡设置为自动连接,否则重启后就麻烦了,远程连不上!
hostname
查看ip
ip addr或者ifconfig
使用xshell连接Linux
创建数据目录:
mkdir -p /ourdata/mariadb/dbs
mkdir -p /ourdata/mariadb/log_bins

mkdir -p /ourdata/jetty

mkdir -p /ourdata/jetty/work
mkdir -p /ourdata/backup
mkdir -p /ourdata/backup_historydata

取消RHEL的注册提醒
yum list all | grep subscription
上面显示安装了几个与注册有关的包,卸掉这些包然后世界就清净了。
yum remove subscription-manager
顺带在去除rhn-setup-gnome,这下就连管理里面都没有可以注册的选项了。
RPM方式清理:
1、检查已安装组件(共3个)
# rpm -qa | grep subscription-manager
2、卸载查出的组件
# rpm –e subscription-manager-firstboot subscription-manager-gnome subscription-manager
3、检查已安装组件(共7个)
# rpm –qa | grep rhn
4、卸载查出的组件
# rpm –e rhn-check rhn-setup rhnlib rhnsd yum-rhn-plugin rhn-setup-gnome rhn-client-tools

5、再检查一遍
# rpm –qa | grep rhn
6、如果发现没有卸载掉,原因是上面rpm -e后面的软件中某个没有安装,命令行会提示例如rhn-setup-gnome is not installed之类的,从rpm -e中删除实际上并没有安装的软件名称再执行卸载即可!

编辑host文件
vi /etc/hosts
添加局域网内部的一些host信息。

修改ulimit值,正确的做法:
vi /etc/security/limits.d/90-nproc.conf
* soft nproc 10240
* hard nproc 16384
* soft nofile 10240
* hard nofile 65536
* soft stack 10240

如果不修改这个值,会出现错误:-bash: fork: retry: Resource temporarily unavailable错误

关闭iptables
chkconfig –del iptables

关闭selinux
修改 /etc/selinux/config 文件中的 SELINUX=”” 为 disabled ,然后重启
reboot

2.yum配置可用的yum源
注意:不要用最新版的RHEL,因为centos的更新发布比RHEL慢,如果用最新版的RHEL、则使用yum源的时候会找不到合适的版本。
RHEL的yum是要收费的,默认安装之后如果不安装License是不能用的,可以用centos的yum源替代。

操作步骤如下:
(关键点:卸载rhel自带的yum包的时候要注意忽略依赖关系、否则卸载不掉;安装yum的时候要注意全部一起安装,否则依赖关系没完没了)。

下载CENTOS6.8的yum安装包:
打开http://mirrors.163.com/centos/6.8/os/x86_64/Packages/,或者用https://mirrors.tuna.tsinghua.ed … os/x86_64/Packages/
【CTRL F】搜索下面这些包,然后下载,然后上传到Linux。
yum
yum-metadata
yum-plugin-fastestmirror
yum-updateonboot
yum-utils

安装的时候如果提示有其他依赖再下载就是了。
然后执行下面的命令安装CENTOS的YUM工具:
rpm -qa |grep yum
rpm -qa|grep yum|xargs rpm -e –nodeps
rpm -ivh yum*

以上操作截图如下:

vi /etc/yum.repos.d/CentOS-Base.repo
粘贴下面的内容进去(然后wq保存,之后就能不注册redhat而使用centos的yum源了):
[base]
name=CentOS-6.8 – Base – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/6.8/os/$basearch/
http://mirrors.aliyuncs.com/centos/6.8/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.8&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-6.8 – Updates – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/6.8/updates/$basearch/
http://mirrors.aliyuncs.com/centos/6.8/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.8&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-6.8 – Extras – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/6.8/extras/$basearch/
http://mirrors.aliyuncs.com/centos/6.8/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.8&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6.8 – Plus – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/6.8/centosplus/$basearch/
http://mirrors.aliyuncs.com/centos/6.8/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.8&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#contrib – packages by Centos Users
[contrib]
name=CentOS-6.8 – Contrib – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/6.8/contrib/$basearch/
http://mirrors.aliyuncs.com/centos/6.8/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.8&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

然后更新本地yum缓存
yum clean all
yum makecache
yum -y update
ip addr
yum -y install vim
yum instll lrzsz

安装系统常用功能:
yum -y install tree nmap sysstat lrzsz dos2unix gcc* g tinyxml kernel wget net-tools psmisc screen vim links pcre pcre-devel zlib zlib-devel openssl openssl-devel cmake make zip unzip gzip bzip2* uuidd bc qt time ed perl ntp kernel-devel ntpdate libcurl libcurl-devel awk uname tar sty read which dirname id ulimit ping gcc-c glibc.i686
升级系统到centos7.3
http://www.cnblogs.com/kevingrace/p/5709571.html

3A.mariadb

vim /etc/yum.repos.d/MariaDB.repo

[mariadb]
name = MariaDB
baseurl = http://mirrors.tuna.tsinghua.edu … /yum/centos7-amd64/
gpgkey = http://mirrors.ctyun.cn/MariaDB/PublicKey
gpgcheck=1

先安装几个依赖
yum clean all
yum -y install jemalloc galerayum install lsof
yum install rsync
yum install perl-DBI
yum install libaio

卸载MySQL
rpm –qa|grep mysql
rpm –e mysql-libs-5.1.73-7.el6.x86_64 –nodeps

安装mariadb
yum install MariaDB-compat
yum install MariaDB-common
yum install MariaDB-server MariaDB-client

授权
chown -R mysql:mysql /ourdata/mariadb

然后修改配置
vim /etc/my.cnf.d/server.cnf
内容:
[mysqld]  
port            = 3306  
datadir         =/ourdata/mariadb/dbs   
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 64M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
lower_case_table_names = 0  

init_connect=\’SET collation_connection = utf8mb4_unicode_ci\’
init_connect=\’SET NAMES utf8mb4\’
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake

default_storage_engine = InnoDB
log-bin = /ourdata/mariadb/log_bins/log-bin
binlog_format=mixed
server-id        = 1
expire_logs_days = 7
innodb_data_home_dir = /ourdata/mariadb/dbs
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /ourdata/mariadb/dbs
innodb_buffer_pool_size = 256M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

max_connections = 500
max_connect_errors = 100
open_files_limit = 65535

[mysql]
default-character-set=utf8mb4

[client]
default-character-set=utf8mb4

初始化数据
chown –R mysql:mysql /ourdata/mariadb
mysql_install_db –defaults-file=/etc/my.cnf –datadir=/ourdata/mariadb/dbs –user=mysql

启动数据库
service mysql start

mysql安装例行检查:设置密码、移除test库等基本设置。
mysql_secure_installation

设置mariadb开机启动

chkconfig mysql on
mysql -u root -p123456
show engines;
show variables like \’collation_%\’;
show variables like \’character_set_%\’;GRANT ALL PRIVILEGES ON *.* TO \’root\’@\’%\’ IDENTIFIED BY \’123456\’ WITH GRANT OPTION;
exit;

service mysql status


然后用navicate或者sqlyog之类的工具远程连接测试一下。

4.jdk
http://www.oracle.com/technetwor … ds-2133151-zhs.html

rpm -ivh jdk-8u112-linux-x64.rpm
rm -rf jdk-8u112-linux-x64.rpm
java -version
配置JAVA_HOME(永久):
vi /etc/profile
在最后面加入下面的句子,保存,执行source /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_112
CLASSPATH=.:$JAVA_HOME/lib.tools.jar:/usr/java/jdk1.8.0_112/lib/sapjco3.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
export LD_LIBRARY_PATH=/usr/java/jdk1.8.0_112/lib/amd64

5.jce policy
jce_policy-8

下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。
如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件,如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
参考截图:

6.jco
sapjco3-linuxx86_64-3.0.12
安装步骤:
1、可以用xftp将libsapjco3.so复制到JDK目录安装目录路径:/usr/java/jdk1.8.0_112/lib/amd64及/usr/java/jdk1.8.0_112/lib两个文件夹下;
2、 复制sapjco3.jar到/usr/java/jdk1.8.0_112/lib/sapjco3.jar;
3、 把目录/usr/java/jdk1.8.0_112/lib/amd64添加到LD_LIBRARY_PATH环境变量;
4、 把目录/usr/java/jdk1.8.0_112/lib/sapjco3.jar添加到CLASSPATH环境变量;
export CLASSPATH=.:$JAVA_HOME/lib.tools.jar:/usr/java/jdk1.8.0_112/lib/sapjco3.jar
或者直接修改/etc/profile
修改之后要刷新一下profile文件,命令为source /etc/profile
测试是否安装成功:
java -jar /usr/java/jdk1.8.0_112/lib/sapjco3.jar | more
注意:
同时,需要将sapjco3.jar和libsapjco3.so复制一份到jetty目录下的lib文件夹子中。
同时,如果是Windows下开发的应用,打包后要将JCO和SO文件替换 为Linusx版本的!

7.jetty
http://www.eclipse.org/jetty/download.html
由于WAR包里不能存放上传的附件(上传的附件是存在/tmp里的,重启jetty就消失了),所以我们一般将项目打包成war之后再解压出来放到jetty下,这样附件就会直接存放在项目中了,所以建议jetty程序和文件安装在一起。而不是向mysql或者lnmp一样,程序在/usr下,文件在/home下。
wget http://central.maven.org/maven2/ … 9.4.0.v20161208.zip
解压并移动下载的包到/opt:
tar zxvf jetty-distribution-9.4.0.v20161208.tar.gz -C /ourdata/jetty
重命名文件夹名为jetty:
mv /ourdata/jetty -distribution-9.4.0.v20161208/ /ourdata/jetty
创建一个jetty用户:
useradd -m jetty
改变jetty文件夹的所属用户:
chown -R jetty:jetty /ourdata/jetty/
为jetty.sh创建一个软链接到 /etc/init.d directory 来创建一个启动脚本文件:
ln -s /ourdata/jetty/bin/jetty.sh /etc/init.d/jetty
添加脚本:
chkconfig –add jetty
是jetty在系统启动时启动:
chkconfig –level 2345 jetty on
使用你最喜欢的文本编辑器打开 /etc/default/jetty 并修改端口和监听地址:
vi /etc/default/jetty
内容:
JETTY_HOME=/ourdata/jetty
JETTY_USER=jetty
JETTY_PORT=8080
JETTY_HOST=127.0.0.1
JETTY_LOGS=/ourdata/jetty/logs/
然后,cd /ourdata/jetty
mkdir work
chown -R jetty:jetty /ourdata/jetty/
我们完成了安装,现在可以启动jetty服务了:
(注意:如果jco还没有放进来,先放进来一下再启动jetty。)
service jetty start
现在你可以在 http://<你的 IP 地址>:8080 中访问了

修改jetty默认端口
/ourdata/jetty
vim start.ini
jetty.http.port=8080
service jetty restart

8.安装SVNyum install -y subversion
验证是否安装完成
svnserve –version

创建svn版本库
http://www.centoscn.com/CentosServer/ftp/2014/0306/2505.html

附件:
yum配置文件和MariaDB配置文件:

config-files

11 thoughts on “Linux+mariadb+jdk+jco+jetty部署

  1. 安装epr的yum仓库
    https://www.vpser.net/manage/cen … ty-source-epel.html

    目前可以直接通过执行命令: yum install epel-release 直接进行安装,如果此命令无法安装可以尝试以下方法
    CentOS/RHEL 5 :

    rpm -Uvh https://dl.fedoraproject.org/pub … latest-5.noarch.rpm
    CentOS/RHEL 6 :

    rpm -Uvh https://dl.fedoraproject.org/pub … latest-6.noarch.rpm
    CentOS/RHEL 7 :

    rpm -Uvh https://dl.fedoraproject.org/pub … latest-7.noarch.rpm
    Ok,安装完毕。

    使用EPEL源安装软件
    现在就可以执行:yum install 软件包名进行安装了,nginx、openvpn、htop、ncdu等等一些常用的软件都灰常简单的装上了。

  2. CentOS6.X 禁止同时按下Ctrl+Alt+Del重启

    方法1:
    编辑/etc/init/control-alt-delete.conf
    找到
    start on control-alt-delete
    更改为
    #start on control-alt-delete

    方法2:
    mv /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.conf.bak

  3. 数据备份:
    chmod a+x a.sh
    crontab -e
    输入定时任务:
    20 * * * * /root/sqldump_backup_.sh
    30 23 * * * /root/fast_backup_.sh

    查询任务:
    crontab -l

  4. Linux下用SCP无需输入密码传输文件

    分别在a、b主机执行
    ssh-keygen -t rsa

    一路回车下去。

    然后将A主机下的:
    将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys。
    scp .ssh/id_rsa.pub 192.168.10.2:/root/.ssh/authorized_keys

    以后从A主机scp到B主机就不需要密码了。

    使用此方法需要注意:复制的两台计算机需要用相同的账户名,这里都是用的root。

  5. 如果连接SAP时RFC报错
    return code: RFC_FAILURE (1)
    error group: 102
    key: RFC_ERROR_COMMUNICATION
    at com.sap.conn.rfc.engine.RfcIoControl.error_end(RfcIoControl.java:259)
    at com.sap.conn.rfc.engine.RfcIoControl.ab_rfcopen(RfcIoControl.java:101)
    at com.sap.conn.rfc.api.RfcApi.RfcOpen(RfcApi.java:85)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1410)
    … 43 more

    解决方法:
    vim /etc/hosts 添加SAP及Linux系统的hostname
    source /etc/profile
    service jetty restart

    回复 支持 反对 举报
    8#
    cindy 发表于 2017-1-19 17:00:43 | 只看该作者
    -bash: scp: command not found
    在网上搜资料解决办法如下:

    安装scp的软件包:yum install openssh-clients

  6. MariaDB 在Linux下设置编码

    修改/etc/mysql/my.cnf
    On MySQL 5.5 I have in my.cnf

    [mysqld]
    init_connect=’SET collation_connection = utf8_unicode_ci’
    init_connect=’SET NAMES utf8′
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake

    [client]
    default-character-set=utf8

    [mysql]
    default-character-set=utf8

    Result is

    mysql> show variables like “%character%”;show variables like “%collation%”;

    +————————–+—————————-+
    | 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/ |
    +————————–+—————————-+
    8 rows in set (0.00 sec)

    +———————-+—————–+
    | Variable_name | Value |
    +———————-+—————–+
    | collation_connection | utf8_unicode_ci |
    | collation_database | utf8_unicode_ci |
    | collation_server | utf8_unicode_ci |
    +———————-+—————–+
    3 rows in set (0.00 sec)

  7. 如果用的是RHEL6.8,不能安装MySQL5.7,无法成功。

    安装下面的版本:
    MySQL 5.6 X64 FOR RHEL.
    http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.34-1.el6.x86_64.rpm-bundle.tar

    wget http://mirrors.163.com/centos/6. … 7-10.el6.x86_64.rpm
    rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

    wget http://mirror.centos.org/centos/ … .9-2.el6.x86_64.rpm
    rpm -ivh numactl-2.0.9-2.el6.x86_64.rpm

    删除除了以下rpm包以外的包,然后rpm -ivh *
    MySQL-client-5.6.34-1.el6.x86_64.rpm
    MySQL-devel-5.6.34-1.el6.x86_64.rpm
    MySQL-embedded-5.6.34-1.el6.x86_64.rpm
    MySQL-server-5.6.34-1.el6.x86_64.rpm
    MySQL-shared-5.6.34-1.el6.x86_64.rpm

    查询安装过程中生成的随机密码:
    ls -a ~
    cat那个mysqlsecert文件

  8. 阿里云Linux安装软件镜像源
    阿里云是最近新出的一个镜像源。得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源。
    阿里云Linux安装镜像源地址:http://mirrors.aliyun.com/
    CentOS系统更换软件安装源
    第一步:备份你的原镜像文件,以免出错后可以恢复。
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/
    CentOS 5
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
    CentOS 6
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
    第三步:运行yum makecache生成缓存
    yum clean all
    yum makecache

发表评论