源码编译安装 LNMP 环境虽然便于自定义,但是对于小型服务器来说,漫长的编译时间让人无法等待。如果能在 10 分钟后内搞定环境安装,再好不多了。
那么如何在 10 分钟内快速安装完 LNMP 环境呢,答案是 使用 YUM 安装。
什么 YUM ?
yum is a software package manager that installs, updates, and removes packages on RPM-based systems. It automatically computes dependencies and figures out what things should occur to install packages. yum makes it easier to maintain groups of machines without having to manually update each one using rpm.
Features include:
- Support for multiple repositories
- Simple configuration
- Dependency calculation
- Fast operation
- RPM-consistent behavior
- Package group support, including multiple-repository groups
- Simple interface
其中有两条解释很明显,Simple configuration —— 简单配置,Fast operation —— 快速操作。
配置安装
基于 YUM 的这种特性,那么就可以简单粗暴的安装 LNMP 环境了。
配置 YUM 源
CentOS 7 的 默认 YUM 源里的软件包版本可能不是最新的,如果要安装最新的软件包就得配置下 YUM 源。
配置 YUM 源可以通过直接安装 RPM (Red Hat Package Manager) 包,或者修改 Repository,本文讲解通过安装 RPM 方式。
首先需要安装 EPEL ( Extra Packages for Enterprise Linux ) YUM 源,用以解决部分依赖包不存在的问题:
接着是 MySQL YUM 源,MySQL 官网给出了配置教程,因为本文章讲解的是 CentOS 7,我们只需要安装对应的 RPM 包就行了。
安装 RPM 包前需要导入 RPM-GPG-KEY 文件,不然安装过程会出错。
将 MySQL RPM-GPG-KEY 另存为 mysql_pubkey.asc
并导入 :
导入后安装 CentOS 7 的 MySQL RPM 包:
然后是 PHP YUM 源,PHP 最新的 RPM 包,可以使用 Remi's RPM repository。
安装 PHP RPM (remi) 包:
最后是 Nginx YUM 源,Nginx 官网也给出了配置教程。
安装 Nginx RPM 包:
到目前为止,YUM 源已经安装好了 ,接着进行下一步的配置。
MySQL YUM 源默认是启用的 MySQL-5.6,PHP YUM 源默认都没有启用,Nginx YUM 源默认是启用的 Nginx-1.8。
定位到 /etc/yum.repos.d/
,对 后缀为 .repo
的文件进行编辑,修改 enabled
为 1
以启用。
启用 PHP-7.0 :
1、修改 /etc/yum.repos.d/remi.repo,将 [remi] 和 [remi-test] 下面的 enabled=0 改为 enabled=1;
2、修改 /etc/yum.repos.d/remi-php70.repo,将 [remi-php70] 下面的 enabled=0 改为 enabled=1;
到这一步 YUM 配置就算完成了,清除并生成 YUM 缓存使之生效:
安装 MySQL + PHP + Nginx + phpMyAdmin
YUM 源已经配置好了,现在直接安装 MySQL + PHP + Nginx + phpMyAdmin:
注:上面安装的 php-*
可以根据实际使用情况选择安装
安装完成后,进行下一步的环境配置,MySQL 配置文件在 /etc/my.cnf.d/
,PHP 配置文件在 /etc/php-fpm.d/
,Nginx 配置文件在 /etc/nginx/
,phpMyAdmin 的配置文件在 /etc/phpMyAdmin/
。
配置 MySQL
MySQL 配置文件保持默认,运行一次安全配置即可。
启动 MySQL:
安全配置 MySQL:
设置 root 密码、删除匿名用户、禁止 root 远程登录、删除 test 数据库、重新加载权限表,一路 Y
下去
配置 PHP
PHP 默认配置文件使用的是监听 9000 端口进行通信,针对小型单一、没有做负债均衡的服务器,可以使用 unix sock 方式通信。
使用 unix sock 方式需要修改 PHP 配置文件:
启动 PHP-FPM:
配置 Nginx
让服务器默认访问显示为 400 提示页。
将以下信息输入到 nginx-default.conf
按下 Esc
,输入 :x
保存并退出。
防火墙放行 HTTP 端口访问:
启动 Nginx:
这时,在浏览器地址栏输入当前服务器 IP 就会看到一个 400 的提示页面了。
进阶!绑定域名+站点目录+保存日志+运行 PHP的配置文件:
配置 phpMyAdmin
修改以下内容:
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['UploadDir'] = '/tmp';
$cfg['SaveDir'] = '/tmp';
如果Nginx使用的是上面的进阶代码,那么把 phpMyAdmin
的目录 复制到 /home/wwwroot/default/phpMyAdmin/
下面,就可通过 http://default.com/phpMyAdmin
访问了:
一键脚本
上面已经讲解了如何配置和安装,但是不能每次都这么一步一步来吧?为了节省时间,麦葱写了一个一键安装管理脚本,可选择安装 Nginx 1.8/1.9
、 MySQL 5.5/5.6/5.7
和 PHP 5.5/5.6/7.0
。
安装
管理站点
start
启动stop
停止list
列出add
添加edit
编辑del
删除exit
什么都不做- <domain>: 配置名称,例如:
domain
- <server_name>: 域名列表,例如:
domain.com,www.domain.com
- <index_name>: 首页文件,例如:
index.html,index.htm,index.php
- <rewrite_file>: 伪静态规则文件,保存在
/etc/nginx/rewrite/
例如:nomal.conf
- <host_subdirectory>: 是否支持子目录绑定,
on
或者off
示例:
备份数据
start
添加list
列出del
删除
示例: