LNAMP(Linux+Nginx+Apache+Mysql+PHP)高性能架构配置实战版

LNAMP(Linux+Nginx+Apache+Mysql+PHP)架构受到很多IT企业的青睐,取代了原来认为很好的LNMP(Linux+Nginx+Mysql+PHP)架构。

那我们说LNAMP到底有什么优点呢,还得从Nginx和apache的优缺点说起。

1)Nginx处理静态文件能力很强

2)Apache处理动态文件很强而且很稳定,把二者综合在一块,性能提升很多倍。

可能很多Linux SA在从事LNMP运维中,会发现PHP(FastCGI)模式会出现一些502错误的现象,这是因为Nginx+PHP(FastCGI)组合不稳定的原因造成的。

源码安装LNAMP之Nginx

yum install prce-devel -y;cd  /usr/src ;wget http://nginx.org/download/nginx-1.6.0.tar.gz  ;cd nginx-1.6.0;./configure -prefix=/usr/local/nginx && make && make install
源码安装LNAMP之Apache
yum install apr-devel apr-util-devel –y;
cd  /usr/src ; wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.27.tar.gz ;tar xzf httpd-2.2.27.tar.gz ;cd httpd-2.2.27 ;./configure--prefix=/usr/local/apache --enable-so --enable-rewrite && make&& make install
源码安装LNAMP之MySQL
cd/usr/src ;wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.63.tar.gz ;tar xzf mysql-5.1.63.tar.gz ;cd mysql-5.1.63;./configure  --prefix=/usr/local/mysql--enable-assembler && make && make install
配置Mysql服务为系统服务:
cp/usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
cp/usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
cd /usr/local/mysql
useraddmysql
chown -R  mysql.mysql /usr/local/mysql
/usr/local/mysql/bin/mysql_install_db --user=mysql  
chown -R mysql  var
/usr/local/mysql/bin/mysqld_safe --user=mysql &

源码安装LNAMP之PHP
cd/usr/src ;wget http://mirrors.sohu.com/php/php-5.3.28.tar.bz2 ;tar jxf php-5.3.28.tar.bz2 ;cd php-5.3.28 ;./configure --prefix=/usr/local/php5--with-config-file-path=/usr/local/php/etc  --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/

源码安装Apache+PHP整合

整合apache+php环境,修改httpd.conf配置文件,然后加入如下语句:

LoadModule     php5_modulemodules/libphp5.so (默认已存在)

AddType     application/x-httpd-php .php

DirectoryIndex  index.phpindex.html (把index.php加入index.html之前)

然后在/usr/local/apache/htdocs目录下创建index.php测试页面,执行如下命令:

cat>>/usr/local/apache/htdocs/index.php <<EOF

<?php

phpinfo();

?>

EOF

重新启动apache服务,通过IP访问界面如下图,即代表LAMP环境搭建成功。

源码安装DISCUZ论坛
下载discuz源码包文件,然后解压:
cd  /usr/src ;wget http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip
解压discuz程序包:unzip Discuz_X3.1_SC_UTF8.zip -d/usr/local/apache/htdocs/
重命名程序文件:cd /usr/local/apache/htdocs/ ;mv upload/* .
赋予discuz目录完全访问权限:cd /usr/local/apache/htdocs/;chmod 777 -R data/ uc_server/ config/ uc_client/
然后访问IP安装discuz论坛,如下图,选择“我同意”

进入如下界面,数据库安装,如果不存在则需要新建数据库并授权。

点击下一步,直至安装完成,进入等待已久的论坛画面:

自此LAMP环境整合并搭建成功,那如何使用Nginx来整合LAMP呢?

源码安装Nginx+LAMP整合

先修改apache访问端口为8080,Nginx端口为80。

然后修改nginx配置文件: vi /usr/local/nginx/conf/nginx.conf,server配置段内容如下:

(定义upstream均衡模块,配置动静分离,动态转发至apache,静态文件直接本地响应)

upstream app_lamp {

server  127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;

}

server {

listen       80;

server_name  localhost;

location / {

root   /usr/local/apache/htdocs;

index  index.php index.html index.htm;

}

location ~ .*\.(php|jsp|cgi)?$

{

proxy_set_header Host  $host;

proxy_set_header X-Real-IP$remote_addr;

proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;

proxy_pass http://app_lamp;

}

location ~.*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$

{

root /usr/local/apache/htdocs;

expires      3d;

}

}

测试,访问nginx ip+port如下图所示:

查看系统启动的端口及进程如下图:

自此,LNAMP全部整合完毕,接下来就是对系统内核、各个服务、架构进行优化.

时间: 2024-10-13 00:51:54

LNAMP(Linux+Nginx+Apache+Mysql+PHP)高性能架构配置实战版的相关文章

linux+nginx+apache+mysql+php配置

一.安装nginx: 1.进入nginx官网,选择download,选择linux预编译版本,根据自己的系统版本编辑/etc/yum.repos.d/nginx.repo;本人的系统是centOs7.0,故文件内容如下: [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 2.编辑完成后,yum install -y nginx安装nginx: 3.执

Nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第三部分

Nginx反向代理.动静分离.负载均衡及rewrite隐藏路径详解 (Nginx Apache MySQL Redis) 楓城浪子原创,转载请标明出处! 更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com 微信bh19890922 QQ445718526.490425557 三.Nginx动静分离及负载均衡 3.1 Nginx安装 请参考:https://fengchenglangzi.000webhostapp.com/?p=511 亦

linux下apache+mysql+php开发环境纯源代码编译搭建

linux下apache+mysql+php开发环境纯源代码编译搭建 记录一下我在fedora core 1下通过源代码编译出来的apache+mysql+php开发环境的全部过程 通常安装一台服务器当然使用rpm是最方便的,不需要考虑太多配置的问题,就可以轻松获得需要的环境了.不过rpm包互相关联的问题也不是这么容易解决. apache,mysql,php这三个应用从源代码编译安装还是比较简单的,配置参数不算复杂,而且没有太多的依赖关系,从源码编译出来的系统也比较稳定一些,方便未来打补丁和升级

(总结)Linux下查看Nginx Apache MySQL的并发连接数和连接状态

1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'或者:netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'返回结果一般如下: LAST_ACK 5 (正在等待处理的请求数)SYN_RECV 30E

Linux下查看Nginx Apache MySQL的并发连接数和连接状态

1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 或者: netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}' 返回结果一般如下: LAST_ACK 5 (正在等待处理的请求数) SYN_REC

大共享免费云服务器 Linux Nginx php mysql phpwind 性能测试

接触互联网有五年多了,从最初想建站开始使用免费空间,到现在使用云主机建站,辗转反侧的痛苦只有自己知道.因为免费服务器的更换及数据的丢失,博客曾经三次大换血,于是找一个稳定可靠的服务器一直是心中的一个愿望.当然都知道阿里云好用,不过对于只是一个个人博客的网站来说,本来就没有什么收入,一年几千块钱的投入的话,刚开始是能够坚持的,时间久了就难了,这也是为什么大部分博客半路夭折的原因. 后来听一朋友介绍大共享永久免费云服务器,看了下官方的介绍(http://www.dagongxiang.com/fea

linux+php+apache+mysql+vsftp

安装:php+apache+mysql↓ yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql 配置vsftp↓ yum

Linux下Apache+MySQL+PHP的rpm包安装实现DISCUZ论坛

1.环境说明与准备 [[email protected] ~]# yum list | egrep -i "(httpd|mysql|php)" | grep 'installed' This system is not registered with RHN. RHN support will be disabled. httpd.i386                               2.2.3-11.el5           installed        my

转:Nginx+Apache环境的安装与配置

转:http://www.server110.com/nginx/201404/8817.html 我们依然尽可能采用yum来安装我们需要的软件,由系统官方维护的软件,其安全性和稳定性都值得信赖,并且容易管理,升级方便,但是在CentOS和RHEL的官方yum源中暂时没有Nginx等软件包,所以我们需要使用EPEL的yum源.EPEL是什么,EPEL的yum源怎么添加,点击这里查看. 本文将要介绍的Nginx+Apache结构,其实就是Nginx做前端,Apache做后端,充分发挥他们各自的优势