源码搭建lnmp(上)

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

clip_image002

上传源码 包

clip_image004

编辑本地yum客户端[root@localhost cdrom]# vim /etc/yum.repos.d/rhel-debuginfo.repo

clip_image006

查看与pcre有关的安装包[root@localhost Server]# yum list all |grep pcre

clip_image008

安装

[root@localhost Server]# yum install pcre-devel-6.6-2.el5_1.7.i386.rpm

[root@localhost Server]# yum list all |grep pcre

clip_image010

安装我们的libevent

[root@localhost ~]# tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src/

clip_image012

切换到指定目录

clip_image014

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

clip_image016

去创建并编辑这样一个文件[root@localhost lib]# vim /etc/ld.so.conf.d/libevent.conf

clip_image018

利用先去调用系统的库文件,然后再查看系统是否已经调用libevent的库文件

root@localhost lib]# ldconfig -v

[root@localhost lib]# ldconfig -pv |grep libeven

clip_image020

##源码安装nginx

1解压缩到指定的目录

[root@localhost ~]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src

2 切换到解压缩后指定的目录

clip_image022

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

clip_image024

5 我们先去创建一个这样的目录去存放记录客户机临时访问的记录

[root@localhost nginx-1.0.11]# mkdir -pv /var/tmp/nginx

然而nginx下的目录系统会去创建

6执行./configure

clip_image026

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的搭建

clip_image028

说明一下,nginx的站点主目录在/usr/html

Nginx的搭建完成

*&*&*&*&*&*&&&&&&&&&&&&&&&&&&&*&**&*&*&*&*&*&*&*&*&*&**&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

我们来安装mysql

二 安装mysql

1 解压缩

clip_image030

-c 是指明解压到哪个文件目录下

clip_image032

2进入相应目录

clip_image034

查看说明文件INSTALL-BINARY

[root@localhost mysql-5.5.15-linux2.6-i686]# less INSTALL-BINARY

clip_image036

3所以按照说明文件我们一步一步做1

1),

1) clip_image038

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) 改目录下的所有文件的权限

clip_image040

4) 初始化mysql (启动mysql)

scripts/mysql_install_db --user=mysql

clip_image042

5) 初始化后重新修改权限

chown -R root .

chown -R mysql data

clip_image044

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

clip_image046

8) 这样启动mysql 有种麻烦,我们可以利用service机制来实现对mysql服务的控制,但是service并没有mysql的控制脚本,所以需要将mysql的控制启动的脚本交给service机制

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld 这可是实现利用service机制实现对mysql服务的控制

clip_image048

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 的库文件的绝对路径就行,然后系统会去根据这个绝对路径寻找并调用库文件

clip_image050

保存退出 则 系统每次启动都会去调用mysql的库文件

查看mysql的库文件是否连接到系统

clip_image052

(2) 为让系统调用mysql的头文件,最好的方法是去建立连接,建立连接是在系统标准的路径下建立连接,建立连接目的就是向系统指明要调用的头文件以及头文件的路径

clip_image054

clip_image056

创建连接成功,mysql源码安装完成

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

三、 源码安装php

若只后事如何,请听下回分解

你可能感兴趣的:(linux,ubuntu,fedora,的,是)