一、简介
LNMP是什么
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版
本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理
服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的
网站服务系统。
Nginx的特点
Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄
罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多
年,相当的稳定。Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消
耗系统资源极少。
LNMP这种架构有什么优势
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连
接,体现更高的效率。
作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作
为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU
使用效率都比Perlbal要好的多。
作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这
个产品的目的之一也是作为邮件代理服务器), Last/fm 描述了成功并且美妙的使用
经验。
Nginx 安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平
滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。
LNMP和LAMP的区别
LNMP 是基于 LAMP 的一种演变,将其中的 Apache 换成了Nginx的开源架构。
Nginx是开源网络服务器的后起之秀,相比 Apache,Nginx 使用更少的资源,支持更
多的并发连接,体现更高的效率,方便的群集配置,正被越来越多的人所使用。但
新生总有很多毛病,LAMP老品牌值得信任,理想中的搭配LAMP+LN,两种组合安
装在不同服务器上,LAMP负责处理动态网站,LN负责处理静态网站。
二、案例
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
本地yum编辑结果:
[rhel-server]
name=Red Hat Enterprise Linux serverbaseurl=file:///mnt/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[root@localhost ~]# yum install pcre-devel
安装libevent
[root@localhost ~]# tar -zxvf libevent-2.0.16-stable.tar.gz
–C /usr/local/src
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# cd libevent-2.0.16-stable/
[root@localhost libevent-2.0.16-stable]# ./configure
[root@localhost libevent-2.0.16-stable]# make
[root@localhost libevent-2.0.16-stable]# make install
编辑库文件
[root@localhost local]# vim /etc/ld.so.conf.d/libevent.conf
编辑结果
/usr/local/lib
libevent安装完成。
安装nginx
[root@localhost ~]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# cd nginx-1.0.11/
[root@localhost nginx-1.0.11]# groupadd -r nginx
[root@localhost nginx-1.0.11]# useradd -r -g nginx -s /bin/false -M nginx
[root@localhost nginx-1.0.11]# ./configure \
> --prefix=/usr \
> --sbin-path=/usr/sbin/nginx \
> --conf-path=/etc/nginx/nginx.conf \
> --error-log-path=/var/log/nginx/error.log \
> --http-log-path=/var/log/nginx/access.log \
> --pid-path=/var/run/nginx/nginx.pid \
> --lock-path=/var/lock/nginx.lock \
> --user=nginx \
> --group=nginx \
> --with-http_ssl_module \
> --with-http_flv_module \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
> --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
> --with-pcre
[root@localhost nginx-1.0.11]# make
[root@localhost nginx-1.0.11]# make install
[root@localhost ~]# mkdir -pv /var/tmp/nginx
nginx安装完成。
安装mysql
[root@localhost ~]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -
C /usr/local
[root@localhost ~]# cd /usr/local
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql
[root@localhost local]# cd mysql
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -r -g mysql mysql
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql data
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf
[root@localhost mysql]# bin/mysqld_safe --user=mysql &
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
编辑库文件
[root@localhost mysql]# cd /etc/ld.so.conf.d/
[root@localhost ld.so.conf.d]# vim mysql.conf
编辑结果
/usr/local/mysql/lib
编辑头文件
[root@localhost ld.so.conf.d]# cd /usr/local/mysql
[root@localhost mysql]# cd /usr/include/
[root@localhost include]# ln -s /usr/local/mysql/include mysql
Mysql安装完成。
安装Php
[root@localhost ~]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# cd php-5.3.7/
[root@localhost php-5.3.7]# ./configure --prefix=/usr/local/php --with-
apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-
mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all
[root@localhost php-5.3.7]# rpm -qa |grep -E "xml|png|zlib|jpeg|freetype"
[root@localhost php-5.3.7]# make
[root@localhost php-5.3.7]# make install
安装完成。