LAMP和LNMP深度优化

LAMP与LNMP web架构深度优化

企业连接数据库一般用域名,因为连接数据库的文件可能有多个,那么当一旦数据库ip改了,那么数据库连接的文件也都需要修改,这样极容易漏掉而出现错误,正确的做法是每个数据库连接文件里都写连接数据库的域名,然后在本地host里将数据库ip及域名做一个解析

数据库tar备份数据文件

必须停机才能保持备份的数据库和线上的一致,那么企业是不可能随意停机的,所以一般会用到热备工具如mysqldump等进行实时同步备份。

必须要总结的:

nginx.conf httpd.conf httpd-vhosts.conf httpd-mpm.conf my.cnf php.ini php-fpm.conf

1、隐藏nginx header

vi /application/nginx/conf/nginx.conf

http {

server_tokens off 添加此行

}

隐藏apache header

vim /application/apache/conf/extra/httpd-default.conf

Serverfokens Prod

ServerSi gnature Off 添加这两行

2、更改nginx的用户组

在配置文件nginx.conf里将user nobody改为其他的。nginx默认主进程master process是root用户,可改动则需要更改nginx的端口,因为80端口默认需要root权限,此时更改下端口,再改下服务端口就行了。用root用户提供web对外服务非常危险,用户可上传很多东西把网站给覆盖掉,支付宝就是把所有服务跑在普通用户下。

3、修改nginx worker进程个数

一般高并发场景,但多了就有问题会卡,就会加大服务成本,默认worker_processes=1,

可按cpu核数来给,在nginx.conf配置文件里改。查cpu cat /proc/cpuinfo

4、平均分配资源到不同cpu上

默认情况nginx的多个进程可能更多的跑在一颗cpu上,修改方法添加worker_cpu_affinity 0001 0010 0100 1000 每个worke processes分配到独立的cpu上。top命令按1可查看cpu个数占用情况或grep ‘physical id’ /proc/cpuinfo。最后可以实测一下用压力工具webbench -c 20000 -t 180 http://x.x.x.x

5、taskset

设置cpu亲和力,比如让myslq跑在前三颗cpu上:taskset -c 1,2,3 /etc/init.d/mysql start

6、事件处理模型

在配置文件里将events字段添加为:use epoll;改为epoll模型。高并发软件如memcache都支持epoll模型。

7、修改worker_connections连接数

其实它意思是一个work进程数的连接数,可以改为4096即可。太大的话连接的用户过多也容易把服务器压垮。

8、优化服务器名字的hash表大小

server_names_hash_bucket_size 64

9、开启高效文件传输模式

sendfile on;

tcp_nopush on;

10、设置连接超时时间

3s以内网站的打开时用户对网站最佳的忍耐时间,大门户网站会有首屏,先打开一部分让用户看到,设置超时时间keepalive_timeout  60;

tcp_nodelay on;打开了keepalive参数后才有效。client_header_timeout 15;

php服务希望短连接,java希望长连接,因为java建立连接很消耗资源,而php很快。

client_header_timeout 15;客户端进来之后都不搞事会消耗资源。client_body_timeout 15;

11、上传文件大小限制

client_max_body_size 10m;默认是2m。

限制客户端请求多大的内容

12、fastcgi调优

fastcgi_connext_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_timeout 64k;

fastcgi_ buffers 4 64k;分配4个64k缓冲区

13、隐藏或修改nginx 版本名称

在安装编译nginx之前到nginx的软件包里

vim  /home/weipeng/tools/nginx-1.6.2/src/http/ngx_http_header_filter_module.c 进行修改:

时间: 2024-08-29 12:59:23

LAMP和LNMP深度优化的相关文章

LAMP和LNMP加速与缓存优化

LAMP和LNMP的优化,两者php的优化差不多: apache+php(libphp5.so) nginx+php(fcgi php-fpm) 优化都是对应一个主配置文件php.ini nginx php(fcgi php-fpm)有一个自己的配置文件php-fpm.conf php web引擎缓存加速优化实战 php慢的瓶颈点有两点:1.解析需要时间 2.需要找后面mysql要,需要时间. 1.操作码缓存...将php引擎解析数据请求编译后的数据缓存起来. php在高版本后可直接编译时加上异

LAMP与LNMP加速与缓存优化(二)

开始配置软件,具体软件安装,可以看 LAMP与LNMP加速与缓存优化(一) vi     /application/php/lib/php.ini lamp extension_dir = "/application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/" extension = memcache.so                                                            

大型网站MySQL深度优化揭秘 2

学无止境,老男孩教育成就你人生的起点! 相信自己相信老男孩!!! 老男孩-51cto-公开课-大型网站MySQL深度优化揭秘 部分整理有没跟上的抱歉 ? 目 录 大型网站MySQL深度优化揭秘????2 第1章 优化的思路和线路????2 1.1 网站优化的思路????2 1.2 MySQL优化,nginx这样的东西怎么优化?????2 第2章 硬件层面优化????3 2.1 数据库物理机????3 2.1.1 CPU????3 2.1.2 Memory????3 2.1.3 disk(磁盘IO

lamp or lnmp 环境搭建之独立安装mysql数据库

lamp or lnmp 环境搭建,如果mysql 是独立安装的则需要授权: 单独一台服务器独立安装mysql 安装后,优化服务器. 授权 实例如下: 创建用户 CREATE USER demo IDENTIFIED BY "passwd123"; 授权使用mysql数据库下面的所有表 GRANT ALL PRIVILEGES ON mysql.* TO 'demo'@'%'IDENTIFIED BY 'passwd123'WITH GRANT OPTION; FLUSH PRIVIL

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

本次实验要进行的是在CentOS7.2,内核版本3.10.0-327.el7.x86_64的环境下搭建LAMP和LNMP,并在此之上做一个WordPress博客网站. [[email protected] ~]# uname -a Linux Shining.ACG 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# cat 

shell脚本:一键安装LAMP、LNMP脚本

历时三天边写边测试,终于完成目前最长代码的脚本,总共253行,在2台机器安装LAMP,LNMP都顺利通过,脚本可做为生产环境使用. 脚本需要注意的地方:1:脚本适用于centos系统6.5以上,干净系统:如安装过其他环境需要修改脚本内容:2:脚本适用于:apache 2.4.x 版本:mysql5.5.x以上版本:php5.5.x以上版本:3:mysql .php. apache. nginx 安装包事先要下载到/usr/local/src目录下,如名字不对需要更改脚本里的软件包名称: 脚本安装

实训之countdown深度优化

今天开始我们为期三周的实训,讲道理很紧张.我们两个多月的时间,小组成员磨合的非常好,可以说是有点默契的程度了,凝聚力明显提高.今天的分组之后立马投入这次实训中. 首先要确定我们这次实训目标,我们选择了继续强化我们的项目.在前段时间配合的不是很理想到通力合作做出粗略的基本功能的实现,我们每个人都付出了很多.这次我们希望继续深入下去这个项目,让它不再是一个简单的功能性软件,我们打算加入一些全新的功能点进去,让这个项目成为我们之前规划中小巧简便实用性高的产品. 首先我们希望加入登录注册,在使用过程中可

centos下yum安装lamp和lnmp轻松搞定

centos下yum安装lamp和lnmp轻松搞定,到底多轻松你看就知道了,妈妈再也不担心不会装lamp了. 很辛苦整理的安装方法,会持续更新下去.凡无法安装的在评论里贴出问题来,会尽快解决.共同维护一个可用yum可用更新. 软件列表:php5.4 apache2.2 mysql5.5 nginx1.8 centos6.x rpm -Uvh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ng

自动安装lamp和lnmp环境

#!/bin/bash echo "It will install lamp or lnmp." sleep 1 ##check last command is OK or not. check_ok() { if [ $? != 0 ] then     echo "Error, Check the error log."     exit 1 fi } ##get the archive of the system,i686 or x86_64. ar=`arc