虚拟机安装
看内核的命令:uname –r
安装系统
在常规情况下,我们发现它都会默认调用。我们不需要更改它的启动顺序了。如果它没有直接调用,我就应该更改它的启动顺序了。虚拟机打开按F2,然后选择boot去更改。
在安装5.8的时候说过了。
Install or u
安装或者升级已经存在的系统
通过基本的basic video driver来安装
营救安装系统
通过本地的drive驱动
内存测试
我们尽量选择英语安装,我们这里是尝试一下中文安装
生产环境,我们一般都先做raid,,然后在raid之上再装系统。Raid叫磁盘冗余阵列,它可以把多块盘变成一块盘。有备份的功能。有把多块盘整合成一块盘的功能。
LVM:逻辑卷管理,动态的增加磁盘分区的大小。这样一个逻辑卷,在生产环境中。用逻辑卷的公司非常少。除非是虚拟化环境。因为逻辑卷,它除了方便你扩充某个磁盘分区容量外,它对性能、效率没有任何好处。由于硬盘比较大,我们在分区的时候。就要注意好,我这个分区适合未来一两年的要求。这样你就不用怕分区不够了的情况了。假如说:你有100个T的空间,你非得分8个G,一会就满了,这个适合你就需要LVM扩充了。但是你有一个T的空间,你直接给了1个T,那你就不用分了。
LVM对数据的保存没有任何好处。也就是说我们过于强调性能。我们就不要用LVM,我们要用raid,它俩是对应的。硬raid,不是软raid。如果你强调增加磁盘管理的方便性,那你用LVM。
虚拟化环境,不用LVM,不用软raid,用硬件raid。因为它的性能更高。
比如说:你在一个磁盘上用raid分区。如果磁盘坏了,它也没用,它也没用备份的作用。
文件类型ext4,这个是centos6最大的变化,centos5的文件类型是ext3,还有强制为主分区,我们可以选,也可以不选,我们这里面不选了。
Swap分区多大啊!内存的1到1.5倍。我们给512m,如果内存大于8G以上,你可以给1倍。当然,你说你想给16G的话,也行。这个东西没用必须之说。参考值就是内存的1到1.5倍。那你说你内存就1个T,那你swap还要给2个T吗?那就不用了。
Swap分区的作用:一般来说当内存不够用的时候,它会通过swap分区来缓冲一下。相当于虚拟内存。有些哥们,在数据库系统当中,干脆不用swap,不用swap的一个优点是很快。因为一用swap就说明你占用磁盘了。占用磁盘了,它肯定没有内存效率高。所以就慢了。但是它会有一个问题,一旦内存别用光了,服务器可能就直接宕机了。因为它没有缓冲的地带。
要不要强制主分区,好了,我们这里先不强制主分区了。
选择格式化
然后也不给强制主分区了。确定。
我们说如果在工作中,你专门是装系统的。给别的部门用的话,我们一般该怎么做呢?
比如说有1个T的空间,假如你的根目录下不放东西,在这种情况下。你可以给40到100G,然后剩下大概900G的不分。那什么时候分呢?留给使用的人分。就相当于开发商盖房子一样。你先别打隔断,我家有3口人,我就打3个隔断。我要做三室一厅。我家有10个人,我可能会打更多的隔断。或者是我干脆就不打隔断了。所以你把剩余的不分,那后面的人会有更大的使用空间。所以说:这是最有效率的,这是普通的分法。
那么在工作过程中,一般的WEB服务器。老师告诉大家,我们是怎么分的?
分区简单的讲解:
Web服务器集群:
假如是
600G-1T的硬盘
/boot 200M
Swap 1.5mem
所有的都给/
这就相当于你从开发商手里买房子,你不打隔断,就这样敞亮儿(东北话)住。
这种方式就相当于windows系统下只有C盘一样,只有C盘的好处是什么?只要硬盘没满,可以随便装程序。
600G-1T的硬盘
/boot 200M
Swap 1.5mem
我们除了给根分区,分80-100G,有的同学会说,老师我的数据库会要求空间更大一点。那你实在不行,你就给根分区40个G,但是你一定要确保你的根下面不要写什么日志,把给充满,这样会导致系统宕机的或者是服务有问题。然后你再把剩下的分区
比如说用data分区做数据库,那就把所有剩余的空间都给data分区。也就是说:有数据的业务。尽可能的把数据所在的分区单独分,也就是数据盘和系统盘不要放到一起。
分区的实质:给这个硬盘划分柱面,分完区了要想用的话就得格式化,格式就会有文件系统。实际上就是把这个磁盘用特定的存储格式去处理一下,这样就可以存储数据了。
要遵循最小化安装原则
基本系统:基本、性能工具、调试工具
开发:开发工具
服务器:NFS文件服务器、系统管理工具
系统管理:SNMP支持、系统管理
语音支持:支持中文
高可用性:高可用性
我们在虚拟机上装系统的时候一定要注意,我们所装系统所占的内存不要超过或者等于我们的笔记本的内存。我下面装的这个系统由于等于了我电脑的真实内存,所以笔记本就非常卡了。
因此我们调整一下,调成1G的内存。
好,我们接下来,启动一下我们新装的系统。
我们查看一下网卡。
第一块网卡
把它默认的使用DHCP去掉。
这会启来了,我们看一下他的配置文件
它默认情况下不启动,5.8、5.9版本是不存在这种情况的。
所以我们要把ONBOOT=no 改成ONBOOT=yes ,要不然我们重启了也会连不上的。
我们reboot一下,我们不用reboot,我直接用CRT连就可以了。
查看内核版本
[root@demo ~]# cat /etc/redhat-release
CentOS release 6.4 (Final)
[root@demo ~]#
看内核
C6.4的最小化安装
安装6.4的时候选包情况:
Installed Groups:
Base
Compatibility libraries
Debugging Tools
Development tools
Dial-up Networking Support
Hardware monitoring utilities
Performance Tools
如果忘记选包,安装后可以按如下方式选包:
yum groupinstall "Compatibility libraries"
yum groupinstall "Performance Tools" "debugging Tools" "Dial-up Networking Support"
yum groupinstall "Base" "Development tools"
优化
一、演示环境调整防火墙开机自启动关掉
无外网ip就关掉防火墙
chkconfig iptables off
接下来关闭当前的防火墙
/etc/init.d/iptables stop
二、关闭selinux
1、界面操作关闭selinux和防火墙
命令行输入setup,选择Fiarwall configuration ,将两者关闭就可以了
2、修改配置文件
vi /etc/selinux/config
将SELINUX=enforcing改成SELINUX=disabled
或者用sed替换
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
为了不需要重启再在命令行输入
[root@appche ~]# setenforce 0 ##临时生效需要和配置文件修改配合才能达到不重启永久生效
查询命令
getenforce
[root@appche ~]# getenforce
Disabled
修改前
[root@appche ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
修改后
[root@appche ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
三、添加普通用户
1、交互设置用户密码
以下操作都是在交谈窗口批量操作这里为了文档写在前面
[root@appche ~]# useradd oldboy
useradd: user oldboy exists
[root@appche ~]# id oldboy
uid=2002(oldboy) gid=2002(oldboy) groups=2002(oldboy)
[root@appche ~]# passwd oldboy
Changing password for user oldboy.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
2、非交互式的设置用户密码
[root@appche ~]# echo "123456" |passwd --stdin oldboy && history -c 非交互式的设置用户密码并清空历史记录防止被黑客利用
Changing password for user oldboy.
passwd: all authentication tokens updated successfully.
四、配置国内yum软件源
cd /etc/yum.repos.d/
/bin/mv CentOS-Base.repo CentOS-Base.repo.ori
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
/bin/mv CentOS6-Base-163.repo CentOS-Base.repo
使用如下命的两条命令使得系统更新到最新。由于时间紧关系我们就不更新了。
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum upgrade
centos6.4 64bit yum源的配置方法
cd /etc/yum.repos.d/
/bin/mv CentOS-Base.repo CentOS-Base.repo.ori
#c6.4 64bit
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
/bin/mv CentOS6-Base-163.repo CentOS-Base.repo
五、安装必要的软件包
六、精简开机自启动服务
[root@appche ~]# for name in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig $name off;done ====》》先关闭所有已经是开机启动的服务
[root@appche ~]# for name in crond network syslog sshd sysstat;do chkconfig --level 3 $name on;done #--->然后在开启需要的服务c64上是 rsyslog
[root@appche ~]# chkconfig --list|grep 3:on
crond 0:off 1:off 2:off 3:on 4:off 5:off 6:off
network 0:off 1:off 2:off 3:on 4:off 5:off 6:off
sshd 0:off 1:off 2:off 3:on 4:off 5:off 6:off
syslog 0:off 1:off 2:off 3:on 4:off 5:off 6:off
sysstat 0:off 1:off 2:off 3:on 4:off 5:off 6:off
七、更改ssh登录配置
1、备份配置文件
\cp /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +"%Y-%m-%d_%H-%M-%S"`
2、命令替换,可以写到一键脚本内
\cp /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +"%Y-%m-%d_%H-%M-%S"`
sed -i 's%#Port 22%Port 52113%' /etc/ssh/sshd_config
sed -i 's%#PermitRootLogin yes%PermitRootLogin no%' /etc/ssh/sshd_config
sed -i 's%#PermitEmptyPasswords no%PermitEmptyPasswords no%' /etc/ssh/sshd_config
sed -i 's%#UseDNS yes%UseDNS no%' /etc/ssh/sshd_config
egrep "UseDNS|52113|RootLongin|EmptyPass" /etc/ssh/sshd_config
重启sshd服务
/etc/init.d/sshd reload
八、将普通用户oldboy加入到sudo管理
1、备份sudoers文件
\cp /etc/sudoers /etc/sudoers.ori
2、加入权限
echo "oldboy ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
3、检查查看
tail -1 /etc/sudoers
九、修改中文显示
1、命令行操作
echo 'LANG="zh_CN.GB18030"' >/etc/sysconfig/i18n
2、加载生效
source /etc/sysconfig/i18n ###source可以用点号替代加载
3、查看
cat /etc/sysconfig/i18n
/etc/sysconfig/i18n文件详解
编辑/etc/sysconfig/i18n这个文件,
不管你装的是中文版,还是英文版.删掉原来的设置,把下面的拷贝过去
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
保存,重起.OK了
这时候,linux控制台下就可以显示中文了,
在RHEL5中对应的文件是/usr/lib/locale/zh_CN.gb18030
/etc/sysconfig/i18n 这里存放的是系统的区域语言设置
第一行 表明你当前系统的语言环境变量设置 ,这里是 zh_CN.GB18030
第二行 表明系统预置了那些语言支持 ,不在项目中的语言不能正常显示
第三行 定义控制台终端字体,你文本登录的时候显示的字体就是这个 latarcyrheb-sun16
注:
I18N是 internationalization 的缩写形式,意即在 i 和 n 之间有 18 个字母,本意是指软件的“国际化”.
I18N支持多种语言,不过同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;
原来的:
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
十、服务器时间同步
1、加入到定时任务
echo '*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1' >>/var/spool/cron/root
2、查看定时任务
crontab -l
十一、加大服务器文件描述符ulimit
1、命令更改
echo '* - nofile 65535 ' >>/etc/security/limits.conf
2、查询,必须退出再进才可以生效
ulimit -n
十二、调整内核参数文件/etc/sysctl.conf
1、先备份配置文件
cp /etc/sysctl.conf /etc/sysctl.conf.`date +"%Y-%m-%d_%H-%M-%S"`
2、命令行追加
cat>>/etc/sysctl.conf<<EOF
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout=1
net.ipv4.tcp_keepalive_time=1200
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.ip_local_port_range = 1024 65535
EOF
3、查看配置文件
cat /etc/sysctl.conf
4、配置完后要让其生效
sysctl -p ###让系统内核文件生效的命令
调整内核参数文件/etc/sysctl.conf后,需执行/sbin/sysctl -p 使得修改生效。
十三、修改退出登录时间和历史记录命令
[root@NFS ~]# vi /etc/profile
TIMEOUT=600
HISTSIZE=50
HISTFILESIZE=50