构建百万级高性能Web网站---1 CentOS的安装和网络配置

1.1 安装

CentOS的安装有多种方式,可采用一种适合自己的方式。

我安装的是64CentOS 6.5,采用的是USB的方式。由于安装的img大于了4GB,因此,需要借助工具写入USB,制作USB CentOS安装启动盘,我使用的是UltraISO

U盘安装CentOS 6.5

安装好CentOS后,需要为新系统做些环境相关的配置,比如网络、VNC、中文、FTP等。

1.2 网络配置

安装好系统后,首先要做的是配置网络,否则,你只能继续忍受机房内服务器的强噪音,而不能回到您的位置前,通过ssh工具(比如secureCRTputty)远程登录到该机器上进行操作,也不能通过FTP/SFTP进行灵活的文件传输。

 

利用root用户登录;

#vim /etc/hosts

给你机器起个易记的名字,比如以山名、城市名、名人名等。

比如:

192.168.1.118   maoshan

 

#cd /etc/sysconfig/network-scripts

该目录下有机器网络接口的配置文件,比如ifcfg-em1,,ifcfg-em4分别对应了四个网口;大多机器上接口名字可能是ifcfg-eth0,ifcfg-eth1,,ifcfg-eth3。没关系,只是命名不一样,这个名字是可以修改的,后面介绍。

以下是一个命令行配置网络接口的例子,供参考。

高性能网站系列1-CentOS的安装和网络配置



vim打开,比如使用vim (一种linux下的编辑工具),打开第一个网口接口配置文件:

#vim ifcfg-em1

其中DEVICE, HWARDDR, TYPE, UUID, ONBOOT及其值,都会在安装系统时自动生成;ONBOOT缺省值是no;即机器重启时,该网口不生效。自然要改为yes

NM_CONTROLLED务必改为no,特别是机器将作为服务器托管在别的机房中时。原因,后面再谈。

配置好NETMASK, IPADDR, GATEWAY

配置好DNS,可以有多条;这儿8.8.8.88.8.4.4google的两个域名解析服务器;电信的通常是202.96.209.5, 202.96.209.6, 202.96.209.133等,联通的有124.161.97.234,124.161.97.234 ;各地区不一样,当然,你也可以配置成其他地区的,只是DNS解析可能得花更多的时间,因此,最好根据你的网络供应商提供的来配置。

 

重启启动网络接口:

#service network restart

或者,重启机器

#reboot

 

查看网络接口情况:

#ifconfig a

 

#ping 192.168.1.118

#ping 192.168.1.1

若都能ping通,说明IP地址配置好了

#ping www.baidu.com

若能ping通百度,说明DNS也配置好了。

 

务必关闭NetworkManager服务

#service NetworkManager stop

#chkconfig NetworkManager off

这样,即使重启机器,也不会自动启动NetworkManager服务。

 

这也是我们前面讲NM_CONTROLLED=no的原因,

其一,我们以后将都用命令行方式修改配置,其二,若改为yes,若机器是托管在别机房中的,重启机器时将带来麻烦,一旦修改了网络配置,该网口将起不来。因为,NetworkManager将自动先接管网络接口,导致还没来及使用service network restart重启网络接口,网络已断了。你只能跑到远程机房里面去重启网络。

 

1.3 配置yum

yum(全称为Yellow dog Updater, Modified)是一个在FedoraRedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

 

1.3.1 安装fastestmirror

概括了部分常用的命令包括:

# rpm –qa|grep fastest    //查看是否已安装fastestmirror

自动搜索最快镜像插件:yum install yum-fastestmirror yum-presto

安装yum图形窗口插件:yum install yumex

查看可能批量安装的列表:yum grouplist

 

Yum问题:

unknown host mirrorlist.centos.org

解决:将以下内容加入resolv.conf

[root@maoshan etc]# cat /etc/resolv.conf

nameserver 8.8.8.8

nameserver 8.8.4.4

无需重启什么。

但在CENTOS下,手工修改的resolv.confnetwork 服务重启后将丢失。

应该将DNS配入ifcfg-em1 or ifcfg-eth0, 详见网络配置。

 

1.3.2 CentOS配置本地yum源(使用镜像iso文件)

http://blog.csdn.net/dupei/article/details/6215381

将安装盘的iso镜像文件拷贝到硬盘,并将此作为本地yum

 

mount -o loop /home/share/software/CentOS-6.5-x86_64-bin-DVD1.iso /home/share/centos65

高性能网站系列1-CentOS的安装和网络配置

修改/etc/yum.repos.d/ CentOS-Media.repo

 高性能网站系列1-CentOS的安装和网络配置


 使用本地yum源:

只使用本地源

yum --disablerepo=\* --enablerepo=c6-media xxx

xxx为对应使用的命令

 

 

1.4 配置电信联通双网卡双IP

http://down.51cto.com/data/326315

由于中国特色的通信运营环境,各运营商间的互联互通目前依然不理想,这样市场上也就出现了双线或多线IDC机房。这也带来了网络配置,DNS解析配置,负载均衡配置,网络监控的复杂化。

高性能网站系列1-CentOS的安装和网络配置

网卡信息:

电信IPCTC):114.80.66.145 netmask 255.255.255.192 gateway 114.80.66.1
联通IPCUC):60.29.231.160 netmask 255.255.255.192 gateway 69.29.231.1

#vi /etc/iproute2/rt_tables,增加网通和电信两个路由表
251 ctc   电信路由表,中国电信 ctc
252 cuc  
 网通路由表,联通 cuc

有的文章介绍,将router配置命令,比如router replace, router add直接加入/etc/rc.local

我建议不要使用rc.local的方式开机自执行这些router脚本,将导致rc.local中的其它shell脚本执行失败;建议将router命令写个shell脚本(比如configRouter.sh),放入/usr/local/bin, 并写个service脚本来启动该shell脚本,该service脚本(比如configRouterSvc)放入/etc/init.d/

 

/usr/local/bin/configRouter.sh的内容

#!/bin/bash

### configure dual NICs and IPs

ip route flush table cuc

ip route add default via 60.29.231.1 dev eth1 src 60.29.231.160 table cuc

ip rule add from 60.29.231.160 table cuc

 

记得将shell脚本设定为可执行的:

chmod a+x /usr/local/bin/configRouter.sh

实际上,若只需要支持两张网卡,两个IP, 则可以将电信的ip等信息直接配入ifcfg-eth0,而联通的路由信息需要如上所示,写入configRouter.sh.

ifcfg-eth0

DEVICE=eth0

HWADDR=84:8F:69:E3:34:42

TYPE=Ethernet

UUID=760ee2ca-85fc-41bc-96f6-f70027c31505

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=114.80.66.145

NETMASK=255.255.255.192

GATEWAY=114.80.66.1

IPV6INIT=no

PEERDNS=yes

DNS1=8.8.8.8

DNS2=202.96.209.133

 

 

ifcfg-eth1

DEVICE=eth1

HWADDR=84:8F:69:E3:54:66

TYPE=Ethernet

UUID=bf9afa50-472f-4681-99f4-2ab49d058021

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=60.29.231.160

NETMASK=255.255.255.192

#GATEWAY=60.29.231.1

default gateway

PEERDNS=NO

DNS3=210.22.70.3

 

注意:这儿不能设定GATEWAY,已注释掉,否则,这儿设定的将成为该主机的default gateway

 

/etc/init.d/configRouterSvc的内容

#!/bin/bash

 

#configRouter Startup script for configuring router

#chkconfig: - 80 00

#description: configure router auto start

#processname: configRouterSvc

CMDSVCD=/usr/local/bin/configRouter.sh

prog="configRouterSvc"

[ -x $CMDSVCD ] || exit 0

# Start daemons functions.

start() {

echo -n "Starting $prog:  "

sh $CMDSVCD

}

 

# Stop daemons functions.

stop() {

echo -n "Stopping $prog: "

}

reload() {

echo -n "Reloading $prog: "

}

# See how we were called.

case "$1" in

start)

           start

           ;;

stop)

           stop

           ;;

reload)

           reload

           ;;

restart)

           stop

           start

           ;;

status)

           status $prog

           RETVAL=$?

           ;;

*)

           echo "Usage: $prog {start|stop|restart|status|help}"

           exit 1

esac

 

 

记得将shell脚本设定为可执行的:

chmod a+x /etc/init.d/configRouterSvc.sh

 

将脚本文件设定为开机自启动

chkconfig --add configRouterSvc

#chkconfig configRouterSvc on

 

#service network restart

或者

reboot

 

重新登录后,查看路由信息:

route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

60.29.231.159  *               255.255.255.192 U     0      0        0 eth1

114.80.66.144                  255.255.255.192 U     0      0        0 eth0

link-local      *               255.255.0.0     U     1003   0        0 eth0

link-local      *               255.255.0.0     U     1004   0        0 eth1

default         114.80.66.1     0.0.0.0         UG    0      0        0 eth0

 

若发现联通不通或感觉configRouterSvc没有自动启动,可以如下执行联通路由配置:

/usr/local/bin/configRouter.sh

可以多次执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值