现状:
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
简单介绍下各个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源 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