Linode Centos6.5从零开始装环境...流水账

安装JDK

下载. 先通过oracle网站, 下载, 得到link后, 在linode命令行里wget, 速度飞快, 但是文件名要改下. 其中JDK6是.bin, 其他都是tar.gz, bin直接执行, tar.gz解压就行了, 放到 /opt/java 目录下. 然后增加路径, 编辑 /etc/profile, 在最后增加几行

JAVA_HOME=/opt/java/jdk1..0_79
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH

安装Tomcat双实例

通过 http://tomcat.apache.org/download-70.cgi 上面的下载地址, 直接在命令行wget. 放到/opt/tomcat下, 按照http://www.cnblogs.com/milton/p/4505670.html 的说明, 新建两个instance目录, 配置conf/server.xml, 在/opt/tomcat下创建相应的启动/关闭脚本.

这里使用的第二个实例端口是8105, 8180, 8543, 8109.

安装Nexus

通过http://www.sonatype.org/nexus/ 下载最新的 Nexus 压缩包, 现在是 https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-latest-bundle.tar.gz 按 http://www.cnblogs.com/milton/p/4391289.html 的说明安装

安装Maven和Ant

直接解开放到/opt/maven下即可

安装Jenkins

直接解开放到tomcat下面. 具体安装过程查看 http://www.cnblogs.com/milton/p/4391305.html

安装httpd

sudo yum install httpd

安装svn并配置http访问和权限

sudo yum install mod_dav_svn
参考svn配置 .. http://www.cnblogs.com/milton/p/4215124.html

绑定私有IP

因为是使用多台虚机, 需要内网通信, 需要添加私有IP.
参考 https://www.linode.com/docs/networking/remote-access , 在控制面板添加好私有IP, 然后修改虚机
因为使用的是Centos6.5, 在 /etc/sysconfig/network-scripts 下新增文件 ifcfg-eth0:1 填入以下内容,

# eth0:
DEVICE=eth0:
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.199.85
NETMASK=255.255.128.0

重启network: service network restart 之后, ifconfig 就可以看到新绑定的IP了,

安装MySQL 5.6

参考的 http://www.itsprite.com/centos-rhel-how-to-install-mysql-database-5-6-using-yum-command/

首先要安装MySQL 的Yum repository

#For CentOS 6.5 or RHEL 6.5
yum localinstall http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm #For CentOS or RHEL
yum localinstall http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

然后进行安装

yum install mysql-community-server

然后启动

#For CentOS  or RHEL
systemctl start mysql.service
#For CentOS 6.5 or RHEL 6.5
service start mysqld
(我用的是 service mysqld start)

第一次启动时, 会有提示要设置root口令

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h li1196-.members.linode.com password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.

执行 /usr/bin/mysql_secure_installation , 按提示设置口令和权限

设置为开机启动

sudo chkconfig --list
sudo chkconfig --level mysqld on

对于测试服务器, 可以设置为允许root远程访问, 随后命令行登录mysql, 添加root从所有IP可以访问

GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

安装Mysql 5.7 (使用官方rpm包安装)

1. 下载最新的mysql 5.7安装包, 本例使用 mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar , 解开
2. 检查系统中已经安装的mysql相关package, 并卸载(否则后面安装时会报冲突), 这一步系统会卸载一些依赖于这个package的其他应用

yum list installed |grep mysql
mysql-libs.x86_64 5.1.-.el6 @anaconda-CentOS-.x86_64/6.5
yum remove mysql-libs.x86_64

Update 20170301: 对于Centos7, 要搜索 mariadb相关的lib, 如 mariadb-libs.x86_64

Update 20180923: 对于Centos7.2, 如果报 libaio.so.1()(64bit) is needed by mysql-community-server, 下载并安装 http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm 就可以继续

3. 依次安装

rpm -ivh mysql-community-common-5.7.-.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.-.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.-.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.-.el6.x86_64.rpm

当中可能会报缺perl和libnuma, 分别用yum install perl 和 yum install numactl 安装即可

4. 检查是否已经添加到服务, 并启动

chkconfig --list
service mysqld start
service mysqld stop

5.修改root口令

方法一: 在第一次启动后查看日志 /var/log/mysqld.log, 找到这行, 里面有生成的root临时口令

--21T04::.278548Z  [Note] A temporary password is generated for root@localhost: BweTwd1N/iKb
# 之后登入mysql会提示必须ALTER USER后才能执行其他sql, 修改密码
> SET PASSWORD=PASSWORD('Your.Password');

方法二: 首先在一个console中, 用safe模式启动服务,

mysqld_safe --skip-grant-tables

然后在另一个窗口中, 登入root用户, 并修改口令

#mysql -u root mysql
mysql> update user set authentication_string=password('root'), password_expired='N', password_last_changed=now() where user='root';
Query OK, row affected, warning (0.00 sec)

而后在第二个窗口中, 停止mysql服务, 第一个窗口中的命令才会终止退出.

6. 修改my.cnf配置, 位于 /etc/my.cnf

[mysqld]
port=
join_buffer_size = 128M
sort_buffer_size = 4M
read_rnd_buffer_size = 4M
key_buffer_size=16M
max_allowed_packet=16M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 避免ibdata1文件过大
innodb_file_per_table = 1

对于生产环境的数据库, 可以使用参数

join_buffer_size = 128M
sort_buffer_size = 8M
read_rnd_buffer_size = 4M
key_buffer_size=32M
max_allowed_packet=16M
read_buffer_size = 4M
tmp_table_size = 128M
max_heap_table_size = 256M

修改默认端口会遇到selinux的权限问题, 具体可以看 https://blogs.oracle.com/jsmyth/entry/selinux_and_mysql

# 查看当前的端口状态
semanage port -l
# 添加端口
semanage port -a -t mysqld_port_t -p tcp

如果在Centos7下没有semanage命令, 先安装

yum install policycoreutils-python

通过grant all on *.* 修改root用户的远程访问时需要注意口令复杂度, 因为MySQL5.7提高了口令安全性要求, 默认为至少8位, 带一个大小写字母, 带一个非字母符号

安装Redmine

下载安装包
wget http://www.redmine.org/releases/redmine-2.6.5.tar.gz
wget http://production.cf.rubygems.org/rubygems/rubygems-2.4.8.tgz
wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p645.tar.gz
参考之前的redmine安装过程

故障解决

1. Tomcat 无法启动, 提示 SEVERE: StandardServer.await: create[localhost:8105]

使用 sudo netstat -lnp|grep 8105 及 sudo lsof -i:8105 没有找到占用端口的应用, 后经Google查找, 发现也可能是因为hosts无法解析导致文件, 遂查看 /etc/hosts, 发现localhost 对应的ipv4地址被改成了一个私网地址, 改回127.0.0.1后重启, 问题解决

上一篇:图解JVM字节码执行引擎之栈帧结构


下一篇:手把手教你写Sublime中的Snippet