现状:
yum epel源自带php mysql nginx版本较低不能满足测试和生产环境中程序性能及安全需求
LNMP-->Web环境快速部署
需求:
yum源带的php版本也是5.4, 当我们需要使用5.6或者7.0版本的PHP时, 就只能编译安装了. 但有时候我们不想处理一些依赖问题, 希望能够通过yum, 快速部署, 这个时候就需要引入第三方yum源
WEBTATIC国外第三方EPEL
PHP第三方EPEL源
CentOS 6.x 源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpmrpm -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.rpmrpm -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官方介绍链接:
# 更新 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 rootmysql> 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