构建Nginx均衡LAMP高性能服务器
LNAMP(Linux+Nginx+Apache+Mysql+PHP)架构受到很多IT企业的青睐,取代了原来认为很好的LNMP(Linux+Nginx+Mysql+PHP)架构,那我们说LNAMP到底有什么优点呢,还得从Nginx和apache的优缺点说起。
Nginx处理静态文件能力很强,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
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配置段内容如下:
(定义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全部整合完毕,接下来就是对系统内核、各个服务、架构进行优化,同样优化是一项长期的任务。
构建Nginx均衡LAMP高性能服务器的更多相关文章
- Nginx均衡TCP协议服务器案例
Nginx在企业运维中通常用来均衡HTTP协议,例如我们熟知的80.8080.8081等服务.因为大部分的服务都是http请求访问协议,那有时候需要用到TCP协议,如果来实现均衡呢? 默认nginx不 ...
- linux+nginx+mysql+php高性能服务器搭建
1.安装基础包 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freet ...
- Docker构建nginx的nginx-rtmp-module视频服务器镜像
文章地址:https://www.cnblogs.com/linyilong3/p/5862595.html GitHub nginx-rtmp-module 及配置 Dockerfile构建配置: ...
- Nginx+PHP(FastCGI)高性能服务器加载redis+memcache模块
1)Nginx+FastCGI安装配置: yum install openssl openssl-devel pcre-devel pcre zlib zlib-devel –y #下载Nginx源 ...
- 使用Nginx负载均衡搭建高性能.NETweb应用程序一
一.遇到的问题 当我们用IIS服务器部署了一个web应用以后,当很多用户高并发访问的时候,客户端响应就会很慢,客户的体验就会很差,由于IIS接受到客户端请求的 时候,就会创建一个线程,当线程达到几千个 ...
- 使用Nginx负载均衡搭建高性能.NETweb应用程序(转)
一.遇到的问题 当我们用IIS服务器部署了一个web应用以后,当很多用户高并发访问的时候,客户端响应就会很慢,客户的体验就会很差,由于IIS接受到客户端请求的时候,就会创建一个线程,当线程达到几千个时 ...
- 使用Nginx负载均衡搭建高性能.NETweb应用程序二
在文章<使用Nginx负载均衡搭建高性能.NETweb应用程序一>中,让我们对Nginx有了一个初步认识,下面我们将在windows平台下面使用Nginx演示集群部署我们的web应用. 一 ...
- 【高性能服务器】Nginx剖析
引言 Nginx是一个流行的高性能服务器,官方宣称在压力测试下可以支持5万个并发连接,而且占用内存极低.相比于其他昂贵的硬件负载均衡解决方案,Nginx是开源免费的,可以大大降低成本.本文将从一下几个 ...
- Windows下nginx配置多台服务器做负载均衡
Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3 ...
随机推荐
- HDFS的接口(命令行接口和Java接口)--笔记
HDFS 文件的系统访问的接口 1.Hadoop的shell命令脚本 hadoop fs -ls 列出某一个目录下的文件 hadoop fs -lsr 递归的方式列出所有文件 hadoop fs ...
- CUDA C Best Practices Guide 在线教程学习笔记 Part 2
10. 执行配置优化 ● 一个 SM中,占用率 = 活动线程束的数量 / 最大可能活动线程束的数量.后者保存在设备属性的 maxThreadsPerMultiProcessor 分量中(GTX10 ...
- 初学者最易懂的git教程在这里!
一.git简介: Linux创建了Linux,但是Linux的发展壮大是由世界各地的热心志愿者参与编写的?那么那么多份的代码是怎么合并的呢?之前是在2002年以前,世界各地的志愿者把源代码文件通过di ...
- VS2015 使用Xunit来进行单元测试
安装Xunit: Xunit的安装现在不需要插件支持了,直接使用NuGet安装如下两个库即可: PM> Install-Package xunit PM> Install-Package ...
- Scrum Meeting Alpha - 6
Scrum Meeting Alpha - 6 NewTeam 2017/10/31 地点:主南203 任务反馈 团队成员 完成任务 计划任务 安万贺 完成了个人博客和班级列表部分API的包装 完成个 ...
- 一:详解 HTTP 协议
本篇文章篇幅比较长,先来个思维导图预览一下. 一张图带你看完本篇文章 一.概述 1.计算机网络体系结构分层 计算机网络体系结构分层 2.TCP/IP 通信传输流 利用 TCP/IP 协议族进行网络通信 ...
- Rsync服务
第1章 Rsync开篇介绍 1.1 rsync的定义 Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windo ...
- Makefile持续学习二
Makefile概述 一.Makefile里有什么? Makefile里主要包含5个东西:显式规则.隐晦规则.变量定义.文件指示和注释 1.显式规则:显式规则说明如恶化生成一个或多的目标文件,包含要生 ...
- PHP date()函数格式与用法汇总
在页面的最前页加上 date_default_timezone_set("PRC"); /*把时间调到北京时间,php5默认为格林威治标准时间*/ date () a: & ...
- [读书笔记]javascript语言精粹'
人比较笨,以前只做项目,案例,然而一些javascript的很多理论不知道该怎么描述,所以最近开启一波读书之旅: 标识符 1.定义 标识符以字母开头,可能后面跟上一个或多个字母.数字或者下划线. 2. ...