一、LNMP的简介:
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
二、LNMP的特点:
Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。
三、LNMP的优点:
1.作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
2.作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。
3.作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。
4.Nginx 安装非常的简单:配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。
四、LNMP的搭建:
第一部分:nginx的安装
1》配置yum
2》检查系统环境西否具备相应的开发工具
Yum grouplist
3》安装pcre为了实现头部的地址重写
pcre-devel 开发包 包含了很多的库文件 和一些头文件
/usr/lib /lib为系统库文件的存放位置
4
》拆解tar -zxcf libevent -C /usr/local/src
cd /usr/local/src/libevent
5》./configure 默认安装到/usr/local目录下
make 变成 可执行文件 头文件 库文件 文档
[root@zhangc libevent-2.0.16-stable]# make install
ldconfig -pv |grep libevent
(是库文件能够被正常调用需要指明路径)vim /etc/ld.so.conf.d/libevent.conf
/usr/local/lib
[root@zhangc libevent-2.0.16-stable]# ldconfig –v手工调用一次
6》tar nignx
./configure --help
groupadd -r nginx
useradd -r -g nginx -s /bin/false -M nginx
-r表示系统账号
-M不创建家目录
-s表示shell
nginx的安装与配置
./configure \(检测预编译环境)
--prefix=/usr \(安装路径)
--sbin-path=/usr/bin/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-client-body-temp-path=/var/tmp/nginx/client/ \(记录客户端访问信息的缓存)
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--with-pcre 用于url的重定向
7》使用make进行编译
8》mkdir -pv /var/tmp/nginx
9》nginx 启用nginx
[root@zhangc nginx-1.0.11]# nginx
10》使用pc访问可以看到nginx
sendfile 机制
配置脚本文件为/etc/nginx/nginx.conf其中
location / 表示/usr/html/可以访问目录下的任意对象
nginx安装完成。
第二部分:mysql的安装
安装绿色软件MYSQL数据库
1》解压缩:
[root@zhangc ~]# tar zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/
2》进入查看INSTALL文件的安装方法
[root@zhangc mysql-5.5.15-linux2.6-i686]# less INSTALL-BINARY
3》按照安装说明文件添加相应的组和用户与需要的参数进行安装
[root@zhangc mysql-5.5.15-linux2.6-i686]# groupadd mysql
[root@zhangc mysql-5.5.15-linux2.6-i686]# useradd -r -g mysql mysql
[root@zhangc mysql-5.5.15-linux2.6-i686]# cd /usr/local
[root@zhangc local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql
[root@zhangc local]# cd mysql
[root@zhangc mysql]# chown -R mysql .
[root@zhangc mysql]# chgrp -R mysql .
[root@zhangc mysql]# scripts/mysql_install_db --user=mysql
[root@zhangc mysql]# chown -R root .
[root@zhangc mysql]# chown -R mysql data
[root@zhangc mysql]# bin/mysqld_safe --user=mysql &【启动mysql】
各个文件权限最终修改为如下图:
4》安装完成,查看mysql服务占用的端口和进程号
[root@zhangc mysql]# bin/mysqld_safe --user=mysql &【启动mysql】
5》启动mysqld服务
6》编辑文件使系统能正常调用库文件:
[root@zhangc mysql]# vim /etc/ld.so.conf
include ld.so.conf.d/*.conf 【说明/etc/ld.so.conf.d/文件夹下的.conf结尾的文件均能正常调用】
[root@zhangc mysql]# vim /etc/ld.so.conf.d/mysql.conf【写入mysql的库文件的路径】
7》手动调用一次库文件查看是否能被正常调用:
[root@zhangc mysql]# ldconfig -v |grep mysql
/usr/local/mysql/lib:
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
8》为头文件创建标准连接
该服务安装完成
第三部分:php源码安装
PHP 源码安装:
1》拆解到/usr/local/src/然后进入cd /usr/local/src/php-5.1.15
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --with-libevent-dir=/usr/local --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-iconv-dir=/usr/local
2》安装完成后,使用make ZEND_EXTRA_LIBS='-liconv'编译
3》使用make install安装
4》安装完成以后,需要拷贝配置文档到相应目录位置
5》编辑文件/usr/local/php/etc/php-fpm.conf
[root@zhangc php-5.3.7]# vim /usr/local/php/etc/php-fpm.conf
将下面几行前面的;(分号)去掉
30行 error_log
141行 pm.start_server
182行 pm.max_requests
146行 pm.max_spare_servers
171行 pm.min_spare_servers
141行 pm.start_server
182行 pm.max_requests
146行 pm.max_spare_servers
171行 pm.min_spare_servers
161行 pm.max_children
6》然后启动fastcgi
[root@zhangc php-5.3.7]# /usr/local/php/sbin/php-fpm &
[2] 23529
7》编辑配置文件/etc/nginx/fastcgi.conf
8》切换到/etc/nginx,保证两个文件相同:fastcgi.conf 和 fastcgi_params
cat fastcgi.conf > fastcgi_params
9》然后修改/etc/nginx/nginx.conf文件,添加与php相关的选项
[root@zhangc nginx]# vim /etc/nginx/nginx.conf
10》试验完成
重新启动nginx服务
[root@zhangc nginx]# nginx
11》创建并编辑/usr/html/index.php
12》测试调用php是否成功:
13》测试调用mysql是否成功
测试成功
转载于:https://blog.51cto.com/zhangc/980529