当前位置: 首页 > news >正文

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

相关文章:

  • 在Linux系统中如何识别U盘
  • sql语句中in与exist not in与not exist 的区别
  • android 关于 android sdk manager 更新,下载慢的问题
  • (笔试题)合法字符串
  • 【重磅】大众点评运维架构图文详解 @马哥教育联合创始人张冠宇
  • linux总结
  • 6月又过去一大半了。
  • 通过Exchange Server 中的OWA页面找回被删除的邮件
  • 基于socket.io的实时消息推送
  • 找规律 UVALive 6506 Padovan Sequence
  • 图书管理系统——测试与调试
  • .net 发送邮件
  • Launch Screen在iOS7/8中的实现
  • Bootstrap系列 -- 17. 复选框checkbox和单选择按钮radio
  • rpm 与 yum 源
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • ECMAScript6(0):ES6简明参考手册
  • es6要点
  • Hibernate【inverse和cascade属性】知识要点
  • JavaScript 一些 DOM 的知识点
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • JS 面试题总结
  • Linux链接文件
  • log4j2输出到kafka
  • python docx文档转html页面
  • vue的全局变量和全局拦截请求器
  • 创建一种深思熟虑的文化
  • 关于使用markdown的方法(引自CSDN教程)
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 软件开发学习的5大技巧,你知道吗?
  • 深度解析利用ES6进行Promise封装总结
  • 算法-图和图算法
  • 详解NodeJs流之一
  • 智能网联汽车信息安全
  • ​2021半年盘点,不想你错过的重磅新书
  • ​iOS实时查看App运行日志
  • (03)光刻——半导体电路的绘制
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • ./和../以及/和~之间的区别
  • .net MySql
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • @Bean, @Component, @Configuration简析
  • @RequestBody与@ModelAttribute
  • @vue/cli脚手架
  • []Telit UC864E 拨号上网
  • [C++]C++类基本语法
  • [C++基础]-初识模板
  • [C语言][C++][时间复杂度详解分析]二分查找——杨氏矩阵查找数字详解!!!
  • [dart学习]第四篇:函数