centos 优化apache(centos7搭建apache服务器)
大家好,今天来为大家解答centos 优化apache这个问题的一些问题点,包括centos7搭建apache服务器也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
在Centos7上将Apache(httpd)切换为Nginx的过程记录
近期要上线基于tornado+motor的移动端接口服务,考虑Apache与tornado不兼容问题且Apache系统占用较高,决定切换至轻量级、高并发的Nginx。原系统内存使用情况如图所示,系统2G,除了MySQL占用100M外,Apache占用了大量资源。
首先,停止Apache服务,以确保服务平稳切换。其次,安装Nginx并为PHP服务安装php-fpm支持,以便Nginx代理PHP。
接着,将Apache配置文件翻译为Nginx配置,两者的配置大致相似。对于HTTPS服务,Nginx配置更为简化。完成配置文件修改后,重启Nginx。
最后,确保Apache开机自启已关闭。至此,从Apache迁移到Nginx的配置工作结束,整体操作并不复杂。
迁移后,系统感觉更为流畅,内存节省约300M,系统轻盈高效。通过Nginx的优化配置,实现了资源的有效利用与高效响应,提升了整体服务性能。
centos和debian哪个好
DebianVSCentOS哪个更好
通过以上我个人认为:从安全上说CentOS,rhel,oracle-LinuxDebian
从性能下降说也是CentOS,rhel,oracle-LinuxDebian
其次,通过观察debain内核源码和CentOS内核源码大小,我们可以看到Debian内核才62M,而CentOS内核则达到了82M为什么呢?还是我先前一篇文章中
分析过的,Debian是自由内核,里面去除了很多no-free固件驱动,功能代码,而CentOS
则是继承了rhel的特点,得到世界很多硬件厂商的权利支持,不管是free还是no-free的全部包含在内核源代码中,而且在虚拟化(kvm)部署中也是处于领导地位的,其中也不乏一些还来得及被Debian,或者标准内核采纳的代码,这样就导致了:
硬件支持特别是虚拟化CentOS,rhel,oracle-LinuxDebian(freebsd)
还有,一个就是通过编译内核我们发现,默认情况下,CentOS开启的内核
选项都是非常保守的,而Debian则很时髦,有什么新玩意就上,比如Debian开启了内存分配slub内核尺寸优化Os而CentOS还是使用久经考验的slab和O2..........
默认内核配置性能测试DebianCentOS,rhel,oracle-Linux
最后我们来说说,他们各自的应用软件支持数量,从官方发布的安装dvd(只有一张3.4G)上可以看出CentOSrhel是专门来做服务器,vps来用的,包含的软件相对debain安装dvd(8张dvd)来说是少只又少。我曾经就yuminstallnginx结果我失败了
我以为我打错。结果真的没有,要自己二外去加源,我知道有很多第三方的软件源可以使用,但是单从官方支持上说是很少了,这也表明了CentOS重要用途,还是以服务器为主,桌面勉强可以吧!而Debian呢有4万多种软件,涵盖了开发,桌面,服务器软件,等等几乎你说能用到的所有软件都有,而且apt包管理也比yum强很多,以此,我个人判断:
开发方环境,通用性DebianCentOS,rhel,oracle-Linux
好了来个总结吧,如果不是狂热的系统定制优化狂人,我的建议是:
1,如果你是开发者,和狂热的性能追求者或者是vps中的服务器请使用Debian!
2,如果你是vps供应商,电子商务,使用了很多像hp,ibm等大品牌服务器,而且要求很高的稳定性,安全性,我建议你使用rhel家族,最少用10%左右的性能损失,不是很大的易用性损失,换来安全稳定还是值得的!
centosdebian哪个对arm支持好
CentOS和Debian都支持ARM架构,但它们在对ARM的支持方面有所不同,具体取决于您的需求。一般而言,Debian是更早支持ARM架构的发行版之一,并且社区支持也更好,因此在ARM设备上的兼容性可能更好。另一方面,CentOS在ARM架构上的支持也越来越好,特别是在RaspberryPi等设备上的支持方面表现不错。因此,您需要根据您的具体需求来选择CentOS或Debian。
debian比较centos哪个快
debian快
它还包括在其官方存储库之外的非GPL软件。以遵守其提供免费软件的准则。
1。主要软件版本
DebianStableWheezy已拥有这些软件版本。
Apache-2.2.22
PHP-5.4.4
MySQL-5.5.30
PostgreSQL-9.1.9
2。升级
将Debian从一个稳定版本升级到下一稳定版本很容易。操作也比较简单。
3。稳定性
Debian被认为是比许多其他发行版更稳定的Linux发行版。对于企业而言。这是一个不错的选择。因为该版本中的错误导致的开销更少。它还为修补安全漏洞提供了时间。因此这些发行版通常比其他Linux发行版的发行版更安全。
4。易用性
通常认为DebianLinux发行版比初学者更适合Linux专家。它从一开始就假定您对Linux开发有一定的了解。安装程序为用户提供了对其配置的更高程度的控制和自定义。
以上就是Debian和CentOS的区别。对于需要完全控制的有经验的用户。Debian可能更好;对于想要更稳定和安全的Linux发行版的企业。CentOS可能更好。
为什么选择CentOS而不是Debian?
我们运行着一些全球最大的互联网的营运,因此我们对可靠性和稳定性非常重视,是我们的第一要务。为此,我们只使用Linux来支撑顾客的系统。但是,我们应该使用哪一个Linux的发行版?答案是,CentOS。为什么呢?\x0d\x0a\x0d\x0a作为一个庞大的系统运营商,在很长的一段时间里,我们需要在多种大型系统中找到一个可靠的,可预测的系统,我们需要从世界上最强大的软件供应商和开源项目中获得强有力的支持。对于那些最常用的系统,我们需要文档,工具和全球性资源。\x0d\x0a\x0d\x0a正因如此,RedHat/CentOS系列发行版正是我们的选择。他们能够满足以上所有需求,而且问题相对较少、长期稳定,这使得我们能够为成千上万的运行了不同配置、服务和应用的系统提供世界级的维护。\x0d\x0a\x0d\x0aRedHat’sEnterpriseLinux\x0d\x0a(RHEL)是黄金标准的企业发行版。它每五年左右更新一次,在系统的稳定性,前瞻性和安全性上有着极大的优势。每当新的主版本发行后,比如\x0d\x0a5.x亦或最近的6.x,所有版本和代码都将保留不变,只有安全问题或是主要的bug,例如后门,端口之类的问题,会通过发布新的子版本来修复。\x0d\x0a\x0d\x0aCentOS是RHEL发行版对应的开源版本,通常在RedHat的发布后就会很快发行。我们使用CentOS的原因在于RHEL发行版的标准支持服务费用非常高,大约每台服务器800美元左右,对于我们很多拥有数十台甚至上百台服务器的用户来说,这是必须要控制的成本。\x0d\x0a\x0d\x0aRHEL/CentOS系统有两个潜在的问题。\x0d\x0a\x0d\x0a首先,一旦确定了主版本,,除了安全问题和严重故障会被修复以外,其他内容将不会做任何改变。这虽然对稳定性有\x0d\x0a好处,但是对许多服务不利。比如MySQL和PHP服务,它们在这五年的CentOS/RHEL主版本发布周期中会进行繁重的开发和大量的修改。例\x0d\x0a如,MySQL5.0是当前RHEL/CentOS主版本所默认使用的版本,但是当前MySQL已经更新到5.1和5.5版本了。\x0d\x0a\x0d\x0a幸运的是,这个问题被Yum软件包管理器轻易地解决了。如此以来,那些主要的软件,例如当前RHEL/CentOS中实际的组件,包括内核和所有工\x0d\x0a具等仍然来自发行版,但是那些附加的软件,例如Nginx,Apache,PHP,Java和MySQL等等来自更新的软件源例如Fedora;\x0d\x0a或者直接从开发商获取更新的版本例如MySQL。在我们这里,我们有自己专用的安装镜像来全自动的处理所有这些事情。\x0d\x0a\x0d\x0a其次,CentOS的发行会滞后于RedHat的发行,包括关键的补丁和修复。这在RHEL6.x的发行周期中尤为显著。但是根据我们的经验,这没什么好担心的,对我们来说永远不会成为问题。\x0d\x0a\x0d\x0a很多人询问我们为什么不用基于Debian的系统,例如Debian或者Ubuntu服务器。如果在别无选择的情况下,我们的确会支持这个建议,但是根据我们的经验来看,这些系统并不如RHEL/CentOS来的稳定和可靠。\x0d\x0a\x0d\x0a我们认为,这在某种程度上是由于他们过快的发展和各个版本、组合之间较少的测试且不成熟所导致的。然而尽管他们非常流行,但是主要的服务商和项目都\x0d\x0a仍然首选RHEL/CentOS系统,因为这样他们就可以为企业顾客提供服务,(对Oracle和MySQL更是如此)。除此之外,基于Debian的系统有许多内核和稳定性问题,尤其是在我们的云计算服务中。\x0d\x0a\x0d\x0a对我们而言,唯一使用Debian/Ubuntu的原因是:\x0d\x0a\x0d\x0a“它们能够为一个系统提供必要的特殊服务时,尤其是当一些驱动程序或者一些IO子系统需要一种新的内核的时候”。例如,ext4文件系统或在最近的内核中日志的改变等;现在,所有这一切都包含在了RHEL/CentOS6.x中。\x0d\x0a\x0d\x0a当然,多数Linux开发者都使用的是Ubuntu的桌面版,而且可以理解的是,他们更倾向在开发生产时使用相同的系统,并且还能使用很多有趣的工具。但总体上来说,我们依然认为RHEL/CentOS是一个更优越的部署平台,并且已经有十多个客户成功地转向使用CentOS作为生产环境并且没有任何问题,但这仍然是艰巨的任务。\x0d\x0a\x0d\x0a总的来说,你将更乐于看到一个良好管理的CentOS系统。我们有成千上万台服务器使用CentOS平台,而每年平均只有一台服务器崩溃。我们也很难想象它竟如此罕见,所以,挑一个优秀、迅捷、可靠的平台吧!
CentOSDebianUbuntu哪个系统好?
文章目录CentOSDebianCentOS与Debian哪个好?Ubuntu买VPS时有CentOS、Debian、Ubuntu三种操作系统可以选择,Linux下哪种系统更好是很多新人都会遇到的问题,在此,我们分析一下Ubuntu、CentOS及Debian各自的性能及使用经验。做服务器的很少会用Ubuntu,所以我们最后分析这个。先来看看使用率较高的CentOS和Debian。CentOS很多商业性公司服务器都是使用CentOS系统,CentOS简约,命令行下的人性化做得比较好,稳定,有着强大的英文文档与开发社区的支持。相对debian来说,CentOS略显体积大一点,是一个非常成熟的Linux发行版。DebianDebian更适合于作为服务器的操作系统,它比Ubuntu要稳定得多。Debian整个系统基础核心非常小,不仅稳定,而且占用硬盘空间小,占用内存小。128M的VPS即可以流畅运行Debian,而CentOS则会略显吃力。但是由于Debian的发展路线,使它的帮助文档相对于CentOS略少,技术资料也少一些。CentOS与Debian哪个好?在国内服务器中,使用CentOS的要多于Debian,而国外则Debian稍多些。选择Debian是因为它是最大的社区发行版,有着严格的组织来维护,有着成千上万个超级黑客在贡献,而且有着最大的软件仓库,现在已经达到30000多个,有着大量的文档资源。而CentOS的更新比较慢,软件库软件版本过于陈旧,虽说稳定但是无法发挥出VPS的硬件特性。虽然也有社区,但是它没有固定的组织来管理,没有收入来源。另外,Debian
6涉及到WEB服务器的软件包都更新到了比较新的稳定版本,并且借助apt命令直接安装非常快捷。选择CentOS大多是因为系统的稳定和可靠性,Debian发展过快,各个版本、组合之间测试较少稍显不成熟,系统有许多内核和稳定性问题。Debian很时髦,有什么新玩意就上,而CentOS开启的内核选项都是非常保守。所以,从安全、稳定角度出发,主要的服务商和项目都仍然首选CentOS系统。下面看一些具体的比较:从安全上说CentOSDebian从性能下降说CentOSDebian硬件支持特别是虚拟化CentOSDebian默认内核配置性能测试DebianCentOS发开环境通用性DebianCentOS最后,如果你是开发者和狂热的性能追求者或者是VPS中的服务器建议用Debian,如果是VPS供应商、电子商务网站,要求很高的稳定性、安全性,则建议采用CentOS。另外,对于初玩者,如果VPS配置太低(OPENVZ内存在128M以下,或者XEN架构内存在192M以下)建议采用Debian,否则建议采用CentOS,以获取更多的在线帮助与支持,让自己入门更轻松。UbuntuUbuntu近些年的使用率有所增加,它用户界面漂亮、管理系统完善、软件源支持强大、技术社区丰富,对硬件的兼容性也不错。然而,服务器更需要的并非这些,所以决定了它更适合于桌面操作系统,在自己电脑上安装或许要比服务器中更适合一些。对于Linux,ubuntu系统资源消耗且不稳定只能被比喻成鸡肋。服务器需要的只是一个简约、稳定、易用的系统而已!Ubuntu比较鸡肋还有一个原因就是对NGINX的支持太弱,而Nginx性能要远远高于Apache。所以,对于新手,基本应该选择CentOS系统而非Debian和Ubuntu。在确定选择CentOS后,我们还需要确定是用32位系统还是64位系统。在此,笨鸟的建议是,如果你用的VPS是非常牛的配置,那你用64位比较合适;但如果服务器一般,还是老老实实的用32位吧!
解决centos7.2中磁盘iowait过高(centos7启动后盘符错位问题)
(一)简述
每天都收到磁盘iowait告警信息,尤其是日志服务器在进行大量的读写操作过程中,从而造成系统处于崩溃边缘,为查找磁盘iowait由于什么原因造成的以及后续的系统的优化点。centos有许多查找问题的工具,也有高级的。
I/O Wait就是一个需要使用高级的工具来debug的问题,当然也有许多基本工具的高级用法。I/O wait的问题难以定位的原因是因为我们有很多工具可以告诉你说I/O受限了,但是并没有告诉你具体是哪些进程们引起的。
具体的思路如下:top。查看由cpu一行浪费在iowait上的cpu百分比=iostat-x 2 5查看某块磁盘正在被写入= iotop查找最高的磁盘I/O对应的进程= lsof-p pid查看通过一个进程打开所有文件或打开一个文件的所有进程。
(二)具体步骤如下:
(1)通过top命令来确认是否是I/O导致系统缓慢。
[root@iZ23iod5vslZ~]# toptop- 15:38:32 up 40 days, 5:59, 3 users, load average: 0.00, 0.01, 0.05Tasks: 128 total, 1 running, 127 sleeping, 0 stopped, 0 zombieCpu(s): 0.4 us, 0.2 sy, 0.0 ni, 99.2 id, 98 wa, 0.0 hi, 0.0 si, 0.1 stKiB Mem: 32520424 total, 31492136 used, 1028288 free, 412772 buffersKiB Swap: 0 total, 0 used, 0 free. 25902892 cached Mem PID USER PR NI VIRT RES SHR S CPU MEM TIME+ COMMAND 18988 root 20 0 11.647g 3.611g 7896 S 2.7 11.6 507:57.30 java 28 root 20 0 0 0 0 S 0.3 0.0 6:43.31 rcuos/3 1 root 20 0 49556 3412 1912 S 0.0 0.0 0:14.60 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:48.28 ksoftirqd/0 5 root 0-20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:00.83 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/2 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/3 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/4 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/5 15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/6 16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/7
从Cpu一行我们可以看到浪费在I/O Wait上的CPU百分比;这个数字越高说明越多的CPU资源在等待I/O权限.具体的解释如下:
0.4 us用户空间占用CPU的百分比。
0.2 sy内核空间占用CPU的百分比。
0.0 ni改变过优先级的进程占用CPU的百分比
2 id空闲CPU百分比
98 wa IO等待占用CPU的百分比
0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
0.0 si软中断(Software Interrupts)占用CPU的百分比
在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了
(2)通过iostat-x 3 3查看那块磁盘正在被写入。
[root@iZ23iod5vslZ~]# iostat-x 3 3Linux 3.10.0-123.9.3.el7.x86_64(iZ23iod5vslZ) 08/14/2017 _x86_64_(4 CPU)avg-cpu: user nice system iowait steal idle 0.70 0.00 0.16 0.75 0.05 98.34Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm utilxvda 0.00 21.18 0.32 18.33 9.94 195.06 21.98 0.08 4.11 11.44 3.98 1.54 2.88xvdb 0.00 15.21 1.23 1.98 38.41 68.76 66.70 0.08 25.48 3.59 39.10 1.09 0.35xvdc 0.00 0.07 0.00 0.91 0.00 36.25 79.43 0.10 106.88 12.53 106.92 1.33 0.12avg-cpu: user nice system iowait steal idle 0.75 0.00 0.17 0.08 0.08 98.91Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm utilxvda 0.00 2.33 0.00 0.67 0.00 12.00 36.00 0.00 5.50 0.00 5.50 5.50 0.37xvdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00xvdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00avg-cpu: user nice system iowait steal idle 0.75 0.00 0.17 0.00 0.00 99.08Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm utilxvda 0.00 3.33 0.00 1.67 0.00 34.67 41.60 0.01 3.00 0.00 3.00 1.60 100.27xvdb 0.00 9.00 0.00 1.67 0.00 42.67 51.20 0.01 5.40 0.00 5.40 1.80 0.30xvdc 0.00 0.33 0.00 0.67 0.00 4.00 12.00 0.00 2.00 0.00 2.00 2.00 0.13
每隔三秒更新一次,一共打印了三次。-x时打印出扩展选项。第一次打印的信息可以被忽略,剩下的报告,都是基于上一次间隔的时间打印出来。
上述的列子中xvda的 util(利用率)是100.27,有进程往磁盘中写入数据。
(3)通过iotop查找高I/O对应的进程
[root@iZ23iod5vslZ~]# iotopTotal DISK READ: 0.00 B/s| Total DISK WRITE: 15.67 K/sActual DISK READ: 0.00 B/s| Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND 18793 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 java-Djava.util.logging.config.file=/usr/to~p org.apache.catalina.startup.Bootstrap start18987 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 cronolog/guojinbao/tomcat/logs/catalina.Y-m-d.out18796 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 java-Djava.util.logging.config.file=/usr/to~p org.apache.catalina.startup.Bootstrap start13193 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 java-Djava.util.logging.config.file=/usr/to~p org.apache.catalina.startup.Bootstrap start 1 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 systemd--switched-root--system--deserialize 22 2 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [kthreadd] 3 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [ksoftirqd/0]16388 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 AliYunDun 5 be/0 root 0.00 B/s 0.00 B/s 0.00 0.00 [kworker/0:0H]16390 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 AliYunDun 7 rt/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [migration/0] 8 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcu_bh] 9 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcuob/0] 10 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcuob/1] 11 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcuob/2]
从上述的例子中可以看出进程号为cronolog18987占用了大量的磁盘IO
(4)通过lsof-p pid查找由那个文件引起的IOwait
[root@iZ23iod5vslZ~]# lsof-p 18987COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEcronolog 18987 root cwd DIR 202,17 20480 2400258/guojinbao/tomcat/logscronolog 18987 root rtd DIR 202,1 4096 2/cronolog 18987 root txt REG 202,1 48627 152798/usr/local/sbin/cronologcronolog 18987 root mem REG 202,1 2107600 132826/usr/lib64/libc-2.17.socronolog 18987 root mem REG 202,1 160240 132819/usr/lib64/ld-2.17.socronolog 18987 root 0r FIFO 0,8 0t0 42614018 pipecronolog 18987 root 1w CHR 1,3 0t0 1028/dev/nullcronolog 18987 root 2u CHR 136,0 0t0 3/dev/pts/0(deleted)cronolog 18987 root 3w REG 202,17 5704875979 2400280/guojinbao/tomcat/logs/catalina.2017-08-14.out
lsof命令可以展示一个进程打开的所有文件,或者打开一个文件的所有进程。从这个列表中,我们可以找到具体是什么文件被写入,根据文件的大小和/proc中io文件的具体数据.
为了确认我们的怀疑,我们可以使用/proc文件系统,每个进程目录下都有一个叫io的文件,里边保存这和iotop类似的信息
[root@iZ23iod5vslZ~]# cat/proc/18987/io rchar: 58891582418wchar: 58891579778syscr: 46556085syscw: 46556077read_bytes: 212992write_bytes: 59580235776cancelled_write_bytes: 0
read_bytes和write_bytes是这个进程从磁盘读写的字节数。这个例子中cronolog读取了212992byte(0.2M)数据,写入了59580235776bytes(55.4G)数据到磁盘上。
(5)通过df-h/guojinbao来查看服务器那块磁盘的根目录
[root@iZ23iod5vslZ~]# df-h/guojinbao/Filesystem Size Used Avail Use Mounted on/dev/xvdb1 45G 38G 4.7G 89/guojinbao
最后,通过以上的信息我们可以放心的说lsof的结果就是我们要查找的文件