centos6.7、centos6.5下yum方式搭建lnmp环境,php5.4/mysql5.5

由于电脑重装系统,之前虚拟机中的所有系统都打不开了,不得已又得从0开始安装。我下载的是centos6.5的镜像,在虚拟机中安装完以后,执行了一下yum update,系统升成了6.7的,但是对于lnmp环境的安装时没有影响的,6.5和6.7的安装方法是一样的。

一、安装php5.4

1.配置yum源

6.7和6.5中默认是没有php5.4版本的,所以我们需要先配置一下yum源。

执行命令: rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

[[email protected] yum.repos.d]# rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
Retrieving http://mirror.webtatic.com/yum/el6/latest.rpm
warning: /var/tmp/rpm-tmp.qxPwK1: Header V4 DSA/SHA1 Signature, key ID cf4c4ff9: NOKEY
Preparing...                ########################################### [100%]
   1:webtatic-release       ########################################### [100%]

2.安装php5.4

执行完以后查看yum search php54w,可以看到php5.4相关的模块。执行命令安装php5.4

[[email protected] ~]# yum install php54w

安装完后,执行命令可以看到PHP版本信息

[[email protected] ~]# php --version
PHP 5.4.45 (cli) (built: Oct 16 2015 11:24:58)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

3.安装php-fpm

[[email protected] ~]# yum install php-fpm.x86_64
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
f * base: mirrors.btte.net
 * extras: mirrors.btte.net
 * updates: mirror.bit.edu.cn
 * webtatic: sp.repo.webtatic.com
Resolving Dependencies
--> Running transaction check
---> Package php-fpm.x86_64 0:5.3.3-46.el6_7.1 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-46.el6_7.1 for package: php-fpm-5.3.3-46.el6_7.1.x86_64
--> Running transaction check
---> Package php-common.x86_64 0:5.3.3-46.el6_7.1 will be installed
--> Processing Conflict: php54w-common-5.4.45-2.w6.x86_64 conflicts php-common < 5.4.0
--> Finished Dependency Resolution
Error: php54w-common conflicts with php-common-5.3.3-46.el6_7.1.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

可以看到倒数第三行报了一个冲突,导致安装失败,冲突的原因是php-fpm包依赖5.3版本的php-common,但是我们安装php5.4的时候安装了5.4版本的php-common,所以造成php-common-5.3安装不上,解决这个冲突只要安装依赖php-common-5.4版本的php-fpm就OK

[[email protected] ~]# yum search php54w | grep fpm
php54w-fpm.x86_64 : PHP FastCGI Process Manager
[[email protected] ~]# yum install php54w-fpm.x86_64
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.btte.net
 * updates: mirror.bit.edu.cn
 * webtatic: sp.repo.webtatic.com
Resolving Dependencies
--> Running transaction check
---> Package php54w-fpm.x86_64 0:5.4.45-2.w6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================
 Package                             Arch                            Version                                Repository                         Size
====================================================================================================================================================
Installing:
 php54w-fpm                          x86_64                          5.4.45-2.w6                            webtatic                          1.3 M

Transaction Summary
====================================================================================================================================================
Install       1 Package(s)

Total download size: 1.3 M
Installed size: 3.8 M
Is this ok [y/N]: y
Downloading Packages:
php54w-fpm-5.4.45-2.w6.x86_64.rpm                                                                                            | 1.3 MB     00:13
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : php54w-fpm-5.4.45-2.w6.x86_64                                                                                                    1/1
  Verifying  : php54w-fpm-5.4.45-2.w6.x86_64                                                                                                    1/1 

Installed:
  php54w-fpm.x86_64 0:5.4.45-2.w6                                                                                                                   

Complete!

测试php-fpm服务是否正常

[[email protected] ~]# service php-fpm start
Starting php-fpm:                                          [  OK  ]

一切顺利!至此php环境就安装完毕,接下来就安装nginx

二.安装nginx

先看看我们都有哪些版本的Nginx

[[email protected] ~]# yum search nginx
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.btte.net
 * updates: mirror.bit.edu.cn
 * webtatic: uk.repo.webtatic.com
================================================================ N/S Matched: nginx ================================================================
nginx16.x86_64 : A high performance web server and reverse proxy server
nginx18.x86_64 : A high performance web server and reverse proxy server

  Name and summary matches only, use "search all" for everything.

我们选择安装18版本的。

安装的时候发现下载速度奇慢,最后也因为这个安装失败,所以我们现在先替换一下yum源。

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

替换完以后再执行安装。这次下载速度快了很多,安装也很顺利。全部安装完以后,开启nginx服务

[[email protected] yum.repos.d]# service nginx start
Starting nginx:                                            [  OK  ]

关掉防火墙服务

[[email protected] yum.repos.d]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

在浏览器中输入虚拟机的ip,当查看到到下图的时候表示Nginx已经安装成功。

三.修改nginx 配置,使其能够识别php脚本

默认安装完nginx以后,是没办法解析php脚本的,需要修改nginx的配置文件才行。

[[email protected] html]# vim /etc/nginx/nginx.conf

1.添加index.php

2.打开FastCGI部分注释(FastCGI、Nginx、php-fpm、php都有哪些关系?稍后文章会详细介绍这一点)

将/scripts改为$document_root

保存退出,重启nginx服务。

进入/usr/share/nginx/html下写一个php脚本,然后测试看能不能打开

[[email protected] html]# vim index.php
<?php
phpinfo();

保存退出,在浏览器中访问该文件,192.168.71.128/index.php(我的虚拟机IP是71.128),如果看到php信息页就表示已经配置成功。接下来就该配置mysql啦。

四.安装MySQL

安装mysql5.5相关的所有的包

[[email protected] ~]# yum install mysql55*
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.btte.net
 * updates: mirror.bit.edu.cn
 * webtatic: sp.repo.webtatic.com
Resolving Dependencies
--> Running transaction check
---> Package mysql55w.x86_64 0:5.5.49-1.w6 will be installed
---> Package mysql55w-bench.x86_64 0:5.5.49-1.w6 will be installed
--> Processing Dependency: perl(GD) for package: mysql55w-bench-5.5.49-1.w6.x86_64
--> Processing Dependency: perl(DBI) for package: mysql55w-bench-5.5.49-1.w6.x86_64
---> Package mysql55w-devel.x86_64 0:5.5.49-1.w6 will be installed
--> Processing Dependency: openssl-devel for package: mysql55w-devel-5.5.49-1.w6.x86_64
---> Package mysql55w-embedded.x86_64 0:5.5.49-1.w6 will be installed
---> Package mysql55w-embedded-devel.x86_64 0:5.5.49-1.w6 will be installed
---> Package mysql55w-libs.x86_64 0:5.5.49-1.w6 will be installed
--> Processing Dependency: libmysqlclient16 for package: mysql55w-libs-5.5.49-1.w6.x86_64
---> Package mysql55w-server.x86_64 0:5.5.49-1.w6 will be installed
--> Processing Dependency: perl-DBD-MySQL for package: mysql55w-server-5.5.49-1.w6.x86_64
---> Package mysql55w-test.x86_64 0:5.5.49-1.w6 will be installed
--> Processing Dependency: perl(Time::HiRes) for package: mysql55w-test-5.5.49-1.w6.x86_64
--> Running transaction check
---> Package libmysqlclient16.x86_64 0:5.1.69-1.w6 will be installed
---> Package openssl-devel.x86_64 0:1.0.1e-42.el6_7.4 will be installed
--> Processing Dependency: zlib-devel for package: openssl-devel-1.0.1e-42.el6_7.4.x86_64
--> Processing Dependency: krb5-devel for package: openssl-devel-1.0.1e-42.el6_7.4.x86_64
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed
---> Package perl-DBI.x86_64 0:1.609-4.el6 will be installed
---> Package perl-GD.x86_64 0:2.44-3.el6 will be installed
---> Package perl-Time-HiRes.x86_64 4:1.9721-141.el6_7.1 will be installed
--> Running transaction check
---> Package krb5-devel.x86_64 0:1.10.3-42z1.el6_7 will be installed
--> Processing Dependency: libselinux-devel for package: krb5-devel-1.10.3-42z1.el6_7.x86_64
--> Processing Dependency: libcom_err-devel for package: krb5-devel-1.10.3-42z1.el6_7.x86_64
--> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.10.3-42z1.el6_7.x86_64
---> Package zlib-devel.x86_64 0:1.2.3-29.el6 will be installed
--> Running transaction check
---> Package keyutils-libs-devel.x86_64 0:1.4-5.el6 will be installed
---> Package libcom_err-devel.x86_64 0:1.41.12-22.el6 will be installed
---> Package libselinux-devel.x86_64 0:2.0.94-5.8.el6 will be installed
--> Processing Dependency: libsepol-devel >= 2.0.32-1 for package: libselinux-devel-2.0.94-5.8.el6.x86_64
--> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.0.94-5.8.el6.x86_64
--> Running transaction check
---> Package libsepol-devel.x86_64 0:2.0.41-4.el6 will be installed
--> Processing Conflict: mysql55w-libs-5.5.49-1.w6.x86_64 conflicts mysql-libs < 5.5
--> Finished Dependency Resolution
Error: mysql55w-libs conflicts with mysql-libs-5.1.73-5.el6_7.1.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

倒数第三行,又出现一个冲突,现在我们先卸载掉mysql-libs-5.1.73-5.el6_7.1.x86_64

[[email protected] ~]# yum remove mysql-libs-5.1.73-5.el6_7.1.x86_64

卸载成功后,再次执行安装命令

[[email protected] ~]# yum install mysql55*

安装完以后开启mysql服务,查看是否正常

[[email protected] ~]# service mysqld start

启动成功后,我们需要给mysql的root用户分配登录密码

[[email protected] ~]# mysqladmin -u root password 'newpassword'

设置完成后就可以登录mysql控制台了

[[email protected] ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.49 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

登录没问题,至此MySQL也就安装完毕了,接下来要做的就是让php能够连接上MySQL

五、安装php-mysql扩展

1.安装扩展

查看是否有安装php-mysql扩展

[[email protected] ~]# php -i | grep mysql

命令结果返回空,说明没有安装,那么现在我们就需要安装这些扩展。搜索yum源,找到合适的扩展包

[[email protected] ~]# yum search all php-mysql
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.btte.net
 * updates: mirror.bit.edu.cn
 * webtatic: us-east.repo.webtatic.com
================================================================ Matched: php-mysql ================================================================
php-mysql.x86_64 : A module for PHP applications that use MySQL databases
php54w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php55w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php56w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php70w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases

安装php54w-mysqlnd,因为我们php是php5.4版本的

[[email protected] ~]# yum install -y php54w-mysqlnd.x86_64

安装完以后重启php-fpm,再次浏览192.168.71.128/index.php就可以看到mysql扩展啦。

下面就写个简单脚本测试一下php连接mysql的情况。

2.测试扩展

首先登录mysql控制台,在test中创建一张表,并写入几条数据

mysql> create table person(
    -> id int not null primary key auto_increment,
    -> name char(5) not null
    -> )engine=innodb default charset=utf8;
mysql> insert into person (name) values ('zhangsan'),('lisi'),('wangwu');

测试表准备好以后,开始写测试脚本

[[email protected] ~]# cd /usr/share/nginx/html/
[[email protected] html]# vim mysql.php
<?php
try{
        $pdo = new PDO('mysql:host=localhost;dbname=test','root','root');
        $res = $pdo->query('select * from person');
        foreach ($res as $row) {
                echo '<pre>';print_r($row);
        }
} catch (PDOException $e) {
        print "Error:".$e->getMessage()."<br/>";
        die;
}

访问脚本192.168.71.128/mysql.php,如果看到下面内容,说明php-mysql扩展已经没有问题。

六、将lnmp加入开机启动项

经过上面五部的操作,我们的lnmp环境就已经成功搭建完成了,为了后续的使用,我们现在把php-fpm/nginx/mysql都加入到开机启动项中。

[[email protected] html]# chkconfig php-fpm on
[[email protected] html]# chkconfig nginx on
[[email protected] html]# chkconfig mysqld on

注:如果重启机器后发现nginx访问不了了,请检查一下防火墙是不是打开了,因为centos默认防火墙是开机启动的。

至此,lnmp环境就彻底的搭建完成啦,尽情的享受coding吧~

时间: 2024-10-13 10:41:45

centos6.7、centos6.5下yum方式搭建lnmp环境,php5.4/mysql5.5的相关文章

CentOS 6.9 yum方式搭建LNMP环境,并部署Discuz论坛

一.演示环境: IP 安装的程序包 版本 192.168.1.144 nginx(epel源) 1.10.2 php 5.3.3 php-fpm(FastCGI进程管理器) php-mysql(php连接mysql时需要用到的驱动) 192.168.1.145 MySQL-server-5.6.39-1.el6.x86_64.rpm MySQL-client-5.6.39-1.el6.x86_64.rpm MySQL-devel-5.6.39-1.el6.x86_64.rpm MySQL-sha

centos6.5下使用yum完美搭建LNMP环境(php5.6)

准备工作 配置防火墙,开启80端口.3306端口删除原有的 iptables , 添加合适的配置 rm -rf /etc/sysconfig/iptables vi /etc/sysconfig/iptables 添加如下内容 : ################################ 添加好之后防火墙规则如下所示################################ # Firewall configuration written by system-config-fire

centos6.5下使用yum完美搭建LNMP环境(php5.6,mysql5.1,nginx1.10)

准备工作 配置防火墙,开启80端口.3306端口 不用执行这句:rm -rf /etc/sysconfig/iptables 直接进入修改:vi /etc/sysconfig/iptables 添加80.3306端口,如下内容 : ################################ 添加好之后防火墙规则如下所示################################ # Firewall configuration written by system-config-fire

CentOS 7 下 yum 方式安装 Docker 环境

教你如何在 CentOS 7 下 yum 方式安装 Docker 环境. 记录在CentOS 7下使用yum方式安装Docker环境的步骤. 1.移除旧版本: yum remove docker                   docker-client                   docker-client-latest                   docker-common                   docker-latest                  

ubuntu通过apt-get方式搭建lnmp环境以及php扩展安装

一直是在用的lnmp的集成安装包搭建lnmp环境,因为工作需要需要安装ldap扩展,在网上怎么都找不到源码安装包,只能卸载掉原来的lnmp环境,用ubuntu的php5-ldap扩展, 在安装中遇到一些问题,网上的文章坑爹的比较多,写篇文章记录下来. 1.安装mysql sudo apt-get install mysql-server mysql-clien 安装过程中要输入root用户的密码. 我在安装中出错,是原来的mysql-cilent mysql-workbench 未完全卸载,将m

搭建LNMP环境 (centos7+nginx+MySQL5.7.9+PHP7)

搭建阿里云lnmp环境 (centos7+nginx+MySQL5.7.9+PHP7) 阿里云一台服务器出现问题! 我估计是一键安装包环境的原因,所以打算重新搭建下环境! 首先,当然是先做好快照!安全第一! 对系统盘做更换系统操作,装上纯净版的centos. 装好后,进入系统 一.挂载数据盘 df -h 只有系统盘了,挂载上原来的数据盘 fdisk -l 看到数据盘了/dev/vdb1 挂载上这个数据盘, mkdir /data0 mount /dev/vdb1 /data0 然后写入分区: e

centos6.5下使用yum搭建LNMP环境(php5.6)

准备工作配置防火墙,开启80端口.3306端口删除原有的 iptables , 添加合适的配置 rm -rf /etc/sysconfig/iptablesvi /etc/sysconfig/iptables添加如下内容 : ################################ 添加好之后防火墙规则如下所示################################# Firewall configuration written by system-config-firewall

yum 快速搭建lnmp环境

1.关闭防火墙 [[email protected] ~]# chkconfig iptables off 2.关闭selinux vi /etc/sysconfig/selinux //将SELINUX=enforcing修改为disabled然后重启生效 3.配置CentOS 6.0 第三方yum源(CentOS默认的标准源里没有nginx软件包) //下载wget工具 [[email protected] ~]# yum install wget //下载atomic yum源 [[ema

Centos7 搭建lnmp环境 (centos7+nginx+MySQL5.7.9+PHP7)

阿里云一台服务器出现问题! 我估计是一键安装包环境的原因,所以打算重新搭建下环境! 首先,当然是先做好快照!安全第一! 对系统盘做更换系统操作,装上纯净版的centos. 装好后,进入系统 一.挂载数据盘 df -h 只有系统盘了,挂载上原来的数据盘 fdisk -l 看到数据盘了/dev/vdb1 挂载上这个数据盘, mkdir /data0 mount /dev/vdb1 /data0 然后写入分区: echo '/dev/vdb1 /data0 ext4 defaults 0 0' >>