zoukankan      html  css  js  c++  java
  • Linode Centos6.5从零开始装环境...流水账

    安装JDK

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

    JAVA_HOME=/opt/java/jdk1.7.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:1
    DEVICE=eth0:1
    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 7 or RHEL 7
    yum localinstall http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

    然后进行安装

    yum install mysql-community-server

    然后启动

    #For CentOS 7 or RHEL 7
    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-215.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 345 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.71-1.el6    @anaconda-CentOS-201311272149.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.14-1.el6.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.14-1.el6.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.14-1.el6.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.14-1.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临时口令

    2016-09-21T04:52:57.278548Z 1 [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, 1 row affected, 1 warning (0.00 sec)

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

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

    [mysqld]
    port=6033
    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 6033

    如果在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后重启, 问题解决

  • 相关阅读:
    Shiro 学习笔记(Realm)
    Shiro 学习笔记(Authentication)
    Shiro 学习笔记(基本结构)
    POI 示例(导入,导出)
    SpringBoot 整合POI
    解决使用drf-haystack报错ImportError: cannot import name get_count
    python实现冒泡排序和插入排序
    九大排序算法总结(转)
    Djaong 数据库查询
    django session 和cookie的设置,获取和删除
  • 原文地址:https://www.cnblogs.com/milton/p/4579538.html
Copyright © 2011-2022 走看看