LNMP环境搭建

42 篇文章 0 订阅
41 篇文章 0 订阅

LNMP(linux+nginx+mysql+php)是常用的网站架构组合,对于网站开发以及运维人员来说,这一套环境的配置都必须要掌握,本文是站在一个运维人员的角度通过源码编译的方式来搭建这样一套环境,所针对平台为rhel6.5,软件版本分别为mysql-boost-5.7.11、php-5.6.31、nginx-1.12.1,其他平台和软件版本在配置过程可能会有细节差异,请自寻差异。

1. Nginx源码编译安装

请参考我之前的博客 Nginx安装配置

2. mysql源码编译安装

请直接参考我的上一篇博客 mysql编译安装(rhel6.5.x86_64)以及配置 ,有问题可以留言讨论。

2. php的源码编译安装

在安装php之前我们需要对php-fpm有所了解:

PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到.

PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

新版PHP已经集成php-fpm了,不再是第三方的包了,推荐使用。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM
本文所编译的PHP版本中已经包含了PHP-FPM,所以就直接在配置参数中指定了

php源码包下载http://br2.php.net/get/php-5.6.31.tar.gz/from/this/mirror

然后依次执行:

[root@rhel6-vm ~]# tar -zxvf php-5.6.31.tar.gz
[root@rhel6-vm ~]# cd php-5.6.31
[root@rhel6-vm ~]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config  --enable-fpm
[root@rhel6-vm ~]# make
[root@rhel6-vm ~]# make install

configure成功截图
这里写图片描述

make成功截图
这里写图片描述

make install成功截图
这里写图片描述

本人安装过程中遇到的问题:

1.configure: error: xml2-config not found. Please check your libxml2 installation.

解决方法:yum install libxml2-devel -y

2.configure: error: mcrypt.h not found. Please reinstall libmcrypt

其实也就是缺少依赖模块,但是这个模块一般的路子不好安装,需要下载源码进行编译安装

解决方法步骤:

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz

tar -zxvf libmcrypt-2.5.7.tar.gz 
cd libmcrypt-2.5.7/
./configure --prefix=/usr/local/libmcrypt 
make && make install

关于php-fpm还需要稍微配置一下,其实也就是拷贝个配置文件而已:

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

分离的LNMP环境至此就完成安装了,接下来就是进行整合了

1. Nginx支持PHP配置

vim /usr/local/nginx/conf/nginx.conf
找到如下配置条目,做对应修改

location ~ \.php$ {##重要的配置
                root           html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
                #设置php脚本解析路径
                include        fastcgi_params;
         }

如果想要设置index.php为默认页,可以在server配置项中修改如下内容:

location / {
             root   /html;
             index index.php  index.html index.htm;#添加php默认页
         }

添加测试页面:

[root@rhel6-vm etc]# cat /usr/local/nginx/html/index.php 
<h1 style="text-align:center;color:olive"> This is a test page for nginx-php !</h1>
<?php
echo phpInfo();
?>

启动或者重启相关服务使配置生效并进行测试:

/usr/local/php/sbin/php-fpm
nginx -s reload

这里写图片描述

2. PHP操作mysql

测试数据库连接并创建数据库:

<h1 style="text-align:center;font-size:1.5em;color:olive"> Test for MySQL database!</h1>
<?php
$servername = "localhost";
$username = "root";
$password = "halo";

// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 创建数据库
$sql = "CREATE DATABASE lockeyDB";
if ($conn->query($sql) === TRUE) {
    echo "数据库创建成功";
    $sql1 = "SHOW DATABASES;";
    $result = $conn->query($sql1);

if ($result) {
    // 输出数据
    var_dump($result);
} else {
 echo "0 结果";
}
} else {
    echo "Error creating database: " . $conn->error;
}

$conn->close();
?>

这里写图片描述

基本的环境搭建到这就ok了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值