搭建过lamp博友和lnmp的博友们可能对这这两个单词并不陌生,对与apachen,nginx相比都源码或yum安装过,但知道apache的nginx的优点,apache处理动态页面很强,nginx处理静态页面丝毫不逊色。如果只是单独的去应用,在现行的高并发的企业网络体难以系上保证此架构的稳定性。

如果把apache和nginx相互整合,动静结合,可以很大程度上提高网络的处理效率。

下面是lanmp架构的简单搭建:

源码安装 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
useradd mysql
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_module modules/libphp5.so (默认已存在)
AddType application/x-httpd-php .php
DirectoryIndex index.php index.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 论坛,如下图,选择“我同意”

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

数据库创建及授权命令如下:
create database discuz charset=utf8;
grant all on discuz.* to root@'localhost' identified by "123456";  

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

源码安装 Nginx+LAMP 整合
先修改 apache 访问端口为 8080,Nginx 端口为 80。
然后修改 nginx 配置文件: vi /usr/local/nginx/conf/nginx.conf,server 配置段内容如
下(把nginx的发布目录指向apache的发布目录)
(定义 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高性能架构之apache和nginx的整合的更多相关文章

  1. Tomcat结合Apache、Nginx实现高性能的web服务器

    一.Tomcat为什么需要与apache.nginx一起结合使用? Tomcat虽然是一个servlet和jsp容器,但是它也是一个轻量级的web服务器.它既可以处理动态内容,也可以处理静态内容.不过 ...

  2. 转:Apache和Nginx运行原理解析

    Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务. 应用层使用HTTP协议. HTML文档格式. 浏览器统一资源定位器(URL). Web服 ...

  3. 从运行原理及使用场景看Apache和Nginx

    用正确的工具,做正确的事情. 本文只作为了解Apache和Nginx知识的一个梳理,想详细了解的请阅读文末参考链接中的博文. Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务 ...

  4. Apache和Nginx运行原理解析

    Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务. 应用层使用HTTP协议. HTML文档格式. 浏览器统一资源定位器(URL). Web服 ...

  5. PHP服务器Apache与Nginx的对比分析

    PHP服务器Apache与Nginx的对比分析 本篇文章给大家带来的内容是关于PHP服务器Apache与Nginx的对比分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Apach ...

  6. Web服务(Apache、Nginx、Tomcat、Jetty)与应用(LAMP、CMS-WordPress&Ghost、Jenkins、Gitlab)

    Web服务和应用是目前信息技术领域的热门技术.如何使用Docker来运行常见的Web服务器(包括Apache.Nginx.Tomcat等),以及一些常用应用(LAMP.CMS等).包括具体的镜像构建方 ...

  7. 网络编程的演进——从Apache到Nginx

    Apache 1.Apache HTTP服务器是 Robert McCool 在1995年写成,并在1999年开始在Apache软件基金会的 框架下进行开发. 由于Apache HTTP服务器是基金会 ...

  8. (转)Apache和Nginx运行原理解析

    Apache和Nginx运行原理解析 原文:https://www.server110.com/nginx/201402/6543.html Web服务器 Web服务器也称为WWW(WORLD WID ...

  9. Web服务器☞Apache VS Nginx

    Web服务器☞Apache VS Nginx LZ最近公司有一个项目在Web服务器选型上,在Apache和Nginx之间引起了一些讨论.这两者目前都是业内优秀的web服务器,都实现了HTTP1.1协议 ...

随机推荐

  1. POJ 3660—— Cow Contest——————【Floyd传递闭包】

    Cow Contest Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit  ...

  2. HDU 4357——String change——————【规律题】

    String change Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  3. Java基础入门 - 标识符及其命名规范

    类名.变量名.方法名都称为标识符 标识符命名规范: 由字母(A-Z或a-z).数字.下划线(_)和美元符($)中的一种或多种组合而成 不可以数字开头 大小写敏感 关键字不能用作标识符 合法标识符如:D ...

  4. 上下文ac获取为null,SpringContextUtil配置位置,以及各配置xml的加载顺序有讲究

    发现一个有趣的现象,一般job都会在执行前去初始化一次ac,而任务监视器SupervisorQueueJob不会,因此启动时初始化ac为null,SupervisorQueueJob会始终无法获取上下 ...

  5. 安卓开发:Please ensure that adb is correctly located at……问题解决方案

    话不多说,每一个开发安卓的菜鸟都会遇到这种问题. Please ensure that adb is correctly located at 'E:\种子下载\adt-bundle-windo... ...

  6. linux单机限速工具

    wondershaper是国外人开发的一款在Linux内核下基于TC工具的对整块网卡的限度工具. http://lartc.org/wondershaper/ 安装wondershaper: [roo ...

  7. ICCV 2017 Best Paper Awards

    [ICCV 2017 Best Paper Awards]今年的ICCV不久前公布了Best Paper得主,來自Facebook AI Research的Mask R-CNN[1],與RetineN ...

  8. Vue.js-项目目录结构解析

    1.Vue初始化项目目录如下: 2.目录各项含义如下:

  9. C#中生成随机数的几种方法

    Random 类 Random类默认的无参构造函数可以根据当前系统时钟为种子,进行一系列算法得出要求范围内的伪随机数 Random rd = new Random() rd.next(,)(生成1~1 ...

  10. linux上传、下载文件rz、sz命令

    1.介绍 sz命令是利用ZModem协议来从linux服务器传送文件到本地,一次可以传送一个或多个文件.相对应的从本地上传文件到Linux服务器,可以使用rz命令. 2.参数说明 -a,以文本方式传输 ...