首页 > 代码库 > YUM部署高版本LNMP环境

YUM部署高版本LNMP环境

现状:

yum epel源自带php mysql nginx版本较低不能满足测试和生产环境中程序性能及安全需求


LNMP-->Web环境快速部署

需求:

yum源带的php版本也是5.4, 当我们需要使用5.6或者7.0版本的PHP时, 就只能编译安装了. 但有时候我们不想处理一些依赖问题, 希望能够通过yum, 快速部署, 这个时候就需要引入第三方yum源

WEBTATIC国外第三方EPEL

https://webtatic.com/packages/


PHP第三方EPEL源

CentOS 6.x 源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

CentOS 7.x 源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

可以通过命令查看该源对应的安装包

yum list --enablerepo=webtatic|grep php

部署LNMP环境步骤----->安装Mysql---->安装PHP--->NGINX

以安装php7.1版本示例

yum install php71w php71w-fpm php71w-common php71w-gd php71w-mbstring php71w-mcrypt  php71w-mysqlnd php71w-pdo php71w-bcmath -y

安装php5.6版本示例:

yum install php56w php56w-fpm php56w-mysql php56w-mcrypt php56w-bcmath php56w-gd php56w-mbstring php56w-pdo -y

简单介绍下各个PHP组件功能

# 基础
 php71w
# nginx连接使用
   php71w-fpm
# 宽字节
   php71w-mbstring
# 连接mysql相关
  php71w-mysqlnd
# redis扩展
   php71w-pecl-redis
# 加密使用
   php71w-mcrypt
# 性能加速 php5.5 以上使用
    php71w-opcache
安装这些基本的可以满足大量需求, 至于有些扩展, 会在安装这些库的时候附加进去


Mysql官方yum EPEL

介绍CentOS 6.x Platform自带的版本都是5.1, 当然MySQL网站上自然有提供相应的yum方法, 可能大多人并没在意.

CentOS 7.x 系列都自带MariaDB

官方介绍链接:https://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/linux-installation-yum-repo.html

# 更新 yum 源
    yum update 
# 添加 mysql5.6 yum 源
   # Centos6
    rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  # Centos7
    rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    yum install mysql-server

安装完成, 启动Mysql服务

# 启动
service mysqld start
# 重启
service mysqld restart
# 关闭
service mysqld stop

如果出现启动失败, 首先检查端口号是否被暂用, 其次检查权限问题, 另外还需要检查mysql进程

设置 mysql 密码

mysqladmin -uroot password 123456
允许远程访问
mysql -u root
mysql> use mysql;
# 允许外部连接数据库
mysql> update user set host = ‘%‘ where host= ‘127.0.0.1‘;
# 查看修改结果
mysql> select host, user, password from user;
# 刷新权限表(此操作一定要执行, 否则需要重启mysql)
mysql> flush privileges;
记住, 通过客户端连接成功后, 一定要设置密码, 如果开启了防火墙, 需要放开数据库对外端口, 一般为3306

重置root用户密码(此操作分两种情况)
1、记得 root 用户密码
      # 其中 123456 为原密码, 不能与-p分开, abcdefg 为新密码
      mysqladmin -u root -p123456 password abcdef

2、忘记 root 用户密码
     # 如果 MySQL 正在运行, 先关闭
        killall -TERM mysqld
     # 启动 MySQL
         mysqld_safe --skip-grant-tables &
     # 此时就是免密进入 MySQL
        > use mysql
        > update user set password=password("new_pass") where user="root";
        > flush privileges
        # 退出, 启动 MySQL


Nginx部署

官网提供不同OS Platform Version Download

http://nginx.org/en/linux_packages.html#stable














本文出自 “boyhack” 博客,请务必保留此出处http://461205160.blog.51cto.com/274918/1943538

YUM部署高版本LNMP环境