CentOS 7系統安裝後的基礎優化html
1、系統版本內核信息linux
[root@center ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@center ~]# uname -a Linux center 3.10.0-514.2.2.el7.x86_64 #1 SMP Tue Dec 6 23:06:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [root@center ~]# uname -m 系統信息 x86_64 [root@center ~]# uname -r 內核版本信息 3.10.0-514.2.2.el7.x86_64
2、修改主機名shell
[root@localhost ~]# hostnamectl --static set-hostname zhongshabi 須要退出當前用戶登陸窗口再從新登陸後
3、配置yum源vim
https://mirrors.tuna.tsinghua.edu.cn/help/centos/ 清華源 http://mirrors.163.com/.help/centos.html 163 源 http://mirrors.aliyun.com/repo/Centos-7.repo 阿里雲源 yum clean all 清空yum緩存 yum makecache
4、關閉SELinux及iptablescentos
SELinux,它是一個 Linux 內核模塊,也是 Linux 的一個安全子系統。緩存
SELinux 主要由美國國家安全局開發。2.6 及以上版本的 Linux 內核都已經集成了 SELinux 模塊。安全
SELinux 的結構及配置很是複雜,並且有大量概念性的東西,要學精難度較大。不少 Linux 系統管理員嫌麻煩都把 SELinux 關閉了。bash
注意:若是不關閉會致使不少服務及應用沒法正常工做,都被攔截了服務器
例子:上次重作高仿服務器時,就由於忽略了這個selinux致使本地host解析後網站就是打不開cookie
關閉方法
1、當前關閉,服務器重啓後失效
[root@zhongshabi ~]# getenforce 獲取當前selinux Enforcing [root@zhongshabi ~]# setenforce 0 修改當前selinux 值設置成0或者1 [root@zhongshabi ~]# getenforce Permissive # 寬鬆的
2、配置文件修改selinux,修改配置文件,重啓服務器生效
SELINUX=disabled # 修改成disabled便可,默認爲Enforcing # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
5、同步服務器時間
安裝工具
yum install ntpdate -y
ntpdate 時間服務器有不少,能夠網上搜索一下
ntpdate 192.168.1.80 同步服務器時間。192.168.1.80 是咱們本身作的一個時間服務器
能夠寫入到crontab中按期同步
6、文件描述符
擴展:文件描述符
文件描述符在形式上是一個非負整數。實際上,它是一個索引值,指向內核爲每個進程所維護的該進程打開文件的記錄表。當程序打開一個現有文件或者建立一個新文件時,內核向進程返回一個文件描述符。在程序設計中,一些涉及底層的程序編寫每每會圍繞着文件描述符展開。
可是文件描述符這一律念每每只適用於Unix、Linux這樣的操做系統。
習慣上,標準輸入(standard input)的文件描述符是 0,
標準輸出(standard output)是 1,
標準錯誤(standard error)是 2。
儘管這種習慣並不是Unix內核的特性,可是由於一些 shell 和不少應用程序都使用這種習慣,所以,若是內核不遵循這種習慣的話,不少應用程序將不能使用。
[root@localhost ~]# ulimit –n
1024 #查看文件描述符大小1024
[root@localhost ~]# ulimit -n 65536
[root@localhost ~]# ulimit -n
65536 臨時生效
[root@localhost ~]# echo '* - nofile 65536' >> /etc/security/limits.conf
配置完成後,從新登陸便可查看。
提示:也能夠把ulimit -SHn 65535命令加入到/etc/rc.local,而後每次重啓生效
[root@c64 ~]# cat >>/etc/rc.local<<EOF #open files ulimit -HSn 65535 #stack size ulimit -s 65535 EOF * - nofile 65536 * - nproc 65536 或者 * soft nofile 65536 * hard nofile 65536 * soft nproc 65536 * hard nproc 65536 soft nproc: 可打開的文件描述符的最大數(軟限制) hard nproc: 可打開的文件描述符的最大數(硬限制) soft nofile:單個用戶可用的最大進程數量(軟限制) hard nofile:單個用戶可用的最大進程數量(硬限制)
7、配置linux內核參數
[root@zhongshabi ~]# vim /etc/sysctl.conf 內核參數配置文件 #關閉ipv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 #避免放大攻擊 net.ipv4.icmp_echo_ignore_broadcasts = 1 #開啓惡意icmp錯誤消息保護 net.ipv4.icmp_ignore_bogus_error_responses = 1 #關閉路由轉發 net.ipv4.ip_forward = 0 開起路由轉發將0改成1便可 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 #開啓反向路徑過濾 net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 #處理無源路由的包 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 #關閉sysrq功能 kernel.sysrq = 0 #core文件名中添加pid做爲擴展名 kernel.core_uses_pid = 1 #開啓SYN洪水攻擊保護 net.ipv4.tcp_syncookies = 1 表示開啓SYN Cookies。當出現SYN等待隊列溢出時,啓用cookies來處理,可防範少許SYN攻擊,默認爲1,表示開啓的; 表示SYN隊列的長度,默認爲1024,加大隊列長度爲8192,能夠容納更多等待鏈接的網絡鏈接數 net.ipv4.tcp_max_syn_backlog = 262144 #修改消息隊列長度 kernel.msgmnb = 65536 kernel.msgmax = 65536 #設置最大內存共享段大小bytes kernel.shmmax = 68719476736 kernel.shmall = 4294967296 #timewait的數量,默認180000 net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 87380 4194304 TCP讀buffer,可參考的優化值: 32768 436600 873200 net.ipv4.tcp_wmem = 4096 16384 4194304 tcp寫buffer,可參考的優化值: 8192 436600 873200 net.core.wmem_default = 8388608 TCP寫buffer的默認值 net.core.rmem_default = 8388608 TCP讀buffer的默認值 net.core.rmem_max = 16777216 TCP寫buffer的最大值 net.core.wmem_max = 16777216 TCP寫buffer的最大值 #每一個網絡接口接收數據包的速率比內核處理這些包的速率快時,容許送到隊列的數據包的最大數目 net.core.netdev_max_backlog = 262144 #限制僅僅是爲了防止簡單的DoS 攻擊 net.ipv4.tcp_max_orphans = 3276800 #未收到客戶端確認信息的鏈接請求的最大值 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_timestamps = 0 #內核放棄創建鏈接以前發送SYNACK 包的數量 net.ipv4.tcp_synack_retries = 1 #內核放棄創建鏈接以前發送SYN 包的數量 net.ipv4.tcp_syn_retries = 1 #啓用timewait 快速回收 net.ipv4.tcp_tw_recycle = 1 #開啓重用。容許將TIME-WAIT sockets 從新用於新的TCP 鏈接 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_fin_timeout = 1 #當keepalive 起用的時候,TCP 發送keepalive 消息的頻度。缺省是2 小時 net.ipv4.tcp_keepalive_time = 30 #容許系統打開的端口範圍 net.ipv4.ip_local_port_range = 1024 65000 #修改防火牆表大小,默認65536 #net.netfilter.nf_conntrack_max=655350 #net.netfilter.nf_conntrack_tcp_timeout_established=1200 #確保無人能修改路由表 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 [root@zhongshabi ~]# sysctl -p 保存生效
8、服務器根目錄文件名都表明什麼意思
1.bin是系統有不少放置執行文件的目錄,但/bin比較特殊。由於/bin放置的是在單人維護模式下還可以被操做的指令。/bin底下的指令能夠被root與通常帳號所使用,主要有:cat,chmod,chown,date,mv,mkdir.cp,bash等經常使用的指令
2.boot這個目錄主要在放置開機會使用到的檔案,包括Linux核心檔案以及開機選單與開機所需配置文件等等。Linux kernel經常使用的檔名爲:vmlinuz,若是使用的是gurb這個開機管理程序,則還會存在/boot/gurb這個目錄
3.dev任何裝置與接口設備都是以檔案的型態存在於這個目錄中的。
4.etc系統主要的配置文件幾乎都放置在這個目錄內,
5.home這是系統默認的用戶家目錄(home directory)。
6.lib放置的則是在開機時會用到的函式庫
8.media底下放置的就是可移除的裝置,包括軟盤、光盤、DVD等等裝置都暫時掛載於此。常見的檔名有: /media/floppy, /media/cdrom等等。
9.mnt暫時掛載某些額外的裝置
10.opt這個是給第三方軟件放置的目錄。
11.proc這個目錄自己是一個『虛擬文件系統(virtual filesystem)』,他放置的數據都是在內存當中,例如系統核心、行程信息(process)、周邊裝置的狀態及網絡狀態等等。由於這個目錄下的數據都是在內存當中,因此自己不佔任何硬盤空間,比較重要的檔案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。
12.root系統管理員(root)的家目錄。
13.sbinLinux有很是多指令是用來設定系統環境的,
14.tmp這是讓通常用戶或者是正在執行的程序暫時放置檔案的地方。這個目錄是任何人都可以存取的,因此你須要按期的清理一下。
15.srv能夠規爲『service』的縮寫,是一些網絡服務吪啓動後,這些服務所須要取用的數據目錄。
16.sys這個目錄其實跟/proc很是相似也是一個虛擬的文件系統,主要也是記錄與核心的相關的信息。
17.usr是『Unix 操做系統軟件資源』所放置的目錄
18.var 是在系統運做後纔會漸漸佔用硬盤容量的目錄。用於存儲