Lnmp简介
LNMP是一个基于CentOS/Debian编写的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。[1]
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
特点
Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。
Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。
优点
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。
作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。
Nginx 安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级
一 利用源码安装nginx以及libevent
上传源码 包
编辑本地yum客户端[root@localhost cdrom]# vim /etc/yum.repos.d/rhel-debuginfo.repo
查看与pcre有关的安装包[root@localhost Server]# yum list all |grep pcre
安装
[root@localhost Server]# yum install pcre-devel-6.6-2.el5_1.7.i386.rpm
[root@localhost Server]# yum list all |grep pcre
安装我们的libevent
[root@localhost ~]# tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src/
切换到指定目录
1 执行预安装的检测
[root@localhost libevent-2.0.16-stable]# ./configure
2 [root@localhost libevent-2.0.16-stable]# make生成四种文件:头文件、库文件、可执行文件以及说明文件
3 [root@localhost libevent-2.0.16-stable]# make install 将生成的四种文件放到相应的目录下
但是,libevent安装所形成的库文件放在/usr/local/lib(默认安装路径)不是非标准路径,所以为了让系统能够调用libevent的lib文件
[root@localhost lib]# vim /etc/ld.so.conf
去创建并编辑这样一个文件[root@localhost lib]# vim /etc/ld.so.conf.d/libevent.conf
利用先去调用系统的库文件,然后再查看系统是否已经调用libevent的库文件
root@localhost lib]# ldconfig -v
[root@localhost lib]# ldconfig -pv |grep libeven
##源码安装nginx
1解压缩到指定的目录
[root@localhost ~]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src
2 切换到解压缩后指定的目录
3 查看[root@localhost nginx-1.0.11]# ./configure �Chelp的参数
我将主要比较重要的参数总结到了这
nginx 的安装主要配置
./configure \
--prefix=/usr \ 安装路径
--sbin-path=/usr/sbin/nginx \ 服务程序存放目录且服务名称为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 \ 存放父进程id的文件
--lock-path=/var/lock/nginx.lock \ 锁机制文件
--user=nginx \ 运行nginx的身份是nginx
--group=nginx \ 运行nginx的组的身份是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 支持地址重写
4 先去创建nginx运行的用户以及组但是nginx这个用户是系统账号不能有登录权以及家目录
groupadd -r nginx
useradd -r -g nginx -s /bin/false -M nginx
5 我们先去创建一个这样的目录去存放记录客户机临时访问的记录
[root@localhost nginx-1.0.11]# mkdir -pv /var/tmp/nginx
然而nginx下的目录系统会去创建
6执行./configure
7 make去生成编译四种文件 (头文件、库文件、说明文件以及可执行文件)
[root@localhost nginx-1.0.11]# make
8 make install 将生成的四种文件 放到相应的目录
[root@localhost nginx-1.0.11]# make install
9 启动nginx
[root@localhost ~]# nginx
在任何目录下执行nginx都可启动nginx
关闭nginx的方法是pkll nginx
重新启动nginx的方法是 pkill -1 nginx
10 访问测试nginx的搭建
说明一下,nginx的站点主目录在/usr/html
Nginx的搭建完成
*&*&*&*&*&*&&&&&&&&&&&&&&&&&&&*&**&*&*&*&*&*&*&*&*&*&**&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
我们来安装mysql
二 安装mysql
1 解压缩
-c 是指明解压到哪个文件目录下
2进入相应目录
查看说明文件INSTALL-BINARY
[root@localhost mysql-5.5.15-linux2.6-i686]# less INSTALL-BINARY
3所以按照说明文件我们一步一步做1
1),
1)
2) [root@localhost mysql-5.5.15-linux2.6-i686]# cd /usr/local/
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686 mysql
3) 改目录下的所有文件的权限
4) 初始化mysql (启动mysql)
scripts/mysql_install_db --user=mysql
5) 初始化后重新修改权限
chown -R root .
chown -R mysql data
6) 拷贝配置文件:将配置文件的备份文件拷贝成配置文件
cp support-files/my-medium.cnf /etc/my.cnf
/etc/my.cnf是mysql的配置文件
7) 启动mysql服务
bin/mysqld_safe --user=mysql &
查看mysql服务是否开启 netstat -tupln |less
8) 这样启动mysql 有种麻烦,我们可以利用service机制来实现对mysql服务的控制,但是service并没有mysql的控制脚本,所以需要将mysql的控制启动的脚本交给service机制
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld 这可是实现利用service机制实现对mysql服务的控制
9) 为了实现开机启动,但是chkconfig 其中并没有对mysqld的开机启动机制,所以需要在chkconfig机制中添加对mysqld的开机启动控制
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
这样可是实现利用chkconfig 机制来实现开机启动
10 )系统运用mysql是需要调用mysql的库文件以及头文件,但是在系统标准的调用库文件中没有mysql的库文件和头文件()
系统启动调用头文件的标准路径 /etc/include /etc/local/include
系统启动调用库文件的标准路径 /lib/ /usr/lib /usr/local/lib
而mysqld的头文件在etc/local/mysql/include 库文件在/usr/local/mysql/lib 它们都不在系统的标准路径中
(1) 为让系统能调用mysql的库文件:[root@localhost ~]# vim /etc/ld.so.conf ,表明若要告知系统调用的库文件需要去创建1个ld.so.conf.d/*.conf 这样的文件
则[root@localhost ~]# cd /etc/ld.so.conf.d,去创建一个mysql 的调用库文件,[root@localhost ld.so.conf.d]# vim mysql.conf,在里边添加告诉你mysql 的库文件的绝对路径就行,然后系统会去根据这个绝对路径寻找并调用库文件
保存退出 则 系统每次启动都会去调用mysql的库文件
查看mysql的库文件是否连接到系统
(2) 为让系统调用mysql的头文件,最好的方法是去建立连接,建立连接是在系统标准的路径下建立连接,建立连接目的就是向系统指明要调用的头文件以及头文件的路径
创建连接成功,mysql源码安装完成
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
三、 源码安装php
若只后事如何,请听下回分解