linux下实现lnmp环境

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debiancentosubuntufedoragentoo等。

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

Mysql是一个小型关系型数据库管理系统。

PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

作为 Web 服务器:apache选择使用select机制,进行轮询方式,并发连接请求最大为1024,而nginx采用epoll机制,效率比apache要高,理论上其最大的并发连接请求为65534,实际上也能达到5000的并发连接请求,体现更高的效率。

作为负载均衡服务器:Nginx既可以在内部直接支持RailsPHP,也可以支持作为 HTTP代理服务器对外进行服务。NginxC编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。

作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。

Nginx 安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。

在本次LNMP环境的搭建过程中,OS使用Redhat EnterpriseLinux AS v5.4,nginxPHP的结合采用fastcginginx等待用户请求,当接收到用户请求的时候将用户请求发送给fastcgifastcgiPHP进行交谈,PHP再来调用mysql中得数据,从这个工作流程看起来,应该先安装nginxmysql,最后安装PHP,首先我先将需要安装的源码包放在了/root目录下:

libevent-2.0.16-stable.tar.gz提供nginx安装时gzip模块需要的 zlib 

还需要安装pcre-devel提供nginx安装时rewrite模块需要的pcre 

mysql-5.5.15-linux2.6-i686.tar.gz是一个二进制源码包

在安装之前先把这几个源码包拆解到指定的目录

tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/       /////由于这是个二进制源码包,直接拆解到安装目录下使用即可

tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src/

tar -zxvf nginx-1.0.11.tar.gz-C /usr/local/src/

tar -jxvf php-5.4.13.tar.bz2-C /usr/local/src/

一、安装MySQL

 

 

 

二、安装nginx

首先要安装pcre-devel和libevent来提供nginx需要依赖的模块

--conf-path=<path> - 在没有给定-c选项下默认的nginx.conf的路径。如果没有指定,默认为<prefix>/conf/nginx.conf

--error-log-path=<path> - nginx.conf中没有指定error_log指令的情况下,默认的错误日志的路径。如果没有指定,默认为<prefix>/logs/error.log

--http-log-path=<path> - nginx.conf中没有指定access_log指令的情况下,默认的访问日志的路径。如果没有指定,默认为<prefix>/logs/access.log

--pid-path=<path> - nginx.conf中没有指定pid指令的情况下,默认的nginx.pid的路径。如果没有指定,默认为<prefix>/logs/nginx.pid

--lock-path=<path> - nginx.lock文件的路径。

--user=<user> - nginx.conf中没有指定user指令的情况下,默认的nginx使用的用户。如果没有指定,默认为 nobody

--group=<group> - nginx.conf中没有指定user指令的情况下,默认的nginx使用的组。如果没有指定,默认为 nobody

--with-http_ssl_module   -开启HTTP SSL模块,使NGINX可以支持HTTPS请求。

--with-http_flv_module - 启用 ngx_http_flv_module

--with-http_stub_status_module - 启用 "server status" 

--with-http_gzip_module �C 启用 ngx_http_gzip_module. 如果启用,需要 zlib

--http-client-body-temp-path=PATH -设置http客户端请求体临时文件路径

--http-proxy-temp-path=PATH -设置http代理临时文件路径

--http-fastcgi-temp-path=PATH -设置http fastcgi临时文件路径

--with-pcre=DIR - 指定 PCRE 库的源代码的路径。

可以使用/usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf来启动nginx服务

 

 

 

 

 

三、安装PHP

--prefix=/usr/local/phpphp         安装目录

--enable-fpm           打上php-fpm 补丁后才有这个参数,cgi方式安装的启动程序

--enable-sockets           打开 sockets 支持

--with-MySQL=/usr/local/mysqlmysql           安装目录,对mysql的支持

--with-mysqli=/usr/local/mysql/bin/mysql_configmysqli            文件目录,优化支持

--enable-mbstring       多字节,字符串的支持

--with-png-dir            打开对png图片的支持

--with-jpeg-dir           打开对jpeg图片的支持

--with-zlib-dir              打开zlib库的支持

--with-freetype-dir                 打开对freetype字体库的支持

--with-config-file-path=/usr/local/php/etc                指定php.ini位置

 

 

 

 

测试:

在站点根目录/usr/local/nginx/html下新建一个php页面

nginx与php-fpm能够很好的结合,接着修改刚刚创建的php页面的内容

可以看到php-fpm也能正常调用mysql

最后来设置一下这三个服务能够开机自启动

 

你可能感兴趣的:(LNMP,php-fpm)