安装RHEL虚拟机

 

虚拟机软件:在本篇文章中,我是使用Vmware Workstation 9安装的虚拟机,其他常用的虚拟机软件还有Xen、KVM、VirtualBox等。

 

ISO文件:rhel-server-6.2-x86_64-dvd.iso、rhel-server-6.2-i386-dvd.iso,根据操作系统选择64bit还是32bit。

 

安装过程如下:

 

最好机器建立一个文件夹,一个虚拟机一个目录,比如,我的是:

d:\VirtualMachine\RHEL-192.168.1.10

d:\VirtualMachine\RHEL-192.168.1.11

 

虚拟机的安装过程非常简单,我的机器是Windows8-64bit,4G内存,酷睿双核E4500,开了两个虚拟机:1G内存、20G硬盘、单核CPU。

我为了给每个虚拟机一个单独的IP地址,对于网络配置实用了如下方式:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_linux环境

 

下面演示一下给192.168.1.10机器新增一块10G磁盘:

打开VMware,选择菜单“VM”-----> settings---->"Add"----->"下一步"---->选择"Harddisk",点"下一步"---->选"creat a new virtual disk" 点"下一步"----->选"SCSI" 点"下一步"------>输入你想建的虚拟硬盘的大小,点"下一步"------>输入你想建的虚拟硬盘的名字,点"完成"。

现在,我们执行命令,df -h ,发现是看不到这个磁盘的,需要进行分区和挂载,命令如下:

fdisk -l 查看分区情况
fdisk /dev/sdb 根据提示一步步进行分区
mkfs.ext3   /dev/sdb1 格式化分区
cd /
mkdir diskb
mount dev/sdb1 /diskb  我们把这个磁盘,挂载到/diskb这个位置,也就是说我们通过/diskb 这个挂载点,访问的就是这个磁盘
为了永久挂载(每次重启自动挂载),我们 vim /etc/fstab,增加一行:
/dev/sdb1       /diskb      ext3       defaults    1 2

之后,我们通过命令,df -h,发现磁盘已经成功挂载,并且/diskb 就存储在我们新增加的物理磁盘上,入下图:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_linux常用软件_02

 

环境常用配置

 

1、机器启动方式

虚拟机默认是图形用户界面启动的,作为服务器来实用的话,我们更习惯于命令窗口,如下设置:

vim /etc/inittab
id:3:initdefault:

 

vim /boot/grub/grub.conf  去掉“rhgb”和“quiet”参数。
“rhgb”表示”redhat graphical boot”,红帽图形引导。”quiet”表示不在启动时显示内核信息,默认启用该参数。
我们去掉这两个参数的目的是为了起到过程中显示所有的内核信息流,方便监控问题。

 

2、机器命名

vim /etc/sysconfig/network

NETWORKING=yes #启动网络
HOSTNAME=master  #主机名 (192.168.1.10命名为master,192.168.1.11命名为node1)

vim /etc/hosts

增加master,node1和ip的对应关系

 

3、机器IP配置

setup命令,进入图形界面设置,也可以直接通过vim编辑配置文件:

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
HWADDR=fe:d2:05:40:59:99
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.1.11
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=202.106.0.20
IPV6INIT=no
USERCTL=no

之后 ,使用命令:service network restart 使配置生效

 

4、关闭防火墙和SELINUX

关闭防火墙:
(1) 重启后永久性生效:   开启:chkconfig iptables on   关闭:chkconfig iptables off   
(2) 即时生效,重启后失效:   开启:service iptables start   关闭:service iptables stop
关闭SELinux的方法:
 修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
 如果不想重启系统,使用命令setenforce 0
注:
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式

 

5、设置机器时区、及时间自动和标准时间同步

(1) 设置Linux的时区
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

(2) 设置时间自动和标准时间同步

     vim /data/sh/synctime.sh,内容如下:

/usr/sbin/ntpdate -u ntp.api.bz
/sbin/clock -w

     设置synctime.sh的777权限,并加入启动列表/data/sh/restartserverlist,restartserverlist是加入/etc/rc.d/rc.local的。

 

6、安装rzsz

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具
优点:比ftp命令方便,而且服务器不用打开FTP服务。
sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器

步骤如下:

yum -y install lrzsz

这样,当使用SecureCRT连接linux时,就可以使用rz sz命令进行上传下载了。

如果使用:SSH Secure Shell Client的话,这个工具自带上传下载工具,但是感觉这个不如SecureCRT容易使用。

如果在Mac下用iTerm2,配置就毕竟麻烦,因为rz/sz需要客户端支持才行,而iTerm2需要经过一番配置才支持,如下:


不过我用brew没装上,下载下来自行编译安装./configure、make、sudo make install,然后把lrz/lsz拷贝到/usr/local/bin下面,并复制重命名一份rz/sz,就可以了。

7、linux常用命令

linux系统硬件配置查看方法 :


系统操作:

cat /proc/version,  uname -r,  uname -a,cat /etc/issue,cat /etc/redhat-release,file /bin/bash,file /bin/cat  都可以查看OS版本信息

echo $JAVA_HOME 显示环境变量

touch 更新文件的时间戳,比如/etc/rc.d/rc.local中有内容:touch /var/lock/subsys/local 就是代表执行过了的意思

reboot ,shutdown -r now 立刻重启(root用户使用)  shutdown -r 10 过10分钟自动重启 shutdown -r 20:35 在时间为20:35时候重启

halt ,poweroff  立刻关机  shutdown -h now 立刻关机(root用户使用)  shutdown -h 10 10分钟后自动关机 
磁盘操作:

df -h  查看磁盘分区情况

du -sh /usr  查看/usr目录大小

pwd 显示当前目录路径

文件操作:

mv 移动目录

cp 拷贝文件 -r递归拷贝

rm 删除文件

tar 压缩解压 xzf解压,tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩

ln 建立链接命令,比如:ln -s /usr/jdk1.7.0_45/bin/java /usr/bin/java

文件内容操作:

cat 显示内容

vim 编辑内容

tail 即时显示最新内容

查找定位:

whereis xx 查找xx的所在位置

chkconfig --list xx 查找xx是否作为服务运行

find 在机器查找文件,比如: find / -type f -name "rabbitmq-server"

ps -ef | grep xx 显示包含xx的进程

netstat:

查看Socket连接数命令:netstat -napo | grep 1080 | wc -l

查看连接某服务端口最多的的IP地址:netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort -nr|uniq -c|head -20

TCP各种状态列表:netstat -nat |awk '{print $6}'|sort -nr|uniq -c

 

安装Nginx,并配置本地yum源

 

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

这一步实际是制作了一个yum源,在/etc/yum.repos.d/中增加了文件:nginx.repo,内容如下:

# nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/6/$basearch/
gpgcheck=0
enabled=1

实际这个文件也也已手工添加,下面安装nginx:yum install nginx 就可以,默认安装路径如下:

[root@node1 yum.repos.d]# whereis nginx
nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx

 

现在nginx已经安装成功,并且已经作为服务自动启动,我们通过:chkconfig --list nginx 或者 service nginx status可以看到。

执行:service nginx start,立刻启动服务,然后在浏览器输入:http://192.168.1.11:80 就可以看到nginx的默认首页了。

 

参考文章:http://nginx.org/en/linux_packages.html#stable

也可以使用源码方式安装,参考文章:http://www.nginx.cn/install

 

配置yum源:

把rhel安装光盘中的Packages目录拷贝到服务器上,位置:/usr/yum/Packages;把光盘repodata目录拷贝到服务器上,位置:/usr/yum/repodata

vim /etc/nginx/conf.d/default.conf 增加节点:

    location /yum/ {
        root   /usr/;
    }

vim /etc/nginx/nginx.conf,增加3个配置选项,目的是允许目录列表显示:

    autoindex on;//自动显示目录
    autoindex_exact_size off;//人性化方式显示文件大小否则以byte显示
    autoindex_localtime on;//按服务器时间显示,否则以gmt时间显示

重启nginx: service nginx restart

现在浏览器输入:http://192.168.1.11/yum/Packages/  就可以看到列表了。

下面制作文件rhel-source.repo,vim /etc/yum.repos.d/rhel-source.repo,内容如下:

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://192.168.1.11/yum/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-source-beta]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

这样,我们的本地yum源就配置好了。执行 yum clean all 清一下cache。

 

把文件拷贝到服务的方法:

我最先是通过rz -y传到192.168.1.11的,2.6G,花了大约1个小时;后来是通过把文件拷贝到U盘。然后挂载U盘,把文件拷贝到192.168.1.11上,步骤如下:

(1) 鼠标定位到192.168.1.11虚拟机中,插入u盘,只有这样,u盘才能被识别;

(2)fdisk -l ,可以看到/dev/sdb1 ,我们建立目录:mkdir /mnt/temp,然后把u盘挂载到这个目录:mount /dev/sdb1 /mnt/temp

(3)cd /mnt/temp    cp -r Packages /usr/ 把目录拷贝到/usr下面 ,大约花费5分钟

 

安装Java

 

java7地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

java6地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html  下载.bin文件,运行后直接解压在当前目录

 

第一种办法:

下载tar.gz文件,或者.bin自解压文件,解压后,拷贝到目的位置/usr/jdk1.6.0_45(这个位置是随意的),这个步骤以jdk-6u45-linux-i586.bin(这是32位的JDK)为例演示一下:

chmod 777 jdk-6u45-linux-i586.bin

./jdk-6u45-linux-i586.bin

mv jdk1.6.0_45 /usr/jdk1.6.0_45

 

然后,vim /etc/profile.d/java.sh,增加内容:

export JAVA_HOME=/usr/jdk1.6.0_45
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar

 

执行命令:chmod 777 /usr/jdk1.6.0_45/bin (对于jdk6,.bin自动解压的,不需要这一步)

 

再执行以下:source /etc/profile ,让环境变量立刻生效就可以了。

 

第一种办法属于手工配置的办法,好处是可以自行定义JAVA位置。

可以使用echo $JAVA_HOME查看java安装路径。

这种方法安装的java,只有装载了环境变量后才能使用,而系统启动时,自动执行的脚步,比如/etc/rc.d/rc.local,环境变量只有:/sbin:/usr/sbin:/bin:/usr/bin,所以为了一些开机自动运行的需要java环境的程序,比如dubbo,我们在/usr/bin下建立几个java的链接,如下:

ln -s /usr/jdk1.6.0_45/bin/java /usr/bin/java

ln -s /usr/jdk1.6.0_45/bin/javac /usr/bin/javac

ln -s /usr/jdk1.6.0_45/bin/javadoc /usr/bin/javadoc

ln -s /usr/jdk1.6.0_45/bin/javaws /usr/bin/javaws

 

 

第二种办法:

可以下载rpm文件,执行:rpm -ivh xx.rpm 安装,会自行配置好java环境,实际就是做了java/javac命令的两个链接,如下图:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_nginx_03

 

安装DUBBO

 

DUBBO的安装使用非常简单。使用zookeeper为注册中心,监控中心,管理控制台的安装配置都非常简单,完全参照阿里的官方文档即可。

http://dubbo.io/

https://github.com/alibaba/dubbo

百度网盘下载tomcat,zookeeper,dubbo-admin地址:http://pan.baidu.com/s/1c0f531Y

注意:

由于Dubbo源码中,对于XML进行验证的xsd文件所在的网址不在了,所以对于XML中的红叉子,可以通过修改http://code.alibabatech.com/schema/dubbo/dubbo.xsd为正确的网址,或者本地采用这种方法:

 

注意几点:

阿里文档中的版本号要换成新的,因为随着时间流逝,旧版本的链接逐渐都失效了。

在dubbo里面,机器jboss重启,但是不在dubbo里面禁用提供者;因为dubbo有重试机制,重试后会自动调用可用的提供者;但是如果有正在执行的调用,可能会出错,最安全的做法还是先禁用再重启。

dubbo安装的执行命令大致有如下(完成的是一个3台机器的集群):

#zookeeper
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
 tar zxvf zookeeper-3.3.6.tar.gz
 cd zookeeper-3.3.6
 cp conf/zoo_sample.cfg conf/zoo.cfgcd ..   
mv zookeeper-3.3.6 /usr/
vim /usr/zookeeper-3.3.6/conf/zoo.cfg,修改dataDir=/usr/zookeeper-3.3.6
#启动、停止:/usr/zookeeper-3.3.6/bin/zkServer.sh start    /usr/zookeeper-3.3.6/bin/zkServer.sh stop
也可以用单机模拟集群模式:
#tomcat
 wget http://apache.fayea.com/apache-mirror/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz
 tar zxvf apache-tomcat-6.0.37.tar.gz
 cd apache-tomcat-6.0.37
 rm -rf webapps/ROOT
#管理控制台
 wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war
 unzip dubbo-admin-2.4.1.war -d webapps/ROOTvim webapps/ROOT/WEB-INF/dubbo.properties
 dubbo.registry.address=zookeeper://192.168.1.10:2181?backup=192.168.1.11:2181,192.168.1.12:2181
 dubbo.admin.root.password=root
 dubbo.admin.guest.password=guestrm -rf dubbo-admin-2.4.1.war
mv ../apache-tomcat-6.0.37 /usr/

注:dubbo也可以在windows下安装,步骤大致和linux一样,非常简单。

 

设置zookeeper开机自动启动:

/etc/rc.d/rc.local 里面的程序可以自动运行,加入如下命令就可以了:

/usr/zookeeper-3.3.6/bin/zkServer.sh restart

文件路径根据zookeeper安装的实际位置,最通常的做法是做七个启动列表,比如:restartserverlist,里面放置需要开机运行的命令。

设置dubbo管理控制台开机自动启动:

restartserverlist中加入:/usr/apache-tomcat-6.0.37/bin/startup.sh

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_linux_04

 

安装rabbitmq

 

首先,需要安装erlang环境。

 

第一种方式,源码编译:

wget http://www.erlang.org/download/otp_src_R16B03.tar.gz
tar -zxvf otp_src_R16B03.tar.gz
cd otp_src_R16B03
./configure --prefix=/usr/erlang(就是安装路径)
make
make install

 

安装完毕之后,自动有如下处理:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_nginx_05

 

安装完成之后,在/etc/profile文件下添加环境变量:

export ERL_HOME=/usr/erlang
 export PATH=$PATH:$ERL_HOME/bin

 

然后source /etc/profile,让环境变量立刻生效,输入命令 erl -version,可以看到版本号,Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4,说明erlang环境安装完毕。

 

第二种方式,借助于kerl工具,实际也是源码编译:

wget https://github.com/spawngrid/kerl/archive/master.zip
 unzip master
 cd kerl-masters


参考网址:

 

安装过程中的报错及处理:
1.在configure时,会报configure: error: No curses library functions found 错误,这是由于系统缺少ncurses-devel包,安装ncurses-devel包后,重新configure一次: 
yum -y install ncurses-devel  

yum很方便,所以对于rhel配置一个本地的yum源就很重要了。

不推荐:如果没有yum,只能rpm或者编译源码安装,比如对于错误“No curses library functions found”,如下处理:

#http://invisible-island.net/ncurses/#download_ncurses
 wget http://invisible-island.net/datafiles/release/ncurses.tar.gz
 tar xzf ncurses.tar.gz
 cd xx
 ./configure
 make
 make install

参考:http://blog.chinaunix.net/uid-14704264-id-3141148.html
2.在configure时,会报java not found,可以在配置加一个—without-javac选项: ./configure --prefix=/usr/erlang --without-javac   
3.在configure时,还会报一个odbc的disabled,如果你觉得有必要的话,可以安装:(好像不安装也可以直接make,)  yum install unixODBC unixODBC-devel   
4.在configure时还会有其他的错误提醒,可以忽略直接make。
5.ERROR: epmd error for host "master": address (cannot connect to host/port),是因为ip和机器名字不匹配了,需要修改/etc/hosts

 

安装rabbitmq:

#1.rpm方式
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.2/rabbitmq-server-3.2.2-1.noarch.rpm
rpm --nodeps -Uvh rabbitmq-server-3.2.2-1.noarch.rpm

如果不加--nodeps参数,可能会报如下错误:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_nginx_06


安装成功后,位置在:/usr/lib/rabbitmq,可以通过whereis rabbitmq-server 查看到,或者 find / -type f -name "rabbitmq-server",搜索一下:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_nginx_07

现在,我们通过执行rabbitmq-plugins enable rabbitmq_management启动监控工具,执行rabbitmq-server启动一个rabbitmq应用,就可以通过 http://192.168.1.10:15672看到web的监控管理界面了。

 

现在我们把rabbitmq设置为服务启动方式:

chkconfig rabbitmq-server on

service rabbitmq-server start

这样,每次重启机器,rabbitmq都会自动启动。

#2.源代码方式
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.2/rabbitmq-server-3.2.2.tar.gz

 

 

查看服务状态及以服务的方式启动报错的处理:

我们执行service rabbitmq-server status/start,可能会报错,如下:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_linux环境_08

原因是,当以service方式并没有找当前用户的环境变量PATH,而是只有/sbin:/usr/sbin:/bin:/usr/bin这3个,解决这个问题,我们有两个办法:

1.

vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.2.2/sbin/rabbitmqctl
 vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.2.2/sbin/rabbitmq-server


第一行代码前增加内容:PATH=$PATH:/usr/erlang/bin/ 即erl所在的路径。

 

2.在/usr/bin下做个erl的链接就可以了

cp /usr/erlang/bin/erl /usr/bin/

 

类似的问题,比如 ruby,我们开机自行运行程序:

ps -ef | grep -v grep | grep -v vim| grep 'ruby_schedule.rb' | awk '{print $2,$3}' | xargs kill -9 > /dev/null 2>&1
 nohup ruby /data/ruby/ruby_schedule.rb >> /data/ruby/ruby.log 2>&1 &

也会因为开机时找不到ruby,而无法执行,所以我们要在前面增加两行:

#!/bin/bash 
PATH=$PATH:/usr/local/rvm/bin/

目的是支出ruby所在的路径。

 

注意:

从3.3.0版本开始,默认的guest账号不能远程登录控制了,我们可以强制去掉这个限制,或者增加新的用户都可以,编辑这个文件:

vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.5.1/ebin/rabbit.app

参考网址:

 

=================================================
java.lang.NullPointerException
at com.creditease.sia.imp.rmq.SIARecClient.getNextMessage(SIARecClient.java:92)
at com.creditease.pip.adapter.connection.mqserver.BaseMQMsgReceive.run(BaseMQMsgReceive.java:173)
at java.lang.Thread.run(Thread.java:745)
ERROR [Thread-11] - 【SIA-ERROR】获取下一条消息报错


我启动一个读取RabbitMQ的应用后,刷上面那个错误,原因就是我把IP写做了,连不上RabbitMQ导致的。
=================================================

 

windows安装rabbitmq:
安装之前需要先安装erlang环境,之后。
最简单的办法就是使用二进制分发包,会直接把rabbitma安装为服务,就安装好了。
我个人比较喜欢绿色的安装,下载压缩包。解压。配置环境变量:ERLANG_HOME=otp_win64_R16B03.exe安装路径,并把ERLANG_HOME\bin加入PATH中。
双击rabbitmq-server.bat就以一个application的方式启动了。

软件下载地址:
http://www.erlang.org/download.html http://www.rabbitmq.com

RabbitMQ提供了完善的管理和监控工具,分management plugin和rabbitmqctl两种类型的工具,比较常用的是第一种,并直接通过Web界面进行管理控制。
执行rabbitmq-plugins enable rabbitmq_management就可以了。参考:
http://blog.chinaunix.net/topic/surpershi/

 

RabbitMQ的默认日志位置:var/log/rabbitmq,可以修改日志路径,比如:http://blog.slogra.com/post-263.html

 

RabbitMQ流控:

 

安装redis

 

$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz
 $ tar xzf redis-2.8.3.tar.gz
 $ cd redis-2.8.3
 $ make

执行src/redis-server启动实例,执行src/redis-cli客户端连接redis服务器,都正常了,非常简单。

 

实际上,对于redis,我们只需要编译后的3个文件 src/redis-server src/redis-cli 和redis.conf,我们在/usr下建立目录redis,并把这3个文件拷入,即redis目录为:/usr/redis

cp src/redis-server src/redis-cli redis.conf /usr/redis

 

设置redis为开机自动运行:nohup /usr/redis/redis-server /usr/redis/redis.conf > /dev/null 2>&1 & 加入启动就可以了。

注意,不能把 /usr/redis/redis-server放入启动列表,否则会在启动过程中执行完这一步后,开始监听,阻塞在这一步,其实所有的阻塞类命令都不能直接放在启动列表中,否则会在启动过程中阻塞,进不了下一步,进不了登录界面,例子如下:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_linux_09

 

 

设置redis为开机自动运行--制作服务方式:

修改redis.conf中的两处:

daemonize no  #改成yes
 pidfile /var/run/redis.pid  #改成/usr/redis/redis.pid

 

上传文件redisd、redisd-daemon到/usr/redis目录下面,然后执行如下命令:

chmod 777 redisd-daemon
./redisd-daemon

经过以上步骤,redis就被设置为开机自动启动了,现在我们想马上启动redis,执行命令:service redisd start就可以了。

文件下载地址:http://pan.baidu.com/s/1qW98L0C

 

参考文档:

#redis
http://www.redis.io/download #redis for windows
https://github.com/MSOpenTech/redis
#redis制作守护进程
http://blog.chinaunix.net/uid-22312037-id-3484071.html
#redis.conf中文版
http://www.blogjava.net/wangxinsh55/archive/2012/06/05/380058.html

 

redis性能调优:

在 /usr/local/redis/conf/redis_master_6380.conf 中做如下改动
(1)save 900 1 变更为  save 3600 1,注释掉 save 300 10 与 save 60 10000 这两行  (统一将redid的持久化间隔时间变为1个小时),或者如果是用作缓存,可以不持久化
(2) loglevel verbose 替换为 loglevel warning (修改日志输出级别)
(3) rdbcompression yes 变更为 rdbcompression no (不进行数据压缩,用空间换时间)
(4) rdbchecksum yes 变更为 rdbchecksum no (不进行检查)
(5) 然后通过redis-cli客户端执行 

CONFIG SET  save “1800 1"
     CONFIG SET loglevel warning
     CONFIG SET rdbcompression no 
     CONFIG SET rdbchecksum no

关于redis持久化,可以参阅这个帖子:

 

安装maven仓库管理器sonatype nexus

 

在Linux下的安装配置:

wget http://www.sonatype.org/downloads/nexus-2.1-bundle.tar.gz
tar xzf nexus-2.1-bundle.tar.gz
 cd nexus-2.1/bin./nexus start

如果以root账户运行,会报错,因为nexus不推荐使用root账户运行,如果一定使用root账户,需要修改:
vim ./bin/nexus 的 RUN_AS_USER=root

下面我们设置一个开机自动启动:
首先我们把nexus-2.1移动到/usr目录下:mv nexus-2.1 /usr/

vim /data/sh/restartserverlist
 /usr/nexus-2.1/bin/nexus start

这样,nexus就启动起来了,访问:http://192.168.1.11:8081/nexus/index.html ,可以看到管理配置界面了。

 

开启远程索引:
点击右上角“Log in”, 输入用户名和密码(admin/admin123)登录
新搭建的neuxs环境只是一个空的仓库,需要手动和远程中心库进行同步,nexus默认是关闭远程索引下载,最重要的一件事情就是开启远程索引下载。登陆nexus系统,默认用户名密码为admin/admin123。
点击左边Administration菜单下面的Repositories,找到右边仓库列表中的三个仓库Apache Snapshots、Codehaus Snapshots、Central,然后在每一个仓库的configuration下把Download Remote Indexes修改为true。然后在这三个仓库上分别右键,选择Repair Index,这样Nexus就会去下载远程的索引文件。
启用第三方(3th party) Deployment Policy 为 Allow Redeploy

注意:Repair Index/Update Index可能执行时间较长,几十分钟甚至一个小时,让他执行完毕,否则可能本地的代理库并不是最新的,或者只有部分下载下来了,正在执行时,会有任务提示,如下面板会有提示:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_魔兽单机版MYSQL启动不了_10

并且,总会有资源不能一次更新到本地,甚至多次都不能更新下来,疯狂的多试几次吧。

 

关于Apache Snapshots 仓库无法拉取的问题:
nexus默认配置的是如下路径:http://repository.apache.org/snapshots/
然后更新索引的时候日志中会提示:
org.sonatype.nexus.index.DefaultIndexerManager - Cannot fetch remote index for repository "Apache Snapshots" [id=apache-snapshots] as it does not publish indexes.
正确的地址是如下这个:
https://repository.apache.org/content/repositories/releases/  release版本
https://repository.apache.org/content/repositories/snapshots/  非稳定版本
请在仓库配置中更新地址即可。

常用的远程仓库地址:

maven central:http://repo1.maven.org/maven2/
JBoss Releases(jboss-releases):https://repository.jboss.org/nexus/content/groups/public/ Java.Net M2(java.net-m2):http://download.java.net/maven/2/
Google code:http://google-maven-repository.googlecode.com/svn/repository/
 libs-release:http://repo.spring.io/libs-release/
 libs-snapshot:http://repo.spring.io/libs-snapshot/
 bundles release:http://repository.springsource.com/maven/bundles/release/
 bundles external:http://repository.springsource.com/maven/bundles/external/

另外:

https://repository.jboss.org/nexus/index.html 这里jboss本身提供了很多仓库,可以根据自己的需要增加一些proxy仓库。

有的中央仓库可能不全,只有pom,没有jar,比如javax\xml\xmldsig\1.0\xmldsig-1.0.jar,我们可以自行上传到我们的私有repository的3rd party里面就好了:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_linux常用软件_11

然后:

我们的Maven项目,只要setting.xml里面配置mirror使用这个nexus就可以了。

注意:setting.xml里面配置了mirror,项目自身的pom.xml里面如果配置了repository,这个配置是无效的,只会到mirror中去找依赖。

这个链接有setting.xml配置的例子:http://pan.baidu.com/s/1qW98L0C

 

如果遇到有些外部Jar包实在找不到mavan地址的情况,比如jradius-core-1.1.4.jar我就没找到maven地址,对于这种情况,可以手工把jar包上传到hosted类型的仓库中;如果jar包只有自己使用的话,也可以安装到自己本机的仓库中,命令如下:

mvn install:install-file -DgroupId=net.jradius -DartifactId=jradius-core -Dversion=1.1.4 -Dpackaging=jar -Dfile=jradius-core-1.1.4.jar

 

参考:

http://www.sonatype.org/nexus

http://blog.sina.com.cn/s/blog_3f12afd00101f88z.html

http://www.abigdreamer.com/programming/developmentmanagement/sonatype-nexus-advanced-configuration.html

 

在Windows下的安装配置:

Windows下下载解压后,执行:nexus.bat install   nexus.bat start,就把nexus作为服务来运行了。
在Windows7/8下会报如下错误:

1.nexus.bat install时:wrapper | OpenSCManager failed - 拒绝访问。(0x5)
请到c:\windows\system32\cmd.exe  以管理员身份运行就好了。

2.nexus.bat start时:wrapper | The nexus service was launched ,but failed to start.
这是因为机器安装的是JRE6,但是nexus从2.6开始就不再支持JRE6了,所以下载一个低版本就好了。
参考:

3.更多参考文章:
#使用nexus的九大理由: http://juvenshun.iteye.com/blog/285059
#sonatype nexus高级配置

 

安装mysql(rpm方式)

 

1、查找以前是否装有mysql
命令:rpm -qa|grep -i mysql

可以看到有包:mysql-libs-5.1.52-1.el6_0.1.i686

执行卸载名:rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.i686 删除掉,如果有以前版本的mysql,也删除掉

2、删除老版本mysql的开发头文件和库
命令:

rm -fr /usr/lib/mysql
 rm -fr /usr/include/mysql
 注意:卸载后/var/lib/mysql中的数据及/usr/my.cnf不会删除,如果确定没用后就手工删除
 rm -f /usr/my.cnf
 rm -fr /var/lib/mysql

3、安装mysql 5.6.15

上传文件MySQL-devel-advanced-5.6.15-1.el6.i686.rpm、MySQL-client-advanced-5.6.15-1.el6.i686.rpm、MySQL-server-advanced-5.6.15-1.el6.i686.rpm到服务器

rpm -ivh分别安装,安装完毕后,执行命令:chkconfig --list mysql 发现mysql已经被设置为开机自动运行;执行命令service mysql status,发现mysql没有起到,执行service mysql start,让mysql启动

4.修改root密码

Error 1045(28000) Access Denied for user 'root'@'localhost' (Using password:NO)解决方法:
service mysql stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql
UPDATE user SET Password=PASSWORD('root') where USER='root';
FLUSH PRIVILEGES;
quit
service mysql restart
mysql -uroot -proot
 SET PASSWORD = PASSWORD('root');经过以上步骤,root密码已经被修改为root

5.允许mysql远程访问

默认mysql是只允许本机访问的,如下图可以看到:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_linux环境_12

 

如下方式,设置运行远程访问:

mysql -uroot -proot
update mysql.user set host = '%' where user = 'root' and host='localhost';
FLUSH PRIVILEGES;

现在mysql已经可以远程访问了。

6.mysql在生产环境的配置

关于/usr/my.cnf,会对数据文件、日志文件的位置等参数进行定义;关于远程访问,也不会采用%,而是分别对每个机器授权。

参数很多,这里不详细叙述,感兴趣请参阅官方文档。

7. 解决数据库表插入中文显示乱码问题
修改/usr/my.cnf文件,找到[mysqld],在后面加入以下行:

character_set_server=utf8

8.数据库导入导出

mysqldump -h IP地址 -u用户名 -p密码 数据库 > 数据库.sql

mysql -h IP地址 -u用户名 -p密码 数据库 < 数据库.sql

9.修改数据库名和列名

修改列名:
alter table hotel_perpay_order_task_log 
change commentC comment_c varchar(512)  DEFAULT NULL COMMENT 'C端调取信息';
修改表名:
alter table hotel_perpay_order_task_log rename hotel_prepay_order_task_log;

centos6.5安装:

mysql5.7 mysql.user里面没有password列了:

机器环境总结如下:

 

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_nginx_13

 

运维监控软件

 

Open-Flacon:

 

Nagios:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_linux常用软件_14

 

Zabbix:

魔兽单机版MYSQL启动不了 魔兽世界单机mysql连不上_nginx_15