lnmp环境的搭建(源码)

LNMP环境由Linux+Nginx+Mysql+Php构成,作为一种成熟的网站架构,具有着方便,运行稳定的特点。


Linux:开源的操作系统,安全且高效。

Nginx:高性能的HTTP和反向代理服务器,不仅性能稳定且功能丰富,运维简单,处理静态文件速度快,消耗资源小。

Mysql:小型数据库,灵活性高,利于管理。

Php:动态编程语言,适用于web网页开发。


LNMP的搭建:


1.Nginx的安装:

a.上传所需要的软件包

173417968.png

想要安装nginx,需要先安装libevent

拆解软件包 tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src/
[root@localhost nginx]# cd /usr/local/src/libevent-2.0.16-stable/
[root@localhost libevent-2.0.16-stable]# ./configure --prefix=/usr/local/libevent 指明安装路径

make && make install 编译安装

173704802.png

处理libevent的库文件
[root@localhost libevent]# vim /etc/ld.so.conf.d/libevent.conf 指明库文件位置

编辑文档里面填上 /usr/local/libevent/lib 即可

173858119.png

处理头文件
[root@localhost libevent]# ln -s /usr/local/libevent/include/ /usr/include/libevent 做 符号链接

b.安装pcre

174115307.png

两者安装上即可[root@localhost Server]# rpm -ivh pcre-devel-6.6-2.el5_1.7.i386.rpm

c.安装nginx
groupadd -r nginx 建组
useradd -r -g nginx -s /bin/nologin -M nginx 用户
拆包 [root@localhost nginx]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src/
[root@localhost nginx-1.0.11] ./configure \ ( 默认安装在/usr/local/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


make && make install //编译安装

185121927.png

d.控制脚本编写

[root@localhost nginx]# cd /etc/init.d/ linux中控制脚本所在目录

vim nginx

#!/bin/bash
prog=/usr/local/nginx/sbin/nginx
pidfile=/var/run/nginx/nginx.pid
lockfile=/var/lock/nginx.lock
start(){
[ -f $lockfile ] && echo "nginx is started" && exit
echo -n "nginx is starting......."
sleep 1
$prog && touch $lockfile && echo "ok" ||echo "file"
}
stop (){
[ ! -f $lockfile ] && echo "nginx is stoped" && exit
echo -n "nginx is stoping......"
sleep 1
$prog -s stop && rm -rf $lockfile && echo "ok" ||echo "file"
}
status(){
[ -f $pidfile ] && echo "the nginx server is runing...pid is `cat $pidfile`" ||echo "the nginx server is stoped"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "USAGE: start|stop|status|restart"
;;
esac

2.mysql的安装

tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local 拆解软件包

ln -s mysql-5.5.15-linux2.6-i686 mysql 做个链接 较 方便

185504740.png

查看mysql的安装文件

185616559.png

a.安装方法

185906626.png


[root@localhost mysql]# groupadd -r mysql //建立用户组
[root@localhost mysql]# useradd -r -g mysql mysql -s /sbin/nologin // 增加用户
[root@localhost mysql]# chown -R mysql:mysql . // 改变所属
[root@localhost mysql]# scripts/mysql_install_db --user=mysql //初始化mysql
[root@localhost mysql]# chown -R root .

[root@localhost mysql]# chown -R mysql data

190130456.png

[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf // 配置文件

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld //可执行文件

[root@localhost mysql]# service mysqld start //启动mysql


b.设置bin文件

[root@localhost mysql]# vim /etc/profile

190348459.png

[root@localhost mysql]# . /etc/profile // 刷新环境变量

190454465.png


c.设置lib文件
[root@localhost mysql]# vim /etc/ld.so.conf.d/mysql.conf
加入/usr/local/mysql/lib 即可
[root@localhost mysql]# ldconfig //刷新

[root@localhost mysql]# ldconfig -pv |grep mysql //查询

190631977.png

d.设置 include文件

[root@localhost mysql]# ln -s /usr/local/mysql/include/ /usr/include/mysql 符号链接


3.php的安装

1. tar -zxvf php-5.4.13.tar.bz2 -C /usr/local/src/ 拆解软件包

2.安装选项

./configure \

--prefix=/usr/local/php \ //安装路径
--enable-fpm \
--enable-sockets \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--enable-xml \
--with-png-dir \
--with-png \
--with-jpeg-dir \
--with-zlib \
--with-freetype-dir \
--with-config-file-path=/etc/php \

--with-config-file-scan-dir=/etc/php5.d


3.编译安装

make && make install

4.bin文件的处理

191313735.png

[root@localhost php-5.4.13]# mkdir /etc/php /etc/php5.d
5..php.ini 文件
进入源码目录
cp php.ini-production /etc/php/php.ini
[root@localhost php-5.4.13]# cp php.ini-production /etc/php/php.ini

6. php-fpm的控制脚本

[root@localhost php-5.4.13]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-5.4.13]# chmod a+x /etc/init.d/php-fpm // 改变权限
7.产生php-fpm的配置文件
[root@localhost php-5.4.13]# cd /usr/local/php/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
8.启动php-fpm,并设置为开机启动
[root@localhost etc]# service php-fpm start
Starting php-fpm done
[root@localhost etc]# netstat -tulnp |grep fpm //查看端口
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 28270/php-fpm.conf)
[root@localhost etc]# chkconfig --add php-fpm //开机启动
[root@localhost etc]# chkconfig --list |grep php-fpm //查看开机启动


4.nginx+php 的结合

编辑配置文档

[root@localhost etc]# vim /etc/nginx/nginx.conf


192217467.png

192219178.png

5.测试

192338463.png

至此lnmp的环境已经搭建完成,由于php的速度较慢,我们可以对其加速。

6.php的加速(采用xcache)
xcache的使用
1.拆解压缩包
tar -zxvf xcache-2.0.1.tar.gz -C /usr/local/src/
2.[root@localhost ~]# cd /usr/local/src/xcache-2.0.1/
[root@localhost xcache-2.0.1]# phpize (位于/usr/local/php/bin/phpize)(和php的lib文件有关)
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525

3 安装选项

./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

4.编译安装

make && make instal
5.编辑php,整合php和xcache
cp xcache.ini /etc/php5.d //拷贝文件

编辑 xache.ini 文件 指明安装的详细路径

192921868.png

6.xcache的管理
[root@localhost xcache-2.0.1]# cp -r admin/ /usr/local/nginx/html/ //拷贝admin目录到nginx的站点目录
[root@localhost xcache-2.0.1]# cd /usr/local/nginx/html/
[root@localhost html]# chmod a+rx admin/ //改变执行权限
[root@localhost html]# cd admin/
[root@localhost admin]# chmod o+r index.php //改变目录和文件的权限
[root@localhost admin]# cd /etc/php5.d/

[root@localhost php5.d]# vim xcache.ini 配置xcache.ini文件 输入帐号信息

密码采用md5的加密方法

193156222.png

7.测试php的加速

193318191.png


通过该界面可以很好的对php进行管理和加速



你可能感兴趣的:(nginx,PHP,mysql,linux,LNMP,xcache)