一、centos命令行进入图形界面报错Cannot establish any listening sockets - Make sure an X server isn't already的原因及解决
centos6.5,在命令行中执行startx想进入到图形界面时,报错:Fatal server error: Cannot establish any listening sockets - Make sure an X server isn't already running
原因实际就是你的图形界面已经在运行中,此时你执行startx的意思是再次启动图形界面,所有centos就会报这个错误。那这时怎么进入图形界面呢?
执行:init 5 或者使用按键ctrl+alt+f7。 init是linux的运行级别,从0到6,常用的也就是3和5,3就是命令行(多用户带网络状态),5就是图形界面,6就是重启。cat /etc/inittab配置文件如下:
# Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:
所以这个问题理清如下: 如果你的 /etc/inittab 配置为5,即启动时就进入了图形界面,此时如按ctrl+alt+f3进入命令行后就不能再通过startx命令进入图形界面,(可通过init 5 命令或者按键ctrl+alt+f7进入0)。
如果你的 /etc/inittab 配置为3,则在命令行下使用startx命令可进入图形界面,但从图形界面切换到命令行后再想进入图形界面就只能使用上面的方法了。即只有在第一次进入图形界面可以使用startx命令。
二、centos虚拟机设置好了但启动后不能联网的问题
虚拟机联不上网的原因有很多,第一是vmware虚拟机外层的网络设置,一般使用桥接。采用它的默认设置即可。第二是在虚拟机里使用DHCP动态获取IP,使用setup命令可进入网络IP配置,选择DHCP即可。进入虚拟机后不能联网,比如ping www.baidu.com不能拼通,先检查自己的设置。判断eth0网卡是否启动:
ifconfig命令结果如下:
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
如果只有lo的信息,说明eth0第一块网卡尚未激活使用。此时如果只使用ifconfig eth0 IP地址 命令来分配IP的话可以让虚拟机和HOST相连,但虚拟机不能上外网。正确的做法是使用命令:
ifup eth0 来激活网卡。执行后再使用ifconfig命令就会增加eth0网卡的IP信息。数据如下:
[root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:49:D6:3D inet addr:192.168.93.128 Bcast:192.168.93.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe49:d63d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:182 errors:0 dropped:0 overruns:0 frame:0 TX packets:159 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:19235 (18.7 KiB) TX bytes:19537 (19.0 KiB)
但是碰到另一个问题,是不是要每次开机都需要去执行ifup命令?当然不用,简单的做法就是把ifup eth0命令写到/etc/rc.local中去以在开机便执行。不过这不是好的做法。更好的做法是修改启动配置,如下:
vi /etc/sysconfig/network-scripts/ifcfg-eth0 内容如下:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0c:29:49:d6:3d TYPE=Ethernet UUID=e5947217-2cb0-459a-9641-139a25fcbaa5 ONBOOT=yes #把此项改成yes即可。 NM_CONTROLLED=yes BOOTPROTO=dhcp USERCTL=no PEERDNS=yes IPV6INIT=no
三、centos下rabbitmq队列的安装使用
RabbitMQ是基于Erlang开发的,所以要先必须配置Erlang环境。Erlang是一种通用的面向并发的编程语言,Erlang问世于1987年,由Ericson设计,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。经过十年的发展,于1998年发布开源版本。Erlang语言专门为开发concurrent和distribution系统的一种语言,OTP(Open Telecom Platform)作为Erlang语言的一部分,包含了很多基于Erlang开发的中间件/库/工具,如mnesia/SASL,极大方便了Erlang应用的开发。OTP就类似于Python语言中众多的module,用户借助这些module可以很方便的开发应用。
1. 安装时我遇到的两个错误
erlang的下载地址:http://www.erlang.org/downloads 下载OTP的Source File即可,当前版本19.1版。执行安装,我安装时在这里碰到了两个错误:
********************************************************************* ********************** APPLICATIONS DISABLED ********************** ********************************************************************* jinterface : No Java compiler found odbc : ODBC library - link check failed *********************************************************************
#. ODBC library - link check failed错误
对于上面的错误,其是提示则需要安装unixODBC扩展,安装命令如下:
wget http://www.unixodbc.org/unixODBC-2.2.1.tar.gz mkdir /opt/modules/odbc tar zxvf unixODBC-2.2.1.tar.gz cd unixODBC-2.2.1 ./configure --prefix=/opt/modules/odbc --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc --enable-gui=no make && make install
#. 提示No Java compiler found错误
对于No Java compiler found错误报错,不用进行其它的操作,安装erlang时指定不用java编译器:--without-javac。在完成unix安装后执行erlang的安装脚本:
wget http://erlang.org/download/otp_src_19.1.tar.gz tar zxvf otp_src_19.1.tar.gz cd otp_src_19.1/ ./configure --prefix=/opt/modules/erlang --without-javac make && make install
当然最简单的方法直接 yum install erlang即可完成安装。安装erlang完成后可以使用命令erl检查是否安装成功,成功的话就可以开始安装rabbitmq了。
2. 开始安装 rabbitmq
gitub下载地址:
https://github.com/rabbitmq/rabbitmq-server/releases。 官网的下载地址:http://www.rabbitmq.com/releases/rabbitmq-server rabbitmq的安装脚本如下:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.4/rabbitmq-server-3.3.4.tar.gz tar zxvf rabbitmq-server-3.3.4.tar.gz cd rabbitmq-server-3.3.4 make TARGET_DIR=/opt/modules/rabbitmq SBIN_DIR=/usr/rabbitmq/sbin MAN_DIR=/usr/rabbitmq/man DOC_INSTALL_DIR=/opt/modules/rabbitmq/doc make TARGET_DIR=/opt/modules/rabbitmq SBIN_DIR=/usr/rabbitmq/sbin MAN_DIR=/usr/rabbitmq/man DOC_INSTALL_DIR=/opt/modules/rabbitmq/doc install
安装成功之后就可以启动rabbitmq了。
# /opt/modules/rabbitmq/sbin/rabbitmq-server -detached #后台启动
启动之后通过rabbitmqctl命令行管理工具查看状态:
[root@kermit sbin]# ./rabbitmqctl status Status of node rabbit@kermit ... [{pid,7718}, {running_applications,[{rabbit,"RabbitMQ","3.3.4"}, {os_mon,"CPO CXC 138 46","2.2.7"}, {xmerl,"XML parser","1.2.10"}, {mnesia,"MNESIA CXC 138 12","4.5"}, {sasl,"SASL CXC 138 11","2.1.10"}, {stdlib,"ERTS CXC 138 10","1.17.5"}, {kernel,"ERTS CXC 138 10","2.14.5"}]}, {os,{unix,linux}}, {erlang_version,"Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:30] [kernel-poll:true]\n"}, {memory,[{total,62659416}, {connection_procs,2648}, {queue_procs,5296}, {plugins,0}, {other_proc,9283392}, {mnesia,56864}, {mgmt_db,0}, {msg_index,20984}, {other_ets,720816}, {binary,9744}, {code,14619493}, {atom,1367385}, {other_system,36572794}]}, {alarms,[]}, {listeners,[{clustering,25672,"::"},{amqp,5672,"0.0.0.0"}]}, {vm_memory_high_watermark,0.4}, {vm_memory_limit,417218560}, {disk_free_limit,50000000}, {disk_free,4697255936}, {file_descriptors,[{total_limit,65435}, {total_used,3}, {sockets_limit,58889}, {sockets_used,1}]}, {processes,[{limit,1048576},{used,124}]}, {run_queue,0}, {uptime,48}] ...done.
关闭rabbitmq:
# /opt/modules/rabbitmq/sbin/rabbitmqctl stop