Linux安装好系统后优化
author:headsen chen
date: 2018-05-14 15:35:49
1、快速更改国内yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #<<-备份系统自带yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo <<—国内使用阿里云yum源速度比较快
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum makecache
2、安装必要的软件工具
yum install lrzsz systat tree vim nmap unzip dos2unix nc lsof
yum groupinstall "Development Tools"
yum groupinsll "x software development"
3、清理开机自启动服务
chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash <<-关闭服务
chkconfig --list|grep 3:on <<-检查开机启动的服务
4、更改ssh登录配置
Port #端口
PermitRootLogin no #禁止root登录
PermitEmptyPasswords no #禁止空密码登录
UseDNS no #不适用dns,对远程主机进行反向解析,会减慢ssh连接速度
ListenAddress #监听指定的IP地址
5、将需要的普通用户加入到sudo权限里
[root@model ~]# visudo #等于 vim /etc/sudoers 两者修改的是同一个文件
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
zxin10 ALL=(ALL) ALL
6、解决普通用户命令找不到的问题
普通用户与root环境变量一致
#修改各个用户的
echo "export PATH=$PATH:/usr/sbin/:" >> ~/.bash_profile
source ~/.bash_profile 得生效
7、配置字符集
linux中文显示设置
GBK用2个字节表示一个中文,UTF-8用3个字节表示一个中文
使用secureCRT可以设置编码格式,必须和系统设置的一样
Option--Session Option--Appearance
选项--会话选项--外观-- 字符编码
修改系统:
cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
echo 'LANG="zh_CN.UTF-8"' >/etc/sysconfig/i18n
source /etc/sysconfig/i18n
echo $LANG
8、同步系统时间
yum -y install ntpdate
which ntpdate    ------> /usr/sbin/ntpdate  #ntpdate命令的全路径输出
加入到定时任务里面去:
echo '#time sync by mmod at 2015-2-1' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root
crontab -l
9、关闭SElinux,iptables,NetworkManager
sed -i 's/SELINUX=enforcing/SELINUX=disabled' /etc/selinux/conf # 直接修改读取内容而不输出到终端
reboot
10、五个企业环境中开机自启动的服务;
sshd:远程连接linux服务器必须开启
rsyslog:日志相关软件
network:网络服务
crond:系统和用户配置的计划任务周期性进行
sysstat:收集系统性能数据,有利于判断系统是否正常
设置开机自启动服务的常见方法
方法一:ntsysv
方法二:setup
方法三:
chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
11、加大服务器文件描述符
#查看limit 
[root@model ~]# ulimit -n
1024
#修改配置文件
echo '*    -   nofile 65535' >/etc/security/limits.conf
#加入开机自启动该命令:
echo "ulimit -HSn 65535" >> /etc/rc.local
echo "fs.file-max = 100000" >>/etc/sysctl.conf
12、修改内核参数
两种修改内核参数方法:
12.1、使用echo value方式直接追加到文件里如echo "1" >/proc/sys/net/ipv4/tcp_syn_retries,但这种方法设备重启后又会恢复为默认值
12.2、把参数添加到/etc/sysctl.conf中,然后执行sysctl -p使参数生效,永久生效,老男孩推荐参数:
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl =15
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_wmem = 8192 131072 16777216
net.ipv4.tcp_rmem = 32768 131072 16777216
net.ipv4.tcp_mem = 786432 1048576 1572864
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.ip_conntrack_max = 65536
net.ipv4.netfilter.ip_conntrack_max=65536
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
sysctl -p
选配部分:
-----------------------------------------------------------------------------------
1、定时清理邮件服务临时目录垃圾文件
•Centos 5
find /var/spool/clientmqueue/ -type f |xargs rm -f
•Centos 6
find /var/spool/postfix/maildrop -type f |xargs rm -f
#df -i 查看磁盘inode的总量、使用量、剩余量
2、锁定关键系统文件,防止被提权篡改
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
使用lsattr 进行查看,chattr -i进行解锁
禁止linux系统被ping
3、为了增加系统的安全性。可以禁止我们的linux系统被ping,可惜修改iptables来设置
echo 'net.ipv4.icmp_echo_ignore_all=1'  >> /etc/sysctl.conf
sysctl -p 重载信息并更新启动
如果要恢复:
> /etc/sysctl.conf
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
4、隐藏系统版本还版本号
vim /etc/issue修改文件
>/etc/issue 清空
echo "">/etc/redhat.release
5、升级软件安装漏洞 yum install openssl openssh bash -y
配置实例:
centos7系统安装完成后一些基本的优化
一:主机名和hosts文件
centos7有一个新的修改主机名的命令hostnamectl
# hostnamectl set-hostname --static li.cluster.com
# vim /etc/hosts	--最后加上你的IP与主机名的绑定
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.13.250  li.cluster.com  li
二:关闭iptables
# systemctl status firewalld.service	--查看firewalld服务的状态,active是启动状态,inactive是关闭状态
# systemctl stop firewalld.service	--关闭此服务
# systemctl list-unit-files |grep firewalld	--查看firewalld是否开机自动启动
firewalld.service                           enabled
# systemctl disable firewalld.service	--类似以前的chkconfig xxx off
# systemctl list-unit-files |grep firewalld
firewalld.service                           disabled
三:关闭selinux
# sed -i 7s/enforcing/disabled/  /etc/selinux/config	--改完后,在后面重启系统生效
四:网络配置
# systemctl stop NetworkManager		--停止服务
# systemctl status NetworkManager	--查看状态,确认为关闭了
# systemctl disable NetworkManager	--设置为开机不自动启动
# vim /etc/sysconfig/network-scripts/ifcfg-enp2s0	--网卡名如果不一样,找到对应的文件就行
BOOTPROTO="static"
NAME="enp2s0"
DEVICE="enp2s0"
ONBOOT="yes"
IPADDR=172.16.13.X
NETMASK=255.255.255.0
GATEWAY=172.16.13.254
DNS1=114.114.114.114
# /etc/init.d/network restart		--network服务这里默认还是可以使用原来的管理方法
# chkconfig network on
五:yum配置
# cd /etc/yum.repos.d/
# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
配置可选epel源
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm	--此版本信息会随时间推移而变化
# rpm -ivh epel-release-7-10.noarch.rpm
# yum clean all
# yum makecache fast
六:输入法配置
默认只有拼音中文输入法,需要使用极点五笔输入法,安装过程如下:
# yum install ibus ibus-table-chinese-wubi-jidian
安装完后,需要右上角把用户注销重登录
左上角applications--system tools -- settions -- Region & Language -- +或-你的输入法就可以了
加完之后,使用super+space键进行切换
七:时间同步
# yum install ntp  ntpdate	--安装ntp时间同步相关软件包
# vim /etc/ntp.conf		--确认配置文件里有下列的时间同步源
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst
# systemctl enable ntpd		--设置开机自动启动ntpd
# systemctl start ntpd		--立即启动ntpd服务
# date				--确认时间与现在时间一致
# ntpdate 0.rhel.pool.ntp.org	--如果还没有同步成功,你可以用此命令手动同步一下
八:有些命令的参数可以自动补全,如果不能补全,则安装下面的命令(可能需要注销一下)
# yum install bash-completion
九:vnc的配置
# vncpasswd 		--设定vcn连接的密码
Password:
Verify:
# x0vncserver --PasswordFile=/root/.vnc/passwd --AlwaysShared=on --AcceptKeyEvents=off AcceptPointerEvents=off &> /dev/null &
十:桌面锁屏
左上角applications--system tools -- settions -- Privacy  设置是否自动锁屏
手动锁屏
super+l
十一:图形界面快捷键修改
左上角applications--system tools -- settions -- Keyboard -- Shortcuts   去修改自己习惯的快捷键
十二:设置默认启动级别为图形模式(相当于以前的5级别)
# systemctl get-default			--查看当前的运行模式
# systemctl set-default graphical.target	--设置图形模式为默认模式
ulimit(选项)
选项
-a:显示目前资源限制的设定;
-c <core文件上限>:设定core文件的最大值,单位为区块;
-d <数据节区大小>:程序数据节区的最大值,单位为KB;
-f <文件大小>:shell所能建立的最大文件,单位为区块;
-H:设定资源的硬性限制,也就是管理员所设下的限制;
-m <内存大小>:指定可使用内存的上限,单位为KB;
-n <文件数目>:指定同一时间最多可开启的文件数;
-p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;
-s <堆叠大小>:指定堆叠的上限,单位为KB;
-S:设定资源的弹性限制;
-t <CPU时间>:指定CPU使用时间的上限,单位为秒;
-u <程序数目>:用户最多可开启的程序数目;
-v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。
在我的centos 6.3 32位系统输入 ulimit -a 结果如下

ulimit -n
问题: Can’t open so many files 对于linux运维的同学们,相信都遇到过这个问题。
在Linux下一切资源皆文件,普通文件是文件,磁盘打印机是文件,socket 当然也是文件。系统默认设置成1024,但是这个数字对于服务器特别是大并发的远远是不够的,所以,我们需要结合实际情况修改成一个更大更合理的值。
修改方法
vim /etc/security/limits.conf
| 1 2 3 | # 确认包含下面的内容:* soft nofile 65536* hard nofile 65536 | 
保存,然后重启
注:65536 是我这边的设定值,读者也可以自行设置一个合适的值,* 代表针对所有用户
同时还有个要注意的值 file-max 是设置 系统所有进程一共可以打开的文件数量 ,可以通过如下方法进行修改
echo 100000 > /proc/sys/fs/file-max
或修改 /etc/sysctl.conf, 加入
fs.file-max = 100000 重启生效
另外还有一个,/proc/sys/fs/file-nr,可以看到整个系统目前使用的文件句柄数量
ulimit -u
比如我们在模拟大规模http并发测试的时候,客户端会报一个无法fork new proc异常,原因是受到了最大进程1024的限制
解除 Linux 系统的最大进程数
方法如下
vim /etc/security/limits.d/90-nproc.conf
| 1 2 3 | # 添加如下的行*          soft    nproc     10240root       soft    nproc     unlimited | 
Linux安装好系统后优化的更多相关文章
- 真实的物理机安装Centos7系统后网卡只有lo没有eno1的解决办法:实际上是物理机未安装网驱动卡
		问题症状: 我真实的物理机安装Centos7系统后,在/etc/sysconfig/目录下查看,发现网卡只有lo没有eno1,出现该问题的实际原因是物理机未安装网驱动卡. 解决办法: 不多说了,让我们 ... 
- linux 安装源码后的操作 ldconfig
		https://blog.csdn.net/cqkxboy168/article/details/8657487 知识点: .如果使用 ldd 命令时没有找到对应的共享库文件和其具体位置,可能是两种情 ... 
- 虚拟机安装Centos7系统后优化操作
		重点说明 以下操作针对于VMware软件上新创建的Centos7的虚拟机的优化,当需要多台虚拟机的实验环境时,可通过以下需求先操作配置出一台优化机(也可称为模板机),并创建快照记录,以后的多台虚拟机环 ... 
- VirtualBox虚拟机安装Ubuntu系统后,增加内存空间和处理器核心数
		对于Linux爱好者而言,初次使用虚拟机时,一般都会使用默认的设置,例如硬盘空间.内存空间等等. 而往往在熟悉之后,安装了某些必要的软件,或者熟悉了实际的开发场景后,却发现原本给虚拟机分配的物理资源是 ... 
- Linux安装完Tomcat后无法登陆管理界面
		今天在Linux中安装完Tomcat后无法登陆Tomcat的管理界面,也就无法利用Tomcat管理界面来部署项目. 在Windows中一般配置完Tomcat后,只要在[conf]目录下的“tomcat ... 
- Kali Linux 装好系统后安装经常使用软件
		1.配置软件源 leafpad /etc/apt/source.list or(recommand): #官方源 deb http://http.kali.org/kali kali main no ... 
- 安装Ubuntu系统后的配置工作
		目录 卸载webapps和LibreOffice 修改软件更新和安装的apt源 修改安装python库的pip源 安装并设置搜狗输入法 安装vim.git.pip和tweak软件 修改用户主目录下的文 ... 
- Win10安装7 —— 系统的优化
		本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12371356.html 一:引言 在我们使用电脑的过程中,总是有一些窗口弹出来需 ... 
- 安装unbuntu系统后改回windows引导的方法
		1.安装EasyBCD 2.点BCD部署 3.分区:选c盘 4.点击编写MBR 5.点编辑引导菜单 6.确定win10后们的是有勾 7.点击保存设置 
随机推荐
- Mysql5.7的初始密码更改
			软件版本的变化真是让人兴奋…… Linux服务器决定安装使用mysql 5.7了. 愉快的去官网下载安装包:https://dev.mysql.com/downloads/mysql/ 解决完所有依赖 ... 
- tp数据库操作
			1.常见的数据库操作//插入记录// $insert=Db::execute("insert into tp_user (username,password) values ('dome', ... 
- Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结
			Atitit.D&D drag&drop拖拽功能c#.net java swing的对比与实现总结 1. 实现一个D&D操作一般包括三个步骤: 1 2. .net黑头的拖曳机制 ... 
- [k8s]helm原理&私有库搭建&monocularui和kubeapp探究
			运行最简单的charts示例 helm的2个chart例子: https://github.com/kubernetes/helm/tree/master/docs/examples/nginx he ... 
- [转]如何为图片添加热点链接?(map + area)
			原文地址:https://www.cnblogs.com/jf-67/p/8135004.html 所谓图片热点链接就是为图片指定一个或多个区域以实现点击跳转到指定的页面.简单来说就是点击某一区域就能 ... 
- delphi无边框可拖动窗体
			unit UFrmModless; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, ... 
- iPhone应用程序的启动过程
			Phone的入口函数main,这之后它有是怎样启动应用程序,初始化的呢,这些都是通过 UIApplicationMain 来实现的. 其启动的流程图大致如下图所示: 1 int retVal = UI ... 
- Nokia Imaging SDK
			Nokia Imaging SDK 目前为 beta 版本,是诺基亚在自己的图像应用中使用的技术同时提供给开发者 使用.这是一个运行在手机设备上处理图片数据的高效的类库.功能包括 JEPG 图片的编码 ... 
- xcode6 dyld_sim is not owned by root
			如果运行复制过来的xcode可能会这个提示,xcode6 dyld_sim is not owned by root解决方法打开终端 输入sudo xcode-select -switch /Appl ... 
- [ucos]了解ucos
			1. uCosIII移植到STM32F10x http://www.cnblogs.com/hiker-blogs/archive/2012/06/13/2547176.html 2. uCosIII ... 
