现状:
yum epel源自带PHP MysqL Nginx版本较低不能满足测试和生产环境中程序性能及安全需求
LNMP-->Web环境快速部署
需求:
yum源带的PHP版本也是5.4,当我们需要使用5.6或者7.0版本的PHP时,就只能编译安装了. 但有时候我们不想处理一些依赖问题,希望能够通过yum,快速部署,这个时候就需要引入第三方yum源
WEBTATIC国外第三方EPELhttps://webtatic.com/packages/
PHP第三方EPEL源
CentOS 6.x 源
rpm-Uvhhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm-Uvhhttps://mirror.webtatic.com/yum/el6/latest.rpm
CentOS 7.x 源
rpm-Uvhhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm-Uvhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm
可以通过命令查看该源对应的安装包
yumlist--enablerepo=webtatic|grepPHP
部署LNMP环境步骤----->安装MysqL---->安装PHP--->Nginx
以安装PHP7.1版本示例
yuminstallPHP71wPHP71w-fpmPHP71w-commonPHP71w-gdPHP71w-mbstringPHP71w-mcryptPHP71w-MysqLndPHP71w-pdoPHP71w-bcmath-y
安装PHP5.6版本示例:
yuminstallPHP56wPHP56w-fpmPHP56w-MysqLPHP56w-mcryptPHP56w-bcmathPHP56w-gdPHP56w-mbstringPHP56w-pdo-y
# 基础
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源 yumupdate #添加MysqL5.6yum源 #Centos6 rpm-Uvhhttp://dev.MysqL.com/get/MysqL-community-release-el6-5.noarch.rpm #Centos7 rpm-Uvhhttp://dev.MysqL.com/get/MysqL-community-release-el7-5.noarch.rpm yuminstallMysqL-server
安装完成,启动MysqL服务
#启动 serviceMysqLdstart #重启 serviceMysqLdrestart #关闭 serviceMysqLdstop
如果出现启动失败,首先检查端口号是否被暂用,其次检查权限问题,另外还需要检查MysqL进程
设置 MysqL 密码
MysqLadmin-urootpassword123456 允许远程访问 MysqL-uroot MysqL>useMysqL; #允许外部连接数据库 MysqL>updateusersethost='%'wherehost='127.0.0.1'; #查看修改结果 MysqL>selecthost,user,passwordfromuser; #刷新权限表(此操作一定要执行,否则需要重启MysqL) MysqL>flushprivileges; 记住,通过客户端连接成功后,一定要设置密码,如果开启了防火墙,需要放开数据库对外端口,一般为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