什么是计算机

计算机是电子数字计算机的简称,是一种自动的地,高速地进行数值运算和信息处理的电子设备。他主要由一些机械的,电子的器件组成,再配以适当的程序和数据。程序及数据输入后可以自动执行,用以解决某些实际问题。计算机中的各个物理实体为计算机硬件。程序和数据则称为计算机软件。

服务器硬件知识

1,PC服务器 (1u=111.125px)

品牌 DELL 、HP、IBM。

DELL品牌

2010年以前1u1850/19502u2850/2950

2010-2014      R410/R420   R610/R620

2,电源

人体的心脏,生产中一般核心业务用双电,如果是集群的情况可以例外。风扇选择方面铜的导热性能大于铝的

3,CPU

人体的大脑,负责运算和控制,是服务器性能核心部件。

生产:一般的企业,CPU颗数2-4颗,一颗CPU 双核-四核

虚拟化 宿主机:   CPU颗数4-8颗,内存一般是49-128G。

4,内存:

CPU和磁盘之间的缓冲设备,临时的存储器。

一般程序运行的时候会被调度到内存中

进程:运行着的程序,进程会放在内存里。

程序:静态的,磁盘里。

计算机重启,内存的数据会释放掉

5,磁盘

永久存放数据的存储器。

3.5英寸的SAS(磁盘接口) SATA(磁盘接口)硬盘,机械读取(性能不高)。性能比内存差很多,所以工作中把大量的数据缓存到内存,是必备的解决方案。

此案接口:SAS  SATA  SSD

性能:SSD>SAS>SATA, 常规工作场景选SAS(15000转)SATA(7.2-1万转)线下的备份,  高并发用SSD

实例:淘宝网sata和ssd结合起来用  有些笔记本也是

6,光驱

企业应用:建议,淘汰光驱,为老板省钱。

U盘安装系统 网络安装(ftp,http),无人值守批量安装系统.

内存和磁盘的优化

企业案例:

1)们和极端案例:高并发,大数据量:会把数据先写到内存,然后再定时或者定量的写到磁盘,最终还是会加载到内存。

特点:

A.高并发的写入性能高。

B.可能会丢失一部分再内存中还没有来得及存入磁盘的数据。

2)中小企业案例:并发不是很大网站,会先把数据存放到磁盘,然后通过程序把数据读入到内存里,再对外提供访问服务。

由于90%的是网站都是读取为主,写入为辅,读写比例10:1,所以并发写入不是问题。

提醒:这里的内存和硬盘,可能是多台机器组成的

BIOS

常见的BIOS  AwardAMIPhoenix

什么是操作系统

简单的理解,操作系统是沟通使用者和硬件之间传递信息的工作或程序、例如xp就是操作系统

操作系统(英文Operating System 简称OS)

系统核心(kernel)+上边LIB API+命令解释器shell=操作系统

Unix操作系统分类

FreeBSD(university of california,Berkeley)

AIX UNIX(IBM)(跑在小型机上的)

Solaris UNIX(SUN)SUN后来被甲骨文收购了

HP UNIX(HP)

Linux是一套免费使用和开放源代码并且可以自由传播的类Unix操作系统

1991年底,Linux Torvalds公开linux内核,不是我们现在使用linux系统的全部

1993年,linux1.0版发行,Linux转向GPL版权协议

GNU与GPL知识

自1984年起,Richard Stallman在软件开发团体中发起开发自由软件的运动,并获得麻省理工学院(MIT)的支持,这就导致了自由软件基金会FSF(Free Software Foundation)的建立和GNU项目的产生。

在其他人的协下,Richard Stallman创立了通用公共许可证GPL(General Public License),这对推动自由软件的发展起了至关重要的作用。

GPL许可核心思想是保证任何人有共享和修改自由软件的自由,任何人有权取得,修改和重新发布自由软件的源代码权利,但是要求把其他的改动发布出来。

FSF的主要项目是GNU(GNU`s Not Unix )。他的目标是建立可自由发布和可移植的类Unix操作系统。GNU项目本地产生的主要软件包括:Emacs编辑软件,Gcc编译软件,Bash命令解释程序和编程语言,一级Gawk(GNU`s awk)等等。

GNU

GNU是1984年1984年Richard Stallman 发起的自由软件运动,导致了FSF的诞生,从而有了GNU这个项目,开发一个操作系统以及各种程序组件,不是UNIX的操作系统,实际就是linux操作系统,GNU项目是linux内核之上的一些组件,不包括linux内核

GPL

GPL许可保证任何人有共享和修改自由软件的自由,任何人有权利,用、改、发布,GPL就是一个协议。

自由软件是什么?

自由软件是权利问题,不是价格问题,要理解这个概念,自由应该是言论自由中的自由,而不是免费啤酒中的免费

http://www.gnu.org/philosophy/free-sw.html

http://www.gnu.org/home.zh-cn.html

Linux的版本

Linux操作系统=内核+系统软件+应用程序(系统版本,内核版本)

常见的有Redhat、 Debian、 Fedora、Centos、Ubuntu

Centos(Community Enterprise Operating System)

以Redhat所发布的源代码重建符合GPL的linux,即Redhat Linux的再编译版

一般生产环境运维,都不使用桌面环境,甚至连桌面软件包都不安装,仅有一些特殊的软件安装需要安装桌面软件例如:Oracel的安装 Vnc的远程桌面

Linux应用分为三个领域

IT服务器系统应用领域、嵌入式系统应用领域、个人桌面系统应用领域

Linux远程链接工具 ssh  协议 SecrueCRT

英文翻译:

Options(选项)Session options(会话选项)Appearance(外观)

Normal font (字体大小)Narrow font (精确字体)Cursor (光标)

Use color (使用颜色)建议绿色  Cursor style (光标样式)

Short block (短块) blinking (闪烁)Terminal(终端)

Emulation(仿真)Scrollback buffer 回滚缓冲区

Log file (日志文件)Start log upon connect (在链接上启动记录)

Append to file(追加到文件 )

SecureFXP 传文件工具

调整背景颜色

创建日志 %S-%Y-%M-%D.log-------------会话名称-年-月-日

多页面

简单上传下载

Yum install lrzsz  在Dial-up Networking Support这个包组里

下载sz 文件名 -y覆盖

上传rz -y

只能上传下载文件

上传的文件可以是电脑里的任意文件

Ctrl+d 快速退出 (exit/quit)之后回车又连接回服务器

开机流程

http://rangochen.blog.51cto.com/2445286/1372328

http://raingolee.blog.51cto.com/6798135/1324991

https://jingyan.baidu.com/article/647f01159884e07f2148a8ef.html

Linux版本选择:

1,linux桌面系统,首选Ubuntu

2,服务器端的linux系统,首选RHEL或者CentOS,这两者中首选Centos,如果公司有钱不在乎软件成本也可以选择RHEL,RHEL有版权,Centos无版权

3,如果对安全要求很高,可以选择Debian或FreeBSD

4,新技术、新功能可以选择Fedora。是RHEL和Centos的一个测试版或预发布版

KVM Xen虚拟环境VMware workstations版本

www.centos.org

常规分区方案

/剩余硬盘大小

swap 1.5倍

/boot 100M

DB及存储

/data 剩余硬盘大小,放数据的

/  50-200G

swap 1.5倍

/boot  100M

相当于windows不能只分C盘,还需要D,E,因为重装系统,数据会丢。

门户网站

/  50-200G

swap 1.5倍

/boot 100M

剩下先不在进行分区,保留,将来哪个需求,就自己根据需求再分【灵活】

生产场景,对磁盘监控,剩余20%,报警短信,生产常用DELL硬件RAID,组合多块磁盘而不是LVM以及软RAID

系统安装

Base System1,Base

2,Compatibility libraries

3,Debugging Tools

4,Dial-up Networking Support

5,Hardware monitoring utilities

6,Performance Tools

Development1,Development tools

查看包组安装命令  yum grouplist

yum groupinstall “包组名称”:

yum groupinstall “Base”

yum groupinstall “Compatibility libraries”

yum groupinstall “DebugingTools”

yum groupinstall “Dial-upNetworking Support”

yum groupinstall “Hardwaremonitoring utilities”

yum groupinstall “PerformanceTools”

yum groupinstall “Developmenttools”

磁盘分区

磁盘分区有主分区、扩展分区、逻辑分区之分,一个硬盘最多有4个主分区。其中一个主分区的位置可以用一个扩展分区替换,而且一块盘只能有一个扩展分区,在这个扩展分区内可以划分多个逻辑分区

3p+e  2p+e  p+e

最多只能有一个扩展分区,扩展分区不能用,必须在扩展分区上划分多个逻辑分区,然后格式化(创建文件系统),然后才能存数据或装系统

1.分区数字编号1-4只能留给主分区或扩展分区使用,逻辑分区(是在扩展分区基础上的)编号只能从5开始

2.IDE硬盘设备名以/dev/hda  /dev/hdb

SCSI/SAS/STAT/USB接口设备名以/dev/sda  /dev/sdb

swap交换分区的作用:虚拟内存,swap分区大小=1.5x物理内存容量(mem<8G),当内存大于16G,虚拟内存(8-16G即可)

实用工具everything搜索工具

HyperSnap画图工具

Keeppass 密码管理

win32文本比较工具

查看系统版本

[root@www ~]# cat /etc/redhat-release

CentOS release 6.8 (Final)

查看内核版本

[root@www ~]# uname -a

Linux 123 2.6.32-642.el6.i686 #1 SMP Tue May 10 16:13:51 UTC 2016 i686 i686 i386 GNU/Linux

查看系统32位还是64位

[root@www ~]# getconf LONG_BIT

32

查看cpu信息

[root@123 ~]# cat /proc/cpuinfo

model name      : Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz

查看内存信息

[root@123 ~]# cat /proc/meminfo

MemTotal:        4151496 kB

查看磁盘信息

[root@123 ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes

配置优化防火墙后使生效

sysctl –p  配置优化防火墙生效/etc/sysctl.conf

Linux基础优化
1,配置网络

文件路径:/etc/sysconfig/network-scripts/ifcfg-eth0

[root@www ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0(网卡名称)

HWADDR=00:0C:29:6A:C2:6B(网卡MAC地址)

TYPE=Ethernet(网络类型)

UUID=8c03c2fe-b7d0-4e48-83c2-e934e1ee5df6(全局唯一标识符)

ONBOOT=yes(开机启动)

NM_CONTROLLED=yes(网络信息参数)

BOOTPROTO=static(静态和DHCP)

IPADDR=192.168.5.18(IP地址)

NETMASK=255.255.255.0(子网掩码)

GATEWAY=192.168.5.1(网关)

DNS1=192.168.5.1(DNS)

修改DNS

文件路径:/etc/resolv.conf

[root@www ~]# vi /etc/resolv.conf

nameserver 192.168.5.1

nameserver 144.0.0.74

修改主机名

文件路径:/etc/sysconfig/network

[root@www ~]# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=www.lyl.zy

临时修改hostname+主机名

重启网卡:[root@www ~]# /etc/init.d/network restart

2,关闭SELinux,清空iptables

关闭SELinux

文件路径:/etc/selinux/config

[root@www ~]# vi /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 - No SELinux policy is loaded.

SELINUX=disabled(关闭)

# SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

脚本:

[root@www ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

[root@www ~]# grep SELINUX=disabled /etc/selinux/config

显示如下:SELINUX=disabled

临时关闭,查看

setenforce 0

getenforce

关闭iptables防火墙

[root@www ~]# iptables -F(清理防火墙规则)

[root@www ~]# iptables -L(查看防火墙规则)

/etc/init.d/iptables stop

3,不用root,添加普通用户,通过sudo授权管理

[root@www ~]# useradd newlinux(添加普通用户)

[root@www ~]# passwd newlinux(为普通用户设置密码)不让设置简单的比较麻烦所以不用

非交互式修改

[root@www ~]# echo "mima"|passwd --stdin newlinux

Changing password for user newlinux.

passwd: all authentication tokens updated successfully.

[root@www ~]# history -c(清空历史命令,安全)

设置新账号权限

文件路径:/etc/sudoers

[root@www ~]# visudo

90 ## Allow root to run any commands anywhere

91 root    ALL=(ALL)       ALL(默认)

92 haha    ALL=(ALL)       /usr/sbin/useradd,/usr/sbin/passwd(给予新账号命令权限中间用逗号隔开)

93 newlinux        ALL=(ALL)       NOPASSWD: ALL(给予新账号全部权限)

94%newlinuALL=(ALL)       NOPASSWD: ALL(前面加%表示用户组)

4,简单安全防护

文件路径:/etc/ssh/sshd_config

Port 12345(修改远程端口)(13行左右)

PermitRootLogin no(禁止root账号登录)使用普通账号登录然后su - root切换(42)

UseDNS no(关闭DNS查询使ssh登录时候更顺畅)(122)

GSSAPLAuthentication no(交换秘钥,使ssh登录更顺畅)

重启服务/etc/init.d/sshd reload;/etc/init.d/sshd restart

具体分析:

http://oldboy.blog.51cto.com/2561410/1300964

5,更换yum为国内源

文件路径: /etc/yum.repos.d/CentOS-Base.repo

[root@www yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.ori(备份源文件)

[root@www yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-6.repo(下载新源地址)

[root@www yum.repos.d]# cp Centos-6.repo CentOS-Base.repo (修改配置文件)

检查:

[root@www yum.repos.d]# yum clean all(清空yum缓存)

[root@www yum.repos.d]# yum makecache    (建立yum缓存)

[root@www yum.repos.d]# yum updata(更新系统)

[root@www yum.repos.d]# yum upgrade(更新系统)

下载安装工具

[root@www yum.repos.d]# yum install tree telnet dos2unix sysstat lrzsz -y

6,精简开机自启动服务

调整开机模式

文件路径:/etc/inittab

[root@www ~]# vi /etc/inittab

26(行数) id:3:initdefault:(3为文本模式,5为桌面模式)

[root@www ~]# runlevel  (查看当前运行模式)

N 3

[root@www ~]# init 5(切换模式)

关闭不必要的程序

[root@www ~]# ntsysv (直接进入服务画面)

[root@www ~]# setup 然后选择system service

四个必须的服务

1,sshd(远程服务)

2,rsyslog (日志服务)

3,network(网络服务)

4,crond(定时服务)

[root@www ~]# for abc in `chkconfig --list|grep "3:on"|awk '{print $1}'`;do chkconfig $abc off;done(关闭所有3登记启动项)

[root@www ~]# for abc in crond network sshd rsyslog;do chkconfig $abc on;done(开启四个必要的服务)

[root@www ~]# chkconfig --list|grep "3:on"(检查是否成功)

crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off

network0:off   1:off   2:on    3:on    4:on    5:on    6:off

rsyslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off

sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

脚本:

7,调整字符集

文件路径:/etc/sysconfig/i18n

[root@www ~]# cat /etc/sysconfig/i18n

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

[root@www ~]# source /etc/sysconfig/i18n (运行生效)

临时调整:

[root@www ~]#(临时调整为英文,防止乱码)

9,服务器时间同步

[root@www ~]# ntpdate 144.0.0.74

10,加大服务器文件描述符

文件路径:/etc/security/limits.conf

# End of file

*      -    nofile      65535(调整为65535)

临时调整

[root@www ~]# ulimit -n  (查看文件描述符数量)

65535

[root@www ~]# ulimit -HSn 65535(临时调整)

文件描述符

对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数,当打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。当读或写一个文件时,使用open或creat返回的文件描述符标识该文件,将其作为参数传递给read或write。

按照惯例,UNIX系统shell使用文件描述符0与进程的标准输入相关联,文件描述符1与标准输出相关联,文件描述符2与标准出错相关联。这是各种shell以及很多应用程序使用的惯例,而与UNIX内核无关,如果不遵守这种惯例,那么很多UNIX系统应用程序就不能正常工作。

11,隐藏开机版本和版本号

文件路径: /etc/issue 和/etc/redhat-release

清空文件

[root@www ~]# >/etc/issue

[root@www ~]# cat /dev/null >/etc/issue

[root@www ~]# >/etc/redhat-release

[root@www ~]# cat /dev/null >/etc/redhat-release

12,锁定关键的系统文件

[root@www ~]# chattr +i /etc/passwd

[root@www ~]# chattr +i /etc/inittab

[root@www ~]# chattr +i /etc/group

[root@www ~]# chattr +i /etc/shadow

[root@www ~]# chattr +i /etc/gshadow

13,内核参数优化

文件路径:/etc/sysctl.conf

centos5系统

[root@www ~]# vi /etc/sysctl.conf

net.ipv4.tcp_fin_timeout = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_keepalive_time =600

net.ipv4.ip_local_port_range = 4000    65000

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.core.somaxconn = 16384

net.core.netdev_max_backlog = 16384

net.ipv4.tcp_max_orphans = 16384

#一下参数是对iptables防火墙的优化,防火墙不开会有提示,可以忽略不理。

net.ipv4.ip_conntrack_max = 25000000

net.ipv4.netfilter.ip_conntrack_max = 25000000

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180

net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120

net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60

net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

[root@www ~]# sysctl –p    #使配置文件生效

由于centos6系统中的模块名不是ip_conntrack,而是nf_conntrack,所以在/etc/sysctl.conf优化时,需要把net.ipv4.netfilter.ip_conntrack_max这种老参数,改成net.netfilter.nf_conntrack_max这样才行

centos6

net.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_tcp_timeout_established = 180

net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

基础优化:

http://oldboy.blog.51cto.com/2561410/1336488

脚本优化:

http://chocolee.blog.51cto.com/8158455/1424587

其他优化:

http://oldboy.blog.51cto.com/2561410/1184139

http://oldboy.blog.51cto.com/blog/2561410/1184165

http://oldboy.blog.51cto.com/blog/2561410/1184177

http://oldboy.blog.51cto.com/blog/2561410/1184206

http://oldboy.blog.51cto.com/blog/2561410/1184228

网络状态优化:

http://yangrong.blog.51cto.com/6945369/1321594

更多优化细节:

http://oldboy.blog.51cto.com/2561410/988726

转载于:https://blog.51cto.com/11412359/1973751

linux学习笔记,linux基础调优,已老男孩教育视频为基础相关推荐

  1. 华为无线学习笔记--WLAN基础调优

    WLAN基础调优包含流量调优和射频调优这两部分. 一 WLAN流量优化 (1)配置 AP的多播报文限速,使AP上广播和组播报文速率限制在合理的范围内. system-viewwlanap-system ...

  2. Linux学习笔记——Linux、命令 01

    操作系统的发展史 Unix 1965年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘.显示器),连接一台电 ...

  3. [Linux学习笔记] Linux历史发展与应用

    2019独角兽企业重金招聘Python工程师标准>>> UNIX发展历史: (1) 1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发 ...

  4. Linux学习笔记-Linux下读写文件

    在Linux编程需要读写文件时,有两种方式: (1)ANSIC: 使用stdio.h里的函数.fopen, fclose, fwrite, fread (2)Linux API:Linux提供了另外一 ...

  5. Linux 学习笔记 2022-11-12---------Linux基础

    目录 1. 用户类型 2. 终端 terminal 2.1 终端类型 2.2 查看当前的终端设备 3. 交互式接口 3.1 交互式接口类型 3.2 什么是shell 3.3 Shell 是如何连接用户 ...

  6. Linux学习系列之Nginx调优实战

    Nginx配置文件性能微调 全局的配置 user www-data; pid /var/run/nginx.pid; worker_processes auto; worker_rlimit_nofi ...

  7. Linux学习笔记-最基础的常用shell命令

    目录 Shell基本命令 1.history 2.!! 3.alias 4.unalias 5.ls 6.">"与"<",">> ...

  8. linux学习笔记 linux内核6.0.2目录结构

    一.linux内核目录 arch 包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386.arm.arm64.powerpc.mips等.Linux内核目前已经支持30种左右的体系结构.在 ...

  9. Linux学习笔记——Linux磁盘管理

    Linux中的分区管理工具主要有:fdisk, parted, sfdisk fdisk命令 对于一块硬盘最多只能管理15个分区 命令格式:fdisk -l [-u] [device...] fdis ...

最新文章

  1. LeetCode.3-最长无重复字符子串(Longest Substring Without Repeating Characters)
  2. HttpClient之GET请求
  3. python常见错误-Python错误及异常总结汇总
  4. 大叔手记(16):分析URL Routing和URL Rewriting两者之间的不同
  5. k8s部署dubbo-admin 2.5.10
  6. andriod开发环境配置
  7. 微软AJax.net源码初步分析(2)--服务执行流程
  8. pygame 文字输入交互_pygame能接收用户的文本输入吗?
  9. maven之阿里云Maven镜像的使用
  10. 【Pytorch神经网络实战案例】24 基于迁移学习识别多种鸟类(CUB-200数据集)
  11. 【2018.6.7】阶段总结
  12. JAVA调用C语言程序
  13. 菜鸟启动“快递包装换鸡蛋”活动 史上最低碳的一届“双11”来了
  14. Java特性-动态代理
  15. php 全局 路径,PHP问题包括全局路径
  16. atitit.userService 用户系统设计 v6 q413
  17. Windows 关于Robocopy的使用详解
  18. 爬虫python下载网站所有图片_Python爬虫-搜索并下载图片
  19. smartupload java_smartupload实现文件上传
  20. 要点初见:开源AI绘画工具Stable Diffusion代码分析(文本转图像)、论文介绍(下)

热门文章

  1. 理光Ricoh Fax SL350 一体机驱动
  2. jQuery项目案例(一):电影排行榜项目
  3. .net core 获取程序中文件路径
  4. table2excel 导出文字不居中的问题 附 jquery.table2excel.js 插件
  5. 智能ABC输入法的三个小秘密
  6. 如何做到卓有成效的敏捷?
  7. 新生的第一份礼物!深圳大学的通知书包括AR校徽和VR眼镜
  8. (附源码)springboot基于SpringBoot的教学管理平台的设计与实现281454
  9. 双系统安装ubuntu服务器分区,[已解决]求助双系统安装ubuntu,分区时看不到windows分区...
  10. 生产环境hotfix部署流程